Як ланцюжок GRUB2 для Ubuntu 10.04 з Truecrypt та його завантажувача (багатозавантажуваного поряд з розділом Windows XP)?


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), 40Gb
  2. / завантаження (Ext4, 1 Гбіт)
  3. Ubuntu своп, 4Gb
  4. Ubuntu / (root) - основна файлова система (20gb)
  5. Частка NTFS, 55Gb

Я знаю, що завантажувач Truecrypt замінює GRUB при завантаженні, тому що я вже спробував це на іншому ноутбуці.

Я хочу, щоб екран завантажувача виглядав приблизно як звичайний:

Truecrypt

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

(або [ESC] для пропуску)

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

Заздалегідь дякую за вашу допомогу.

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

Відповіді:


6

Це досить просто. Розділіть свій диск, встановіть Windows та Ubuntu. Використовуйте TrueCrypt на розділі Windows, який зашифрує Windows, але Ubuntu залишить незашифрованим.

Тоді ви знайдете, що, ймовірно, можете завантажуватися лише в Windows, а потім через завантажувач TrueCrypt. Здається, ти вже там.

Скажімо, ваш диск sdaіз ввімкненою Windows sda1та Linux sda2(це гіпотетично, ваше виглядає, що цього не буде sda2). TrueCrypt встановиться на MBR sdaі замінить GRUB.

Використовуйте компакт-диск дистрибутива Ubuntu для завантаження живого компакт-диска, а потім перезавантажтеся у попередньо встановлену систему. Так:

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, але sda2не з MBR.

Але чекай

Перш ніж це зробити, один застереження: якщо ви grub-installпомилилися і перезаписали sdaMBR, або якщо ви зробите оновлення ядра, яке запускає 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

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

О, і слово про сумісність. Коли я писав "GRUB", я мав на увазі GRUB 1 або 2. Особисто я це роблю з GRUB 2 10.04 та Windows 7 ... але він працював чудово зі старими версіями GRUB, Windows та Linux.


Дуже дякую @fitzpatrick за цю відповідь. Я перевірю це, коли у мене буде ще трохи часу. Я захопився самим собою, намагаючись змусити його працювати, тому я, безумовно, ваше чітке керівництво :) Я дам вам знати, ось які мої висновки.
therobyouknow

що саме таке "dd, якщо резервне копіювання = / dev / sda = ~ / truecrypt.backup = 8 bs = 32256"? Заголовки TC? Дякую!
stefan.at.wpf

далі, sda2 розділ / boot?
stefan.at.wpf

гаразд sda2 - це коріння, чорт, моє
криптовалют

ddКоманда копіює перший 32кб диска: в основному повний завантажувальний сектор. У наведеному вище прикладі немає окремого завантажувального розділу, установка nix знаходиться на одному розділі. У перші дні RedHat я використовував інструменти для створення окремих розділів на робочих столах Linux. На сьогоднішній день з великими дисками, я думаю, що ви можете зберегти цю ригмарол для своїх серверів у більшості випадків!
Айдан Фіцпатрік

2

Відповідь, яку я прийму на це питання, - моя власна. І ця відповідь полягає в тому, щоб прийняти, що я не можу * зробити це, і я прийму одну з альтернатив:

  1. Використовуйте додаток для віртуалізації / VM, що працює в Windows XP (зашифрований розділ системного диска), що знаходиться у Ubuntu, наприклад VirtualBox, VMWare або Parallels. Тому мені доведеться завантажитися в Windows, потім запустити цю програму і завантажитися в Ubuntu зсередини цього. Деякі коментатори перелічують один з недоліків такого підходу в тому, що вам доведеться двічі завантажуватися (спочатку XP, потім Ubuntu), щоб потрапити до Ubuntu. Однак я б сказав, що це насправді має перевагу перед звичайними подвійними черевиками, запущеними BIOS, в тому, що у вас фактично працюють обидві ОС одночасно. Чудово, якщо ви хочете, наприклад, швидко тестувати програми або веб-сторінки на кількох платформах.

  2. Використовуйте вторинний жорсткий диск або SD-карту (наприклад, 8gb, 16Gb) для Ubuntu і виберіть з BIOS (одноразового) завантаження, щоб завантажити Ubuntu з цього.

* Не можу = насправді означає, що я витратив достатньо часу (приблизно 6 годин протягом 3 днів, виїжджаючи, очистив свою думку, шукаючи форуми, що повертаються оновленими) на це, і я не готовий витрачати більше. Тому я не можу звинуватити в тому, що я лінувався і покладався на інших. Не можу = також означає: наразі не може . Я можу переглянути це ще раз.

Ось кілька посилань, які можуть бути корисними для інших:

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

Це те саме питання я опублікував тут на superuser, на форумах ubuntuforums та truecrypt:

Моє обґрунтування в цьому полягає в тому, що читачі цих форумів не обов’язково читатимуть інші форуми, деякі перекриття будуть накладені, але деякі життєві поради можуть бути пропущені.

Основні думки та знання (якщо цікаво!)

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

Ось причина, чому я хотів би, щоб truecrypt зашифровані Windows подвійного завантаження з 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

Я кажу більш складний, оскільки зараз є більше файлів налаштувань, поширюються на більше каталогів із посиланнями між ними, деякі зараз генеруються машиною, і їх редагування не рекомендується, наприклад, меню завантаження, є якась мова скриптів для вивчення та Інтерпретатори сценаріїв запускаються при зміні. Наразі це для мене занадто причетно, і це лише для запуску операційної системи, а не ракети до Місяця!


Я ще не розглядав варіант використання зображення Ubuntu Alternate CD / .ISO - завантажте тут: release.ubuntu.com/lucid Якщо ви подивитесь на форум Ubuntu (посилання вище), де я опублікував копію питання, ви побачите публікацію від респондента, який згадує про це. Ключовим моментом є те, що він дає вам вибір, куди поставити GRUB (і робити це буде офіційно та правильно, а не вручну вгадувати, як я це робив), і плакат стверджує, що вони досягли зашифрованих Ubuntu та Truecrypted Windows на одній машині - що було моєю метою.
therobyouknow

1

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

  1. Для того, щоб встановити Truecrypt, мені довелося перевстановити Windows 7 у його оригінальний розділ.
  2. Тоді я встановив truecrypt (шифрування всього розділу Windows 7)
  3. Користуючись цими інструкціями, я перевстановив Ubuntu з USB-клавіші, розмістивши завантажувач grub2 на розділ Ubuntu
  4. Після перезавантаження я отримую завантажувач TrueCrypt. Я натискаю [ESC] і отримую список завантажуваних розділів, включаючи linux (він також показує розділ Windows, але оскільки це зашифровано, завантаження цього не вийде).

Я сподіваюся, що це і ви хочете.


1

Я просто провів останні два дні, бореться з цим, і не зміг отримати жодну з цих відповідей, щоб працювати на мене. Що я нарешті дійшов, я задокументував у своєму блозі . Ось підсумкова версія (зроблена за допомогою 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 піднесіть ваші успішні зусилля, чудова робота У мене немає машини для експерименту, вони зараз використовуються для інших речей). Знову дякую!
therobyouknow

-1

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.