Как я могу выполнить двойную загрузку Windows 7 и Ubuntu 11.10 с шифрованием TrueCrypt, если они установлены отдельно на разных физических дисках?

Как я могу выполнить двойную загрузку Windows 7 и Ubuntu 11.10 с шифрованием TrueCrypt, если они установлены отдельно на разных физических дисках?

У меня есть два жестких диска. hd0 имеет установку Windows 7 с шифрованием TrueCrypt с загрузчиком TrueCrypt. На hd1 установлена ​​Ubuntu 11.10 с загрузчиком grub2.

Выход из fdisk -l как следует:

  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

Я могу успешно загрузиться в любую ОС, изменив порядок загрузки в BIOS, но не хочу повторять это. Мои варианты:

  • Добавьте загрузчик TrueCrypt в конфигурацию grub2 и загрузите его с помощью grub2.
  • Загрузитесь с загрузчика TrueCrypt и, при нажатии escape для выхода из ввода пароля, загрузитесь в grub2.

У меня были трудности с вариантом 1, так как при нажатии escape TrueCrypt не находит другого загрузочного раздела. Как я понимаю, он должен искать другие загрузочные диски.

У меня также были трудности с вариантом 2, и со следующим внутри /etc/grub.d/40_custom (а затем работает update-grub2) ...

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

(Я тоже пробовал root=(hd0,0) а также root=(hd0,2))

... Я получаю ошибки без такого раздела. Я также читал различные источники, которые предполагают, что это невозможно сделать с grub2 без монтирования и загрузки ISO-образа спасательного диска TrueCrypt до загрузки Windows. Это необходимо?

Что я делаю неправильно?

3 ответа

Решение

Кажется, самое простое решение для этого - использовать загрузчик Windows для загрузки в Grub, а не наоборот. Grub, похоже, не может загрузиться на зашифрованный раздел windows даже с --force,

Существует инструмент под названием EasyBCD (бесплатный для некоммерческого использования), который правильно настроит загрузчик Windows для загрузки в Grub после ввода пароля TrueCrypt. Теперь мой диск Windows является первым загрузочным устройством в BIOS, а Grub - загрузочным элементом по умолчанию в загрузчике Windows. Вы также можете легко сделать Windows по умолчанию.

Я могу помочь вам в обходном пути, это довольно сложно, поэтому обязательно поймите это.

Первый: BackUP all Второй: Требуются два физических диска, только с одним я на него не попал

Перейдите к сложной части, процесс заказа безопасности загрузки:

  • BIOS будет загружаться с одного жесткого диска (обычно с первого)
  • Так что ставь туда загрузчик GRUB2
  • Такой GRUB позволит вам загружаться из разделов на первом диске или загружаться со второго (это сложная часть)
  • Если вы хотите загрузить Linux, просто загрузитесь с другого раздела на том же диске
  • Если вы хотите загрузить TrueCrypt Bootloader, просто скажите, чтобы он загружался со второго диска, а не с раздела

Имея это в виду, как архивировать это? Легко, выполните следующие действия:

  • Вставьте только один пустой жесткий диск в ПК
  • Настройте BIOS для загрузки с него (только на это время)
  • Установите Windows и TrueCrypt на него
  • Скажите TrueCrypt для шифрования всех (присутствует только один жесткий диск)
  • Перезагрузка, тестирование загрузки Windows
  • Выключите правильно
  • Добавить второй диск
  • Создайте на таком втором HDD несколько разделов
  • Один для /boot (куда пойдет GRUB2)
  • Остальное как хочешь для Ubuntu /, SWAP и т.д...
  • Сконфигурируйте GRUB2, чтобы позволить загружать Ubuntu и загружать по цепочке полный второй жесткий диск (будьте осторожны, чтобы не указывать ни один раздел, только полный жесткий диск)
  • перезагружать
  • Tricky: Скажите BIOS, чтобы он загружался со второго жесткого диска (как вы говорите, он позволял) только навсегда
  • Проверьте, работает ли GRUB2
  • Убедитесь, что цепочка GRUB2 правильно загружает первый загрузчик жесткого диска (TrueCrypt loader), но не вводите фразу пароля и не запускайте загрузку Windows, просто перезагрузите компьютер, когда запрашивается пароль.
  • Перезагрузите, если не выполнено... и протестируйте опцию GRUB2 Linux... не загрузится, так как Ubuntu еще не установлена, но не загрузит TrueCrypt, поэтому вы видите, что он работает
  • Устанавливайте Linux с особой тщательностью... не позволяйте ему менять таблицу разделов... просто установите его на второй диск, используя существующие разделы... и когда вас попросят загрузчик, скажите, чтобы он установил Grub или Lilo и т. Д.... на раздел Linux, а не на жесткий диск MBR.

При этом вы получите следующую схему:

  • HDD0 - MBR с TrueCrypt, остальное для Windows
  • HDD1 - MBR и /boot раздел с GRUB2, еще один раздел для / (вашего Ubuntu), внутри которого будет другой загрузчик Grub, Lilo или Grub2 для /boot, дополнительные разделы по вашему желанию

Хитрость заключается в следующем:

  • Скажите TrueTrypt для шифрования, поскольку он знает один полный жесткий диск со своим собственным загрузчиком.
  • Загрузите GRUB2 с другого жесткого диска (BIOS должен загружаться со второго жесткого диска)

Итак, при загрузке происходит следующее:

  • BIOS читает свой конфиг на CMOS
  • BIOS видит загрузочный второй жесткий диск
  • BIOS читает второй жесткий диск MBR
  • GRUB2 загружен
  • GRUB2 показывает меню: Boot Windows / Boot Ubuntu
  • Если вы выберете Ubuntu, GRUB2 загрузит другой Grub, lilo и т. Д. Внутри корневого раздела Ubuntu, такой другой загрузчик загрузит вашу Linux Ubuntu
  • Если вы выберете Windows, то GRUB2 будет загружаться по цепочке на первый жесткий диск, действуя так, как если бы BIOS загружался с первого жесткого диска

В этом случае:

  • TrueCrypt ничего не знает о втором диске для загрузки, не зависит от него
  • GRUB2 и Linux не будут ничего перезаписывать / трогать на таком первом диске
  • BIOS загрузится со второго жесткого диска

Надеюсь, это достаточно ясно.

Вещи, чтобы заархивировать это:

  • Сначала сделайте несколько тестов с VirtualBOX, прежде чем делать это на реальной физической машине, чтобы вы познакомились с процессом
  • Во-вторых, запишите на бумаге шаги, которые вы выполняете, когда вы делаете их, просто чтобы иметь возможность ничего не забыть

Теперь я должен сказать, что это можно сделать, не открывая ПК... с обоими подключенными дисками.

Вообразите это:

  • HDD0 без раздела
  • HDD1 без раздела
  • Установка Windows только на HDD0 обычным способом, но не разбивайте HDD1
  • Установите TrueCrypt и скажите зашифровать полный HDD0, он ничего не сделает с HDD1
  • Проверить все идет правильно
  • Загрузитесь с LiveCD, например SystemRescueCD, создайте разделы на HDD1
  • Убедитесь, что вы создаете выделенный раздел для /boot только для GRUB2, не связанный с вашим Linux, с 512 МБ вы также сможете поместить SystemRescueCD.iso в него и настроить GRUB2 для циклической загрузки из iso-файла (для этого см. Веб-страницу SystemRescueCD)
  • Установите GRUB2 на HDD1 MBR и HDD1 / загрузочный раздел
  • Сконфигурируйте grub.cfg такого GRUB2 для загрузки из корневого каталога Linux на HDD1 и цепной загрузки на HDD0 (а не на любой раздел на HDD0)
  • Тест GRUB2 загружает все опции правильно, просто тестовая загрузка цепочки идет корректно... при загрузке Windows и TrueCrypt запросит парольную фразу просто перезагрузите компьютер, не теряйте время на загрузку самой Windows
  • Установите Ubuntu на корневой раздел HDD1 и скажите, чтобы он установил свой собственный grub на корневой раздел HDD1, куда попадают ваши основные файлы Linux Ubuntu, чтобы он вообще не касался HDD1 / загрузочного раздела.

Это сложно!!!

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

Лично на моем нетбуке у меня есть эта цепочка:

  • /boot с меню GRUB2 с опциями загрузки: WindowsVista, Windows7, Linux Ubuntu 32bit, Linux Ubuntu 64Bits, SystemRescueCD.iso, memtext86+, floppy, ... и т. д.
  • Если я выберу Linux Ubuntu 32Bits... он загрузит другой GRUB2 с опциями: Go Back (загрузка с MBR HDD), Kernel X, отладка X, отладка Y, отладка Y и т.д....
  • Если я выберу Linux Ubuntu 64Bits... он загрузит другой GRUB2 с параметрами: "Вернуться назад" (загрузка с MBR жесткого диска), "Ядро X", "Ядро X", "Ядро Y", "Ядро Y" и т. Д....

Это идея... иметь в процессе загрузки более одного GRUB!

Почему больше чем один? Легко... в случае, если система обновляет Grub, она не затрагивает ту, которую я использую в качестве загрузочного меню, просто и эффективно.

Теперь проблема TrueCrypt... если он зашифровывает системный раздел, он должен быть в MBR, он не позволит вам другим способом (кроме RecoveryCD).

Так что, если TrueTrypt шифрует системный раздел Windows, лучше дайте ему полный диск

Привет! Linux также может быть установлен на тот же диск, что и Windows, для производительности... и данные на другом...

Первый HDD с:

  • / dev / sda -> TrueCrypt загрузчик (MBR)
  • / dev / sda0 -> Windows, зашифрованная TrueCrypt (несколько ГБ)
  • / dev / sda1 -> Linux Ubuntu / (в некоторых ГБ) будет содержать другой Grub, подпапку с названием boot и все системные файлы и т. д.

Второй HDD с:

  • / dev / sdb -> GRUB2 загрузчик (MBR) я буду называть его "BootMenu"
  • / dev / sdb1 -> /boot для GRUB2 "BootMenu" (512 МБ, если вы хотите на нем файл SystemRescueCD.iso)
  • / dev / sdb2 -> NTFS-раздел для DATA, видимый в Windows и Linux (если не зашифрованный) как

Надеюсь, вы доберетесь до этого.

Я объяснил, как это просто думая, что вы знаете, как загрузить с компакт-диска, настроить BIOS, создать разделы, установить GRUB2 и т. Д...

Это не для нубов. Имеет очень продвинутые методические приемы и не является...

Это всего лишь идея загрузки с другого носителя, такой другой носитель (компакт-диск, дискета и т. Д.) Будет содержать меню загрузки, которое позволяет выбрать загрузку с первого жесткого диска или с раздела и т. Д., Другими словами GRUB2.

Надеюсь, вы найдете это полезным.

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

В моем случае я делаю это, нажимая F11, когда отображаются сообщения POST. Это может быть другая клавиша F в вашем случае.

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