web-dev-qa-db-fra.com

Comment puis-je effectuer un double amorçage de Windows 7 et d'Ubuntu 11.10 chiffré avec TrueCrypt lorsque les deux sont installés séparément sur des lecteurs physiques différents?

Comment puis-je effectuer un double amorçage de Windows 7 chiffré avec TrueCrypt et d'Ubuntu 11.10 lorsque les deux sont installés séparément sur des lecteurs physiques différents?

J'ai deux disques durs. hd0 a une installation Windows 7 chiffrée par TrueCrypt avec le chargeur de démarrage TrueCrypt. hd1 a une installation Ubuntu 11.10 avec le chargeur de démarrage grub2.

Le résultat de fdisk -l est le suivant:

  Device Boot      Start         End      Blocks   Id  System   
/dev/sda1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sda2          206848   976771071   488282112    7  HPFS/NTFS/exFAT

  Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048   968517631   484257792   83  Linux
/dev/sdb2       968519678   976771071     4125697    5  Extended
/dev/sdb5       968519680   976771071     4125696   82  Linux swap / Solaris

Je peux démarrer avec succès l'un ou l'autre système d'exploitation en modifiant l'ordre de démarrage dans le BIOS, mais je ne veux pas être obligé de le faire à plusieurs reprises. Mes options sont soit:

  • Ajoutez le chargeur de démarrage TrueCrypt à la configuration grub2 et chargez-le en chaîne avec grub2.
  • Démarrez dans le chargeur de démarrage TrueCrypt et, lorsque vous appuyez sur échap pour sortir du mot de passe, démarrez dans grub2.

J'ai eu des difficultés avec l'option 1, car lors de l'évasion, TrueCrypt ne trouve aucune autre partition amorçable. Si je comprends bien, il devrait rechercher d'autres disques amorçables.

J'ai aussi eu des difficultés avec l'option 2 et avec les éléments suivants à l'intérieur de /etc/grub.d/40_custom (puis de l'exécution de update-grub2) ...

menuentry "Windows 7" {
set root=(hd0,1)
chainloader +1
}

(J'ai aussi essayé root=(hd0,0) et root=(hd0,2))

... Je reçois des erreurs sans une telle partition. J'ai également lu diverses sources suggérant qu'il est impossible de le faire avec grub2 sans monter et démarrer dans l'ISO du disque de secours TrueCrypt avant de démarrer Windows. Est-ce nécessaire?

Qu'est-ce que je fais mal?

6
Martin Foot

Il semble que la solution la plus simple consiste à utiliser le chargeur de démarrage Windows pour démarrer en Grub plutôt que l’inverse. Grub semble incapable de démarrer sur une partition Windows chiffrée, même avec --force.

Il existe un outil appelé EasyBCD (gratuit pour une utilisation non commerciale) qui configurera correctement le chargeur de démarrage Windows pour démarrer dans Grub une fois que vous avez entré votre mot de passe TrueCrypt. J'ai maintenant mon lecteur Windows en tant que premier périphérique de démarrage dans le BIOS et Grub en tant qu'élément de démarrage par défaut dans le chargeur de démarrage Windows. Vous pouvez tout aussi facilement faire de Windows la valeur par défaut.

3
Martin Foot

Je peux vous aider à résoudre le problème, c'est assez compliqué alors assurez-vous de le comprendre.

Premièrement: Sauvegarde de tous en second lieu: Deux disques physiques sont nécessaires, avec un seul disque que je n'ai pas compris

Allez à la partie délicate, le processus de commande de sécurité de démarrage:

  • Le BIOS démarrera à partir d'un disque dur (normalement le premier)
  • Alors mettez-y le chargeur de démarrage GRUB2
  • Ce GRUB vous permettra d’amorcer des partitions de formulaire sur le premier disque ou d’amorcer à partir du deuxième disque (c’est la partie la plus délicate)
  • Si vous voulez démarrer Linux, démarrez simplement à partir d'une autre partition sur le même disque
  • Si vous souhaitez démarrer TrueCrypt Bootloader, indiquez-lui simplement de démarrer à partir du deuxième disque, et non d'une partition.

Ayant cela à l'esprit, comment archiver cela? Facile, suivez ces étapes:

  • Mettez un seul disque dur vierge dans le PC
  • Configurez le BIOS pour démarrer à partir de celui-ci (juste pour cette fois)
  • Installez Windows et TrueCrypt dessus
  • Dites à TrueCrypt de tout chiffrer (un seul disque dur est présent)
  • Redémarrez, testez les bottes Windows
  • Éteindre correctement
  • Ajouter un deuxième disque
  • Créer sur ce second disque dur des partitions
  • Un pour/boot (où ira GRUB2)
  • Le reste que vous souhaitez pour Ubuntu /, SWAP, etc ...
  • Configurez GRUB2 pour laisser démarrer Ubuntu et pour charger en chaîne le deuxième disque dur complet (attention de ne pas indiquer de partition, mais uniquement le disque dur intégral)
  • Redémarrage
  • Tricky: Dites au BIOS de démarrer à partir du deuxième disque dur (comme vous le dites vous le permet) depuis toujours
  • Vérifier que le démarrage exécute GRUB2
  • Vérifiez que la chaîne GRUB2 charge correctement le premier chargeur de démarrage du disque dur (chargeur TrueCrypt), mais ne mettez pas de phrase de mot de passe, ni laissez Windows ne démarre, mais redémarrez uniquement lorsque le mot de passe est demandé.
  • Redémarrez si ce n'est pas fait ... et testez l'option Linux GRUB2 ... ne démarrera pas car Ubuntu n'est pas encore installé, mais ne chargera pas TrueCrypt, vous verrez donc que cela fonctionne
  • Installez Linux avec un soin très particulier ... ne le laissez pas changer de table de partition ... installez-le simplement sur le deuxième disque en utilisant les partitions existantes ... et, quand on vous demandera le chargeur de démarrage, dites-lui d'installer Grub ou Lilo, etc. sur une partition Linux, pas sur le disque dur MBR.

Avec cela, vous obtiendrez ce schéma:

  • HDD0 - MBR avec TrueCrypt, Le reste pour Windows
  • HDD1 - MBR et partition/boot avec GRUB2, une partition supplémentaire pour/(votre Ubuntu) à l’intérieur de laquelle il y aura un autre chargeur Grub, Lilo ou Grub2 sur/boot, des partitions supplémentaires à votre guise

Le truc c'est:

  • Dites à TrueTrypt de chiffrer car il connaît un disque dur complet avec son propre chargeur de démarrage.
  • Démarrer GRUB2 depuis un autre disque dur (le BIOS doit pouvoir démarrer à partir du deuxième disque dur)

Donc, lors du démarrage, voici ce qui se passe:

  • Le BIOS a lu sa configuration sur CMOS
  • BIOS voir pour démarrer à partir du deuxième disque dur
  • BIOS lu deuxième disque dur MBR
  • GRUB2 est chargé
  • Menu GRUB2: Boot Windows/Boot Ubuntu
  • Si vous sélectionnez Ubuntu, GRUB2 chargera un autre Grub, lilo, etc. à l’intérieur de la partition racine Ubuntu, un autre chargeur de démarrage chargera votre Linux Ubuntu.
  • Si vous sélectionnez Windows, GRUB2 se chargera ensuite du premier disque dur, agissant comme si le BIOS devait démarrer à partir du premier disque dur.

De cette façon:

  • TrueCrypt ne sait rien sur le deuxième disque pour le démarrage, ne dépend pas de lui
  • GRUB2 et Linux n'écraseront/toucheront rien sur ce premier disque
  • Le BIOS démarrera à partir du deuxième disque dur

J'espère que c'est assez clair.

Les choses à l'esprit pour archiver ceci:

  • Tout d’abord, faites quelques tests avec une VirtualBOX avant de le faire sur une machine physique réelle, afin de vous familiariser avec le processus.
  • Deuxièmement, notez sur un papier les étapes que vous suivez au fur et à mesure, juste pour ne rien oublier

Maintenant, je dois dire que cela peut être fait sans ouvrir le PC ... avec les deux disques toujours connectés.

Imagine ça:

  • HDD0 sans partition
  • HDD1 sans partition
  • Installer Windows uniquement sur HDD0 de manière normale, mais ne pas partitionner HDD1
  • Installez TrueCrypt et dites de chiffrer le HDD0 complet, il ne fera rien avec HDD1
  • Tout tester se passe correctement
  • Démarrez à partir d’un LiveCD tel que SystemRescueCD, créez des partitions sur HDD1
  • Assurez-vous de créer une partition dédiée à/boot uniquement pour GRUB2, sans lien avec Linux, avec 512 Mo, vous pourrez également y placer SystemRescueCD.iso et configurer GRUB2 pour le lancer en boucle à partir du fichier iso (voir le site Web SystemRescueCD).
  • Installer GRUB2 sur le disque dur HDD1 MBR et HDD1/boot
  • Configurez grub.cfg de ce type GRUB2 pour démarrer à partir de votre racine Linux sur HDD1 et d’un chargement de chaîne sur HDD0 (et non sur une partition quelconque sur HDD0).
  • Tester GRUB2 démarre toutes les options correctement, il suffit de vérifier que la charge de la chaîne fonctionne correctement ... lors du démarrage de Windows et TrueCrypt vous demandera le mot de passe composé pour le redémarrage, ne perdez pas de temps pour démarrer Windows lui-même.
  • Installez Ubuntu sur la partition racine HDD1 et dites-lui d’installer son propre grub sur la partition racine HDD1 où se trouvent vos principaux fichiers Ubuntu Linux afin qu’il ne touche pas du tout la partition HDD1/boot

C'est le piège !!!

L'idée: utilisez un autre support pour créer le menu de démarrage actuel, dans lequel vous pouvez sélectionner le type de démarrage.

Personnellement, sur mon netbook, j'ai cette chaîne:

  • / boot avec le menu GRUB2 avec options pour démarrer: Windows Vista, Windows 7, Linux Ubuntu 32bits, Linux Ubuntu 64bits, SystemRescueCD.iso, memtext86 +, disquette, ... etc.
  • Si je sélectionne Linux Ubuntu 32Bits ..., il chargera un autre diférent GRUB2 avec des options: Retour (démarrer à partir du disque dur MBR), Kernel X, Débogage Kernel X, Kernel Y, Débogage Kernel Y, etc ...
  • Si je sélectionne Linux Ubuntu 64Bits ..., il chargera un autre diférent GRUB2 avec des options: Retour (démarrage depuis le disque dur MBR), Kernel X, Débogage Kernel X, Kernel Y, Débogage Kernel Y, etc ...

C'est l'idée ... avoir dans le processus de démarrage plus d'un GRUB !!

Pourquoi plus d'un? Facile ... au cas où le système mettrait à jour le Grub, il ne toucherait pas celui que j'utilise comme menu de démarrage, simple et efficace.

Maintenant, le problème de TrueCrypt ... s'il crypte la partition système, il doit être sur le MBR, il ne vous laisse pas autrement (sauf RecoveryCD).

Donc, si TrueTrypt chiffre une partition système Windows, mieux vaut lui laisser le disque complet

Hey! Linux peut également être installé sur le même disque que Windows pour des performances ... et des données sur l'autre ...

Premier disque dur avec:

  • / dev/sda -> chargeur TrueCrypt (le MBR)
  • / dev/sda0 -> Windows chiffré par TrueCrypt (certains Go)
  • / dev/sda1 -> Linux Ubuntu/(certains Go), il contiendra un autre Grub, un sous-dossier appelé boot et tous les fichiers système, etc.

Deuxième disque dur avec:

  • / dev/sdb -> GRUB2 loader (le MBR), je le référencerai comme "BootMenu"
  • / dev/sdb1 ->/boot pour GRUB2 "BootMenu" (512 Mo si vous voulez utiliser le fichier SystemRescueCD.iso)
  • / dev/sdb2 -> Partition NTFS pour DATA vue sous Windows et Linux (si non chiffrée) en tant que

J'espère que vous allez y arriver.

Je vous l'avais expliqué en pensant que vous savez démarrer à partir d'un CD, configurer le BIOS, créer des partitions, installer GRUB2, etc.

Ce n'est pas pour les noobs. A très avancé techniques étapes et n'est pas un HowTo ...

Ce n’est que l’idée de démarrer à partir d’un autre support, un tel support (un CD, une disquette, etc.) contenant un menu de démarrage permettant de sélectionner l’amorçage à partir du premier disque dur ou d’une partition, etc ... autrement dit GRUB2.

J'espère que vous le trouverez utile.

3
z666zz666z

Vous pouvez simplement entrer dans le menu de démarrage et choisir le disque dur à partir duquel vous souhaitez démarrer.

Dans mon cas, je le fais en appuyant sur F11 lorsque les messages POST sont affichés. C'est peut-être différent F clé dans votre cas.

0