Come concatenare GRUB2 per Ubuntu 10.04 da Truecrypt e dal suo bootloader (avvio multiplo accanto alla partizione di Windows XP)?


9

Voglio che Truecrypt richieda la password per Windows XP come al solito, ma con l'opzione [ESC] standard, selezionandola, cioè tramite il tasto Esc, voglio che trovi il grub per l'installazione (non crittografata) di Ubuntu.

Ho installato Windows XP sul disco rigido da 120 GB di un netbook NB100 Toshiba, quindi partizionato per fare spazio a Ubuntu 10.04 e installato dopo l'installazione di Windows XP.

Quando crittograferò Windows XP, Truecrypt sovrascriverà la voce grub nel master boot record (MBR), credo (?) E non potrò più scegliere tra XP e Ubuntu. Quindi devo ripristinarlo.

Ho cercato abbastanza ampiamente le risposte sui forum di Ubuntu e altrove, ma non ho ancora trovato una risposta completa che copra tutte le eventualità, gli scenari e i messaggi di errore, o altrimenti parlano di GRUB legacy e non di GRUB2. Ubuntu 10.04 utilizza GRUB2.

La mia configurazione:

partizioni:

  1. Windows XP, NTFS (da crittografare con TrueCrypt), 40 GB
  2. / boot (Ext4, 1Gb)
  3. Ubuntu swap, 4Gb
  4. Ubuntu / (root) - filesystem principale (20gb)
  5. Condivisione NTFS, 55Gb

So che il boot loader Truecrypt sostituisce GRUB all'avvio perché l'ho già provato su un altro laptop.

Voglio che la schermata del boot loader assomigli al solito:

truecrypt

Inserire la password:

(o [ESC] per saltare)

password è per WindowsXP e premendo [ESC] per trovare Ubuntu grub da cui avviare

Grazie in anticipo per il vostro aiuto.

L'area chiave del problema è come istruire Truecrypt quando viene premuto il tasto Esc e come Grub / Ubuntu può essere reso visibile al bootloader TrueCrypt per trovarlo, quando viene premuto il tasto Esc. Sapendo anche come concatenamento.

Risposte:


6

È abbastanza facile Partiziona il tuo disco, installa Windows e Ubuntu. Usa TrueCrypt sulla partizione di Windows, che crittograferà Windows ma lascerà Ubuntu non crittografato.

Scoprirai quindi che probabilmente puoi solo avviare Windows e quindi tramite il bootloader TrueCrypt. Sembra che tu ci sia già.

Supponiamo che il tuo disco sia sda, con Windows acceso sda1e Linux acceso sda2(questo è ipotetico, il tuo sembra che non lo sarà sda2). TrueCrypt si installerà sull'MBR sdae sovrascriverà GRUB.

Utilizzare il CD di distribuzione Ubuntu per avviare un CD live, quindi eseguire il chroot nel sistema preinstallato. Così:

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

Quindi installare il bootloader di GRUB, ma su sda2, anziché sda.

grub-install /dev/sda2 --force

Quindi, al riavvio, otterrai ancora il caricatore TrueCrypt che ti chiede una password per l'avvio da sda-> sda1in Windows. Ma quando premi ESCAPE avrai la possibilità di bypassare e avviare direttamente Linux, ma sda2piuttosto che dall'MBR.

Ma aspetta

Prima di fare ciò, un avvertimento: se grub-installsbagli e sovrascrivi l' sdaMBR o se esegui un aggiornamento del kernel che attiva GRUB per sovrascrivere l'MBR, troverai che devi reinstallare il bootloader TrueCrypt per tornare indietro in Windows. Questa è una seccatura enorme se non sei preparato.

Suggerirei che prima di giocherellare con GRUB, esegui il backup delle cose del bootloader TrueCrypt da Linux. In questo modo, quando rompi TrueCrypt e riesci solo ad accedere a Linux, puoi facilmente riscriverlo.

Eseguire il backup del caricatore di avvio 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

Ripristina il tuo caricatore di avvio TrueCrypt (chiamo questo 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

Ho entrambi questi insiemi di comandi in piccoli script di shell, che tengo a portata di mano. Quando accendo accidentalmente il mio bootloader (succede) non voglio andare su Google per i comandi o la lettura man.

Oh, e una parola sulla compatibilità. Quando scrivo "GRUB", intendevo GRUB 1 o 2. Personalmente, lo faccio con GRUB 2 su 10.04 e Windows 7 ... ma ha funzionato bene con le versioni precedenti di GRUB, Windows e Linux.


Grazie mille a @fitzpatrick per questa risposta. Lo controllerò quando avrò ancora un po 'di tempo. Mi sono lasciato trasportare da me stesso mentre cercavo di farlo funzionare, quindi certamente la tua direzione precisa :) Ti farò sapere, qui, quali sono le mie scoperte.
therobyouknow,

che cosa è esattamente "dd if = / dev / sda of = ~ / truecrypt.backup count = 8 bs = 32256" backup? Intestazioni TC? Grazie!
stefan.at.wpf,

inoltre, sda2 è la partizione / boot?
stefan.at.wpf,

ok sda2 è la root parittion, accidenti, il mio è
criptato

Il ddcomando sta copiando i primi 32 KB del disco: sostanzialmente il settore di avvio completo. Nell'esempio che ho dato sopra non c'è una partizione di avvio separata, l'installazione di nix è su una singola partizione. Nei primi giorni di RedHat ero solito lavorare con partizioni separate su desktop Linux. Oggi con grandi dischi penso che puoi salvare quel rigmarole per i tuoi server nella maggior parte dei casi!
Aidan Fitzpatrick,

2

La risposta che accetterò per questa domanda è la mia. E quella risposta è accettare che non posso * fare questo e accetterò una delle alternative:

  1. Utilizzare un'applicazione di virtualizzazione / VM in esecuzione su Windows XP (la partizione dell'unità di sistema crittografata) ospita Ubuntu, come VirtualBox, VMWare o Parallels. Quindi dovrei avviare Windows, quindi eseguire questa applicazione e avviare Ubuntu dall'interno. Alcuni commentatori elencano uno degli svantaggi di questo approccio come il fatto che è necessario avviare due volte (prima XP, poi Ubuntu) per accedere a Ubuntu. Tuttavia, direi che in realtà ha un vantaggio rispetto ai normali dual boot avviati dal BIOS in quanto in realtà hai entrambi i sistemi operativi in ​​esecuzione contemporaneamente. Ottimo se si desidera, ad esempio, testare rapidamente applicazioni o pagine Web su più piattaforme.

  2. Utilizzare un disco rigido secondario o una scheda SD (ad esempio 8 GB, 16 GB) per Ubuntu e selezionare l'avvio BIOS (una tantum) per avviare Ubuntu da quello.

* Can't = davvero significa che ho trascorso abbastanza tempo (circa 6 ore in 3 giorni, andare via mi ha chiarito le idee, cercare forum tornando aggiornato) e non sono disposto a spendere altro. Quindi non posso essere accusato di essere pigro e di fare affidamento sugli altri. Can't = significa anche: impossibile al momento . Potrei rivederlo di nuovo.

Ecco alcuni riferimenti che altri potrebbero trovare utili:

Tutto quanto sopra offre alcune informazioni, ma non una risposta completa definitiva che copre ogni eventualità o versione di grub.

Ho pubblicato la stessa domanda qui su Superuser, su Ubuntuforums e nei forum TrueCrypt:

La mia giustificazione nel fare questo è che i lettori di questi forum non necessariamente leggeranno altri forum, ci saranno alcune sovrapposizioni ma alcuni consigli vitali potrebbero perdersi.

Pensieri di base e apprendimenti (se interessati!)

In realtà sono abbastanza contento di dire che l'ho chiamato un giorno e ho scoperto le alternative, anche se ho lasciato che avesse la meglio su di me e continuavo a lottare per vincere e risolvere la mia risposta. Ma è un sollievo accettare che non si può fare (facilmente) e che ci sono alternative. Ora posso andare avanti con cose più importanti! Ho già eseguito il dual boot di Windows 7 e Ubuntu 10.04 su un desktop senza crittografia - questa è una procedura piuttosto semplice. E con le alternative non sono lontano da quello che volevo nella mia risposta originale. In realtà al momento non uso Ubuntu su un notebook tanto quanto Windows, quindi non mi mancherà molto. Ho anche un MacBookPro, quindi non sono affatto più un fan di Windows di qualsiasi altro sistema operativo!

Ecco un motivo per cui vorrei eseguire il doppio avvio di Windows crittografato con Ubuntu, dal punto di vista di un altro utente:

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

"Ho un laptop da lavoro utilizzato in Symbian e nello sviluppo web. Devo essere in grado di avviare sia Vista che Linux. A causa della privacy dei client, entrambi i sistemi operativi devono essere crittografati nel caso di un laptop smarrito. Anche se non uso Windows attivamente, i dati del suo browser Web potrebbero contenere password memorizzate per i sistemi client e sarebbe catastrofico perderle accidentalmente. "

Grub2 è molto più complesso di grub, alcuni potrebbero sostenerlo necessariamente. Ho avuto successo con Ubuntu pre-10.04 (GRUB non GRUB2) con Windows XP:

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

Dico più complesso perché ci sono più file di impostazioni ora presenti, distribuiti su più directory con riferimenti tra loro, alcuni ora sono generati automaticamente e la loro modifica è sconsigliata, ad esempio menu di avvio, c'è una sorta di linguaggio di scripting per imparare e interpreti di script da eseguire quando viene apportata una modifica. Al momento è troppo complicato per me ed è solo per il lancio di un sistema operativo, non un razzo sulla luna!


Un'opzione che non ho ancora preso in considerazione è l'utilizzo dell'immagine CD / .ISO alternativa di Ubuntu - scarica qui: release.ubuntu.com/lucid Se guardi sul forum Ubuntu (link sopra) in cui ho pubblicato una copia della domanda, vedrai un post del rispondente che lo menziona. Il punto chiave è che ti dà la scelta di mettere GRUB (e lo farebbe ufficialmente e correttamente, piuttosto che indovinare manualmente come ho fatto io) e il poster afferma che hanno ottenuto Ubuntu crittografato e Windows TrueCrypted sullo stesso computer - quale era il mio obiettivo.
therobyouknow l'

1

Penso di averlo risolto abbastanza bene. La mia situazione originale era la seguente: avevo un netbook non crittografato (MSI U160) con una partizione di Windows 7 e una partizione di Ubuntu 10.10 (Ubuntu grub2 presente nell'MBR).

  1. Per installare Truecrypt, ho dovuto reinstallare Windows 7 nella sua partizione originale.
  2. Quindi ho installato TrueCrypt (crittografando l'intera partizione di Windows 7)
  3. Usando queste istruzioni ho reinstallato Ubuntu da una chiave USB, posizionando il caricatore grub2 sulla partizione Ubuntu
  4. Dopo il riavvio, ottengo il caricatore di avvio TrueCrypt. Colpisco [ESC] e ottengo un elenco di partizioni navigabili, tra cui quella Linux (mostra anche la partizione di Windows, ma poiché è crittografata, l'avvio non riuscirà).

Spero che questo sia anche quello che vuoi.


1

Ho appena trascorso gli ultimi 2 giorni a combattere questo, e non sono riuscito a far funzionare nessuna di queste risposte per me. Quello che finalmente ho fatto funzionare, l'ho documentato sul mio blog . Ecco la versione di riepilogo (eseguita con Debian wheezy; dovrebbe funzionare anche per Ubuntu. Altre distribuzioni potrebbero aver bisogno di lievi modifiche):

In sostanza, si carica GRUB2 per caricare SYSLINUX, che a sua volta avvia l'immagine ISO TrueCrypt Rescue, che consente di avviare Linux.

  1. Installa syslinux:

    sudo aptitude install syslinux
    
  2. Copia i file in posizione:

    sudo cp /usr/lib/syslinux/memdisk /boot/
    sudo cp TrueCrypt\ Rescue\ Disk.iso /boot/truecrypt-rescue-disk.iso
    
  3. Determinare l'UUID della partizione di avvio:

    sudo blkid /dev/sda2
    

    L'output dovrebbe assomigliare a questo:

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

  4. Configura GRUB2:

    Aggiungi quanto segue 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. Ricarica la configurazione di GRUB2

    sudo update-grub
    

Si noti che questo mostrerà le opzioni di riparazione [F8] ogni volta che si avvia Windows, poiché stiamo ingannando il sistema che avvia l'immagine del CD TrueCrypt Rescue dal disco rigido, anziché il "normale" metodo di avvio TrueCrypt. Ma mi sembra un piccolo inconveniente (e potrebbe anche essere considerato una funzionalità aggiunta!)


+1 voto per i tuoi sforzi riusciti, ottimo lavoro @Flimzy Ad un certo punto vorrei provare la tua risposta e riportare indietro, e se posso ripetere il tuo successo vorrei rendere la tua risposta accettata (potrei farlo prima comunque come Non ho una macchina disponibile per sperimentare, al momento sono tutte in uso per altre cose). Grazie ancora!
therobyouknow,

-1

soluzione: forse copiare il bootloader TrueCrypt in un file IMG per essere avviato da GRUB? o forse usi Grub4Dos per caricare Ubuntu?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.