¿Cómo encadenar GRUB2 para Ubuntu 10.04 desde Truecrypt y su gestor de arranque (arranque múltiple junto con la partición de Windows XP)?

9

Quiero que Truecrypt solicite una contraseña para Windows XP como de costumbre, pero con la opción estándar [ESC], al seleccionar eso, es decir, a través de la tecla Escape, quiero que encuentre el grub para la instalación de Ubuntu (sin cifrar).

Instalé Windows XP en el disco duro de 120 Gb de un netbook Toshiba NB100 y luego particioné para dejar espacio para Ubuntu 10.04 y lo instalé después de la instalación de Windows XP.

Cuando cifre Windows XP, Truecrypt sobrescribirá la entrada grub en el registro de arranque maestro (MBR), creo (?) Y ya no podré elegir entre XP y Ubuntu. Entonces necesito restaurarlo de nuevo.

He buscado bastante extensamente las respuestas en los foros de Ubuntu y en otros lugares, pero aún no he encontrado una respuesta completa que cubra todas las eventualidades, escenarios y mensajes de error, o de lo contrario hablan de GRUB heredado y no GRUB2. Ubuntu 10.04 usa GRUB2.

Mi configuración:

Particiones:

  1. Windows XP, NTFS (para cifrar con Truecrypt), 40 Gb
  2. / boot (Ext4, 1Gb)
  3. Ubuntu swap, 4Gb
  4. Ubuntu / (root) - sistema de archivos principal (20 gb)
  5. NTFS share, 55Gb

Sé que el cargador de arranque Truecrypt reemplaza al GRUB cuando arranca porque ya lo he probado en otra computadora portátil.

Quiero que la pantalla del cargador de arranque se parezca a la habitual:

Truecrypt

Introducir la contraseña:

(o [ESC] para omitir)

la contraseña es para Windows XP y al presionar [ESC] para encontrar el grub de Ubuntu para arrancar

Gracias de antemano por tu ayuda.

El área clave del problema es cómo instruir a Truecrypt cuando se presiona la tecla de escape, y cómo Grub / Ubuntu puede hacerse visible para el cargador de arranque de truecrypt para encontrarlo, cuando se presiona la tecla esc. También sabiendo como encadenamiento.

therobyouknow
fuente

Respuestas:

6

Esto es muy facil. Particione su disco, instale Windows y Ubuntu. Use TrueCrypt en la partición de Windows, que cifrará Windows pero dejará Ubuntu sin cifrar.

Entonces descubrirá que probablemente solo pueda iniciar Windows, y luego a través del cargador de arranque TrueCrypt. Parece que ya estás allí.

Digamos que su disco es sda, con Windows encendido sda1y Linux encendido sda2(esto es hipotético, el suyo parece que no lo será sda2). TrueCrypt se instalará en el MBR sday sobrescribirá GRUB.

Use el CD de distribución de Ubuntu para arrancar un CD en vivo, luego realice un arranque en su sistema preinstalado. Al igual que:

sudo su -
mkdir -p /mnt/ubuntu
mount /dev/sda2 /mnt/ubuntu
mount --bind /proc /mnt/ubuntu/proc
mount --bind /dev /mnt/ubuntu/dev
chroot /mnt/ubuntu

Luego instale el gestor de arranque GRUB, pero en sda2lugar de hacerlo sda.

grub-install /dev/sda2 --force

Luego, cuando reinicie, aún obtendrá el cargador TrueCrypt que le pedirá una contraseña para iniciar desde sda-> sda1en Windows. Pero cuando presiona ESCAPE obtendrá la opción de omitir y arrancar directamente en Linux, pero desde sda2MBR en lugar de hacerlo.

Pero espera

Antes de hacer esto, una advertencia: si se grub-installequivoca y sobrescribe el sdaMBR, o si realiza una actualización del kernel que hace que GRUB sobrescriba el MBR, encontrará que necesita reinstalar el cargador de arranque TrueCrypt para volver en Windows Esta es una molestia enorme si no estás preparado.

Sugeriría que antes de jugar con GRUB, haga una copia de seguridad del material del cargador de arranque TrueCrypt desde Linux. De esa manera, cuando rompa TrueCrypt y solo pueda ingresar a Linux, puede volver a escribirlo fácilmente.

Haga una copia de seguridad de su cargador de arranque TrueCrypt:

dd if=/dev/sda of=~/truecrypt.mbr count=1 bs=512
dd if=/dev/sda of=~/truecrypt.backup count=8 bs=32256 # Just in case

Restaure su cargador de arranque TrueCrypt (lo llamo restore-truecrypt.sh):

sudo dd if=~/truecrypt.mbr of=/dev/sda count=1 bs=512
sudo dd if=~/truecrypt.backup of=/dev/sda count=8 bs=32256
sudo grub-install /dev/sda2 --force

Tengo estos dos conjuntos de comandos en pequeños scripts de shell, que tengo a mano. Cuando accidentalmente elimino mi gestor de arranque (sucede) no quiero buscar en Google los comandos o leer man.

Ah, y una palabra sobre compatibilidad. Cuando escribí "GRUB", me refería a GRUB 1 o 2. Personalmente, lo hago con GRUB 2 en 10.04 y Windows 7 ... pero funcionó bien con versiones anteriores de GRUB, Windows y Linux.

Aidan Fitzpatrick
fuente
Muchas gracias @fitzpatrick por esta respuesta. Lo comprobaré cuando tenga más tiempo. Me dejé llevar por mi mismo mientras intentaba que funcionara, así que sin duda tu dirección precisa :) Te dejaré saber, aquí, cuáles son mis hallazgos.
therobyouknow
¿Qué es exactamente "dd if = / dev / sda of = ~ / truecrypt.backup count = 8 bs = 32256" copia de seguridad? TC encabezados? ¡Gracias!
stefan.at.wpf
Además, ¿es sda2 la partición / boot?
stefan.at.wpf
ok sda2 es la raíz parittion, maldición, la mía está encriptada ...
stefan.at.wpf
El ddcomando está copiando los primeros 32Kb del disco: básicamente el sector de arranque completo. En el ejemplo que di arriba, no hay una partición de arranque separada, la instalación de nix está en una sola partición. En los primeros días de RedHat solía trabajar con particiones separadas en escritorios Linux. ¡Hoy en día con discos grandes, creo que puede guardar ese rigmarole para sus servidores en la mayoría de los casos!
Aidan Fitzpatrick
2

La respuesta que voy a aceptar para esta pregunta es la mía. Y esa respuesta es aceptar que no puedo * hacer esto y aceptaré una de las alternativas:

  1. Use una aplicación de virtualización / VMware que se ejecute en Windows XP (la partición de unidad del sistema encriptada) host Ubuntu, como VirtualBox, VMWare o Parallels. Por lo tanto, tendría que arrancar en Windows, luego ejecutar esta aplicación y arrancar en Ubuntu desde dentro. Algunos comentaristas enumeran una de las desventajas de este enfoque, ya que tiene que arrancar dos veces (primero XP, luego Ubuntu) para llegar a Ubuntu. Sin embargo, diría que en realidad tiene una ventaja sobre las botas dobles ordinarias lanzadas por BIOS, ya que en realidad tiene ambos sistemas operativos ejecutándose al mismo tiempo. Genial si desea, por ejemplo, probar aplicaciones o páginas web rápidamente en múltiples plataformas.

  2. Use un disco duro secundario o una tarjeta SD (por ejemplo, 8 gb, 16 Gb) para Ubuntu y seleccione desde el arranque BIOS (una vez) para arrancar Ubuntu desde allí.

* No se puede = realmente significa que he pasado suficiente tiempo (alrededor de 6 horas en 3 días, irme despejó mi mente, buscar foros que volvieron actualizados) sobre esto y no estoy preparado para gastar más. Así que no puedo ser acusado de ser flojo y confiar en los demás. No se puede = también significa: no se puede en este momento . Puedo volver a visitar esto de nuevo.

Aquí hay algunas referencias que otros pueden encontrar útiles:

Todo lo anterior ofrece una idea, pero no una respuesta completa definitiva que cubra todas las versiones eventuales o grub.

He publicado esta misma pregunta aquí en superusuario, en foros de ubuntu y foros de truecrypt:

Mi justificación para hacer esto es que los lectores de estos foros no necesariamente leerán otros foros, habrá una superposición pero se pueden perder algunos consejos vitales.

Pensamientos de fondo y aprendizajes (si está interesado)

De hecho, me complace decir que lo llamé un día y busqué las alternativas, aunque dejé que me superara y seguí luchando para ganar y resolver mi respuesta. Pero es un alivio aceptar que no se puede hacer (fácilmente) y que existen alternativas. ¡Ahora puedo seguir con cosas más importantes! Ya inicio dual Windows 7 y Ubuntu 10.04 en un escritorio sin encriptación, que es un procedimiento bastante sencillo. Y con las alternativas no estoy muy lejos de lo que quería en mi respuesta original. En realidad, no uso Ubuntu en una computadora portátil tanto como Windows en este momento, así que no me lo perderé tanto. También tengo un MacBookPro, ¡así que de ninguna manera soy más fanático de Windows que cualquier otro sistema operativo!

Aquí hay una razón por la que me gustaría que TrueCrypt cifre el arranque dual de Windows con Ubuntu, desde la perspectiva de otro usuario:

http://blog.mfabrik.com/2008/07/15/perfect-dual-boot-crypted-hard-disk-setup-with-truecrypt-and-luks/

"Tengo una computadora portátil de trabajo usada en Symbian y desarrollo web. Necesito poder arrancar tanto Vista como Linux. Debido a la privacidad del cliente, ambos sistemas operativos deben estar encriptados para el caso de una computadora portátil perdida. Incluso si no uso Windows activamente, los datos de su navegador web pueden contener contraseñas almacenadas para sistemas cliente y sería catastrófico filtrarlas accidentalmente ".

Grub2 es mucho más complejo que grub, algunos podrían argumentar necesariamente que sí. Tuve éxito con Ubuntu anterior a 10.04 (GRUB no GRUB2) con Windows XP:

http://www.howtoforge.com/forums/showthread.php?p=184776#post184776

Digo más complejo porque ahora hay más archivos de configuración, distribuidos en más directorios con referencias entre ellos, algunos ahora son generados por máquina y se desaconseja la edición de ellos, por ejemplo, menú de arranque, hay una especie de lenguaje de script para aprender y intérpretes de script para ejecutar cuando se realiza un cambio. Es demasiado complicado para mí en este momento, ¡y es solo para lanzar un sistema operativo, no un cohete a la luna!

therobyouknow
fuente
Una opción que aún no he considerado es usar la imagen de CD / .ISO alternativa de Ubuntu: descárguela aquí: releases.ubuntu.com/lucid Si busca en el foro de Ubuntu (enlace de arriba) donde publiqué una copia de la pregunta, verá una publicación del encuestado que menciona esto. El punto clave es que te da la opción de colocar GRUB (y lo haría de manera oficial y adecuada, en lugar de adivinar manualmente como lo he hecho) y el póster afirma que han logrado Ubuntu cifrado y Windows Truecrypted en la misma máquina. cual era mi objetivo
therobyouknow
1

Creo que lo resolví sin problemas. Mi situación original era la siguiente: tenía un netbook sin cifrar (MSI U160) con una partición de Windows 7 y una partición de Ubuntu 10.10 (el grub2 de Ubuntu en el MBR).

  1. Para instalar Truecrypt, tuve que reinstalar Windows 7 en su partición original.
  2. Luego instalé truecrypt (encriptando toda la partición de Windows 7)
  3. Utilizando estas instrucciones, reinstalé Ubuntu desde una llave USB, colocando el cargador grub2 en la partición de Ubuntu
  4. Después de reiniciar, obtengo el cargador de arranque TrueCrypt. Presiono [ESC] y obtengo una lista de particiones que se pueden arrancar, incluida la de Linux (también muestra la partición de Windows, pero como está cifrada, el inicio fallará).

Espero que esto sea lo que quieras también.

Huhu Lesny
fuente
1

Acabo de pasar los últimos 2 días luchando contra esto, y no pude conseguir que ninguna de estas respuestas funcionara para mí. Lo que finalmente conseguí funciona, lo he documentado en mi blog . Aquí está la versión resumida (hecha con Debian wheezy; también debería funcionar para Ubuntu. Otras distribuciones pueden necesitar ligeras modificaciones):

Esencialmente, carga en cadena GRUB2 para cargar SYSLINUX, que a su vez inicia la imagen ISO de TrueCrypt Rescue, que le permite iniciar en Linux.

  1. Instalar syslinux:

    sudo aptitude install syslinux
    
  2. Copie los archivos en su lugar:

    sudo cp /usr/lib/syslinux/memdisk /boot/
    sudo cp TrueCrypt\ Rescue\ Disk.iso /boot/truecrypt-rescue-disk.iso
    
  3. Determine el UUID de su partición de arranque:

    sudo blkid /dev/sda2
    

    La salida debería verse así:

    / dev / sda3: UUID = "12345678-1234-1234-1234567890"

  4. Configurar GRUB2:

    Agregue lo siguiente a /etc/grub.d/40_custom:

    menuentry "TrueCrypt ISO boot" {
        insmod part_msdos
        insmod fat
        insmod ext2
        insmod search_fs_uuid
        search --fs-uuid --no-floppy --set=boot [UUID without quotes]
        linux16 ($boot)/memdisk iso raw
        initrd16 ($boot)/truecrypt-rescue-disk.iso
    }
    
  5. Vuelva a cargar la configuración de GRUB2

    sudo update-grub
    

Tenga en cuenta que esto le mostrará las opciones de reparación [F8] cada vez que inicie Windows, ya que estamos engañando al sistema que arranca la imagen del CD TrueCrypt Rescue desde el disco duro, en lugar del método de arranque TrueCrypt "normal". Pero me parece un pequeño inconveniente (¡e incluso podría considerarse una característica adicional!)

Flimzy
fuente
Voto de +1 por sus esfuerzos exitosos, gran trabajo @Flimzy En algún momento me gustaría probar su respuesta e informar, y si puedo repetir su éxito, me gustaría hacer que su respuesta sea aceptada (de todos modos podría hacerlo antes No tengo una máquina disponible para experimentar, todos están en uso para otras cosas en este momento). ¡Gracias de nuevo!
therobyouknow
-1

solución: ¿quizás copiar el gestor de arranque truecrypt a un archivo IMG para que grub lo inicie? o tal vez use Grub4Dos para cargar Ubuntu?

Huan Keur
fuente