9

Я хочу, чтобы Truecrypt запрашивал пароль для Windows XP как обычно, но со стандартной опцией [ESC], при выборе этого, то есть с помощью клавиши Escape, я хочу, чтобы он нашел grub для (незашифрованной) установки Ubuntu.

Я установил Windows XP на жесткий диск объемом 120 ГБ нетбука Toshiba NB100, а затем разделил его, чтобы освободить место для Ubuntu 10.04, и установил его после установки Windows XP.

Я полагаю, что при шифровании Windows XP Truecrypt перезаписывает запись grub в основной загрузочной записи (MBR). и я больше не смогу выбирать между XP и Ubuntu. Поэтому мне нужно восстановить его обратно.

Я довольно интенсивно искал ответы на форумах Ubuntu и в других местах, но пока не нашел полного ответа, который охватывал бы все возможные ситуации, сценарии и сообщения об ошибках, или иначе они говорят о устаревшем GRUB, а не GRUB2. Ubuntu 10.04 использует GRUB2.

Моя настройка:

Перегородки:

  1. Windows XP, NTFS (для шифрования с Truecrypt), 40 Гб
  2. /boot (Ext4, 1Gb)
  3. Ubuntu swap, 4Gb
  4. Ubuntu / (root) - основная файловая система (20 ГБ)
  5. Доля NTFS, 55 ГБ

Я знаю, что загрузчик Truecrypt заменяет GRUB при загрузке, потому что я уже пробовал его на другом ноутбуке.

Я хочу, чтобы экран загрузчика выглядел примерно так:

Truecrypt

Введите пароль:

(или [ESC], чтобы пропустить)

пароль для WindowsXP и при нажатии [ESC], чтобы найти Ubuntu Grub для загрузки с

Заранее спасибо за помощь.

Основная область проблемы заключается в том, как инструктировать Truecrypt при нажатии клавиши escape и как сделать Grub/Ubuntu видимым для загрузчика truecrypt, чтобы найти его при нажатии клавиши esc. Также зная, как цепочки.

5 ответов5

6

Это довольно легко. Разбейте ваш диск, установите Windows и Ubuntu. Используйте TrueCrypt в разделе Windows, который будет шифровать Windows, но оставит Ubuntu незашифрованным.

Затем вы обнаружите, что вы можете загружаться только в Windows, а затем через загрузчик TrueCrypt. Похоже, ты уже там.

Скажем, у вас диск sda , с Windows на sda1 и Linux на sda2 (это гипотетически, у вас похоже, что это не будет sda2). TrueCrypt установится на MBR на sda и перезапишет GRUB.

Используйте дистрибутив Ubuntu для загрузки Live CD, затем загрузитесь в предварительно установленную систему. Вот так:

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

Затем установите GRUB загрузчик, но sda2 а не sda

grub-install /dev/sda2 --force

Затем, после перезагрузки, вы все равно получите загрузчик TrueCrypt, запрашивающий пароль для загрузки из sda -> sda1 в Windows. Но когда вы нажмете ESCAPE, вы получите возможность обойти и загрузиться прямо в Linux, но не из MBR, а из sda2 .

Но ждать

Прежде чем вы сделаете это, одно предостережение: если вы неправильно grub-install и перезаписали MBR sda , или если вы выполнили обновление ядра, которое запускает GRUB для перезаписи MBR, вам понадобится переустановить загрузчик TrueCrypt в Чтобы вернуться в Windows. Это большая проблема, если вы не готовы.

Я бы посоветовал перед тем, как вы поиграете с GRUB, создайте резервную копию загрузчика TrueCrypt из Linux. Таким образом, когда вы нарушаете TrueCrypt и можете войти только в Linux, вы можете легко записать его обратно.

Сделайте резервную копию вашего загрузчика 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

Восстановите ваш загрузчик TrueCrypt (я называю это 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

У меня есть оба этих набора команд в маленьких сценариях оболочки, которые я держу под рукой. Когда я случайно запускаю свой загрузчик (это происходит), я не хочу, чтобы Googling вокруг команд или читал man .

Да, и слово о совместимости. Когда я писал "GRUB", я имел в виду GRUB 1 или 2. Лично я делаю это с GRUB 2 на 10.04 и Windows 7 ... но он отлично работал со старыми версиями GRUB, Windows и Linux.

2

Ответ, который я собираюсь принять на этот вопрос, мой. И этот ответ заключается в том, чтобы принять, что я не могу * сделать это, и я приму одну из альтернатив:

  1. Используйте приложение виртуализации / VMware, работающее в Windows XP (раздел с зашифрованным системным диском) на хосте Ubuntu, например VirtualBox, VMWare или Parallels. Так что мне нужно будет загрузиться в Windows, затем запустить это приложение и загрузиться в Ubuntu из этого. Некоторые комментаторы отмечают, что одним из недостатков этого подхода является необходимость загрузки дважды (сначала XP, затем Ubuntu), чтобы попасть в Ubuntu. Тем не менее, я бы сказал, что он на самом деле имеет преимущество перед обычными двойными загрузками, запускаемыми BIOS, в том смысле, что у вас фактически работают обе ОС одновременно. Отлично, если вы хотите, например, быстро протестировать приложения или веб-страницы на нескольких платформах.

  2. Используйте дополнительный жесткий диск или SD-карту (например, 8 ГБ, 16 ГБ) для Ubuntu и выберите из BIOS (одноразовую) загрузку для загрузки Ubuntu с этого.

* Не могу = на самом деле означает, что я потратил достаточно времени (около 6 часов в течение 3 дней, уходя, очистил мой разум, поиск форумов, возвращающихся обновленными) на это, и я не собираюсь тратить больше. Поэтому я не могу быть обвинен в том, что я ленивый и полагаюсь на других. Can't = также означает: не могу в данный момент. Я могу вернуться к этому снова.

Вот некоторые ссылки, которые другие могут найти полезными:

Все вышеперечисленное предлагает некоторую проницательность, но не является окончательным полным ответом, который охватывает все возможные варианты или грубую версию.

Я разместил этот же вопрос здесь на superuser, на форумах ubuntuforums и truecrypt:

Я оправдываю это тем, что читатели этих форумов не обязательно будут читать другие форумы, будут некоторые совпадения, но некоторые жизненно важные советы могут быть упущены.

Исходные мысли и знания (если интересно!)

Я на самом деле очень рад сказать, что я назвал это днем и нашел альтернативы, хотя я позволил этому одолеть меня и продолжал бороться, чтобы победить и решить мой ответ. Но с облегчением признать, что это невозможно (легко) и что есть альтернативы. Теперь я могу заниматься более важными вещами! Я уже дважды загружаю Windows 7 и Ubuntu 10.04 на рабочий стол без шифрования - это довольно простая процедура. И с альтернативами я не далеко от того, что я хотел в своем первоначальном ответе. На самом деле, я не пользуюсь Ubuntu на ноутбуке так часто, как Windows, поэтому я не буду скучать по ней так часто. У меня также есть MacBookPro, так что я отнюдь не фанат Windows больше, чем любая другая ОС!

Вот причина, по которой я хотел бы, чтобы зашифрованные с помощью truecrypt окна загружались одновременно с Ubuntu с точки зрения другого пользователя:

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

«У меня есть рабочий ноутбук, используемый в Symbian и веб-разработке. Мне нужно иметь возможность загружать как Vista, так и Linux. Из-за конфиденциальности клиента обе операционные системы должны быть зашифрованы на случай потери ноутбука. Даже если я не пользуюсь Windows активно, данные ее веб-браузера могут содержать сохраненный пароль для клиентских систем, и было бы катастрофически утратить их случайно ».

Grub2 намного сложнее, чем grub, некоторые могут поспорить так. Я имел успех с Ubuntu до 10.04 (GRUB не GRUB2) с Windows XP:

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

Я говорю более сложным, потому что теперь имеется больше файлов настроек, они распределены по большему количеству каталогов со ссылками между ними, некоторые теперь генерируются машиной, и их редактирование не рекомендуется, например, меню загрузки, есть своего рода язык сценариев для изучения и интерпретаторы сценариев, запускаемые при внесении изменений. Это слишком сложно для меня на данный момент, и это только для запуска операционной системы, а не ракеты на Луну!

1

Я думаю, что я просто решил это довольно гладко. Моя первоначальная ситуация была следующей: у меня был незашифрованный нетбук (MSI U160) с разделом Windows 7 и разделом Ubuntu 10.10 (Ubuntu grub2 сидит в MBR).

  1. Чтобы установить Truecrypt, мне пришлось переустановить Windows 7 в исходный раздел.
  2. Затем я установил truecrypt (шифрование всего раздела Windows 7)
  3. Используя эти инструкции, я переустановил Ubuntu с USB-ключа, поместив загрузчик grub2 в раздел Ubuntu.
  4. После перезагрузки я получаю загрузчик TrueCrypt. Я нажимаю [ESC], и я получаю список загружаемых разделов, включая раздел Linux (он также показывает раздел Windows, но, поскольку он зашифрован, загрузка завершится неудачно).

Я надеюсь, что это то, что вы тоже хотите.

1

Я просто провел последние 2 дня, борясь с этим, и не мог заставить ни один из этих ответов работать на меня. То, что я наконец заработал, я задокументировал в своем блоге. Вот краткая версия (сделано с Debian wheezy; должно работать и для Ubuntu). Другие дистрибутивы могут нуждаться в небольших изменениях):

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

  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 с жесткого диска, а не "обычный" метод загрузки TrueCrypt. Но это кажется мне небольшим недостатком (и может даже рассматриваться как дополнительная функция!)

-1

Решение: возможно скопировать загрузчик truecrypt в файл IMG для загрузки с помощью grub? или, возможно, использовать Grub4Dos для загрузки Ubuntu?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .