grub2 - Поиск зашифрованного Debian

У меня есть система с тройной загрузкой, с Windows 7, Ubuntu 12.10 и Crunchbang (производная от Debian - нестабильная версия Debian).

Я пытаюсь получить все в зашифрованном виде: Windows с TrueCrypt FDE, цепочка grub на дополнительный загрузочный раздел с загрузчиком Windows на MBR. Так как Ubuntu отключил опцию шифрования (нет ни в повсеместной, ни в альтернативной установке), Ubuntu не шифруется. Crunchbang, хотя есть.

Моя карта разделов выглядит следующим образом:

sda1: Win7
sda2: win7-boot junk (installed it by default - what is that anyway?!)
sda3: /boot
sda4: ubuntu
sda5: encrypted -> sda8(?): crunchbang
sda6: encrypted -> sda9(?): swap
sda7: another ext4

Дело в том, что после установки я мог нормально загружать Windows и Crunchbang. update-grub однако распечатал, что он нашел Ubuntu, без Crunchbang, но после перезагрузки он просто дал мне Crunchbang.

Переустановил Ubuntu, включая grub на sda3. Теперь он находит только Ubuntu.

Последнее, я думаю, совершенно очевидно, как grub должен найти зашифрованный os? Но может ли кто-нибудь объяснить мне, как я могу использовать Dual-Boot двух (теоретически зашифрованных) Linux с grub2?

2 ответа

Решение

Когда вы выполняете update-grub, он сканирует все разделы, которые он видит для ОС, и знает, что делать. Если ваш зашифрованный раздел не смонтирован во время сканирования, он не найдет зашифрованные ОС.

Итак, ваш первый шаг - расшифровать зашифрованные разделы и подключить их к блочному устройству. Вы можете сделать это с cryptsetup:

cryptsetup luksOpen <device> <name>

Так что если ваше зашифрованное устройство - /dev/sda5 (структура вашего раздела не ясна), используйте что-то вроде

cryptsetup luksOpen /dev/sda5 crunch

расшифровать /dev/sda5 и смонтируйте расшифрованное блочное устройство (не файловую систему!) на /dev/mapper/crunch, Тогда вы можете пойти дальше и mount /dev/mapper/crunch <some mountpoint> как обычно.

У меня была та же проблема, когда в моем Debian-боксе с двойной загрузкой "незашифрованный инстанс Debian" обновлял grub и исключал "зашифрованный LVM".

Эта статья мне очень помогла, и я выполнил следующие шаги, чтобы активировать тома LVM, установленные на /dev/sdg перед звонком update-grub,

$ sudo apt-get install cryptsetup
$ sudo apt-get install lvm2
$ sudo lsblk -f /dev/sdg  # Identify encrypted device
$ sudo file -s /dev/sdg5   
$ sudo cryptsetup luksOpen /dev/sdg5 encrypted_device  # Open the encrypted container
$ sudo vgdisplay --short  # Identify volume group
$ sudo lvs -o lv_name,lv_size -S vg_name=enc-vg  # List logical volumes
$ sudo lvchange -ay enc-vg  # Activate every logical volume
$ sudo update-grub
$ sudo lvchange -an enc-vg  # Deactivate active volumes
$ sudo cryptsetup luksClose encrypted_device  # Close the opened container
Другие вопросы по тегам