Как я могу получить Grub2 для загрузки MBR с шифрованием Truecrypt?

Учитывая следующую систему:

/dev/sda1 Windows, encrypted using TrueCrypt
/dev/sda2 /boot
/dev/sda3 /, encrypted (LUKS or how it is called)

Теперь мне нужен GRUB2 для загрузки моего truecrypt mbr): Есть ли намеки на это? Я нашел несколько руководств для GRUB2 и TrueCrypt, но все они предполагают, что корневой раздел linux не зашифрован, что имеет место в моей ситуации):

3 ответа

Решение @stefan.at.wpf рекомендуется во всем Интернете. Это не будет работать для меня. Совсем. Но я нашел другое решение, которое сработало для меня.

По сути, вы загружаете GRUB2 по цепочке, чтобы загрузить SYSLINUX, который, в свою очередь, загружает образ TrueCrypt Rescue ISO, который позволяет вам загружаться в Windows.

Я задокументировал все подробности здесь. Сводная версия, однако, будет:

  1. Установите syslinux:

    sudo aptitude install syslinux
    
  2. Скопируйте файлы на место:

    sudo cp /usr/lib/syslinux/memdisk /boot/
    sudo cp TrueCrypt\ Rescue\ Disk.iso /boot/truecrypt-rescue-disk.iso
    
  3. Определите UUID вашего загрузочного раздела:

    sudo blkid /dev/sda2
    

    Вывод должен выглядеть примерно так:

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

  4. Настройте GRUB2:

    Добавьте следующее к /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. Перезагрузите конфигурацию GRUB2

    sudo update-grub
    

Обратите внимание, что здесь будут отображаться параметры восстановления [F8] при каждой загрузке в Windows, поскольку мы дурачим систему, загружающую образ TrueCrypt Rescue CD с жесткого диска, а не "обычный" метод загрузки TrueCrypt. Но это кажется мне небольшим недостатком (и может даже рассматриваться как дополнительная функция!)

Решение: Перед шифрованием Windows установите GRUB2 в /boot, используя

grub-install /dev/sda2 --force

Не обращайте внимания на предупреждение. Затем установите Truecrypt, сделайте раздел Windows активным (например, используя diskpart на установочном компакт-диске Windows 7). ESC в загрузчике TC теперь приводит к grub - все хорошо:-) Монтирование зашифрованного корня с помощью luks с live cd и установка grub2 с использованием chroot также должны быть возможны, я забыл это простое решение.

Ответ Флимзи не сработал для меня, и мне не хотелось тратить часы на расшифровку и повторное шифрование Windows, чтобы попробовать предложение stefan.at.wpf. В отчаянии я попытался поиграться в командной строке Grub, сдался и набрал exit чтобы пойти сделать что-то еще, и был представлен с загрузчиком TrueCrypt.

Я был ошеломлен.

Я отредактировал мой файл /etc/grub.d/40_custom для чтения

menuentry "Windows 7" { exit }

И это полностью работает.

Очевидно, YMMV, но вот мои настройки: TrueCrypt-encrypted-Windows владеет всем одним диском, а Linux и Grub 2.02~beta2-29ubuntu0.1 владеют всем другим диском. Мой Dell BIOS настроен на загрузку с USB, затем с CD, затем с диска Linux, и, наконец, с диска Windows. Я не уверен, как или почему это работает, но я счастлив, что это работает.

Другие вопросы по тегам