Як подружити truecrypt loader і grub 2 від ubuntu 12 precise pangolin, фармалін

Як подружити truecrypt loader і grub 2 від ubuntu 12 precise pangolin, фармалін

Сьогодні я розповім, як подружити завантажувач від програми шифрування Truecrypt і ніксовскій завантажувач Grub 2. Така необхідність може виникнути (і неминуче виникає) при спробі встановити поруч на одному жорсткому диску ОС Windows, зашифровану безкоштовною програмою Truecrypt, і unix-подібну операційну систему, наприклад Ubuntu.

Основна проблема полягає в тому, що Grub не вміє працювати з ключами truecrypt і не може розшифрувати віндошний розділ, а truecrypt loader НЕ [завжди] вміє завантажувати інші операційні системи. Існує два основні підходи до вирішення завдання.

Підхід перший. В Master boot record (MBR) знаходиться завантажувач Truecrypt

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

Проблеми, в основному, пов'язані з тим, що ОС Windows 7 при інсталяції створює для себе невеликий завантажувальний розділ на 100 мегабайт (він необхідний для шифрування за допомогою BitLocker), а в такій ситуації трукріпт відмовляється встановити Мультізавантажувальний завантажувач "з коробки" при шифруванні системного розділу. Принаймні така поведінка справедливо для Truecrypt версії 7.1a. Таким чином, доводиться встановлювати звичайний завантажувач трукріпт, який виглядає так:

Як подружити truecrypt loader і grub 2 від ubuntu 12 precise pangolin, фармалін

Як можна помітити, є можливість відмовитися від введення пароля, натиснувши клавішу Esc. В такому випадку, нам буде запропонований список розділів жорсткого диска, яким можна передати управління для подальшого завантаження.

Як подружити truecrypt loader і grub 2 від ubuntu 12 precise pangolin, фармалін

Підводний камінь залючается в тому, що не завжди / boot розділ Linux присутній в даному списку. Щоб він там з'явився, має бути виконано кілька умов. Завантажувальний розділ * nix повинен бути первинним розділом (primary partiton), а не частиною розширеного (НЕ extended patition), повинен мати прапор "завантажувальний" ( "bootable"), а також мати на собі завантажувач, якому можна передати управління.

Якщо з першими двома умовами все зрозуміло, і при установці того ж Ubuntu можна відразу правильно конфігурувати жорсткий диск, то з останньою умовою можуть виникнути труднощі. Справа в тому, що Grub версії 2 не любить встановлюватися не в MBR, тому що при цьому використовується неотказоустойчівая система і є ймовірність, що завантажувач буде час від часу "злітати". Повідомлення про це ви побачите, коли спробуєте виконати команду установки завантажувача на розділ. Для того, щоб все вийшло необхідно використовувати ключ "-force".

sudo grub-install / dev / sda6 --force

де / dev / sda6 - / boot розділ вашого Ubuntu.

Таким чином, послідовність установки і настройки всього можна описати таким чином:

  1. Уснавліваем windows
  2. Встановлюємо Ubuntu, створивши / boot розділ для неї на окремому первинному розділі, поставивши прапор "завантажувальний"
  3. Завантажуємо Ubuntu і встановлюємо Grub в / boot розділ (як було описано вище)
  4. Перезавантажуємося в windows, встановлюємо Truecrypt, шифруємо системний розділ

Тепер у нас в MBR завантажувач Truecrypt.

  • Для того, щоб завантажитися в windows просто вводимо правильний пароль від системного розділу
  • Для того, щоб завантажити Ubuntu натискаємо Esc, щоб відмовитися від введення пароля і вибираємо / boot розділ

Траблшутінг

У деяких випадках Ubuntu може перезаписати завантажувач в MBR на Grub і ви втратите можливість завантажувати Windows. Щоб цього не сталося слід створити резервну копію завантажувача і ключів, необхідних для розшифровки системного диска.

Створюємо резервну копію:

/truecrypt.mbr count = 1 bs = 512 dd if = / dev / sda of =

/truecrypt.backup count = 8 bs = 32256

Відновлюємо з резервної копії (де / dev / sda6 - ваш / boot розділ!) В разі збою:

/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 / sda6 --force

Підхід другий. В Master boot record (MBR) знаходиться завантажувач Grub 2

А як же передати управління завантажувачу Truecrypt з Grub 2? Можна було б зберегти завантажувач і ключі у вигляді файлу і намагатися передати управління йому. Можна було б використовувати iso Truecrypt Recue CD, якби Grub 2 вмів завантажувати iso образи як робить його молодший брат Grub4Dos (а він не вміє! Вміє тільки монтувати файлову систему iso ..) Я вже було зовсім зневірився в пошуках, але раптово наткнувся на досить просте і елегантне рішення.

Завдяки чудовим людям, які розробляють проект "Grub2 loves TrueCrypt" стало можливо конвертувати завантажувальний рятувальний iso-образ Truecrypt в формат, з яким вміє працювати Grub2.

Отже, встановлюємо git, щоб склоніровать репозиторій з grub2tc, а також ruby ​​для роботи самої програми:

sudo -i apt-get install git ruby ​​git clone git: //gitorious.org/grub2tc/grub2tc.git

Після цього копіюємо в папку з програмою образ "TrueCrypt Rescue Disk.iso" і перейменовуємо його в "tcrescue.iso". виконуємо команду

У папці з'явиться файл "tcloader", який потрібно скопіювати в / boot

Тепер залишилося відредагувати меню завантажувача, щоб в ньому з'явився пункт завантаження Truecrypt. Додаємо в файл /etc/grub.d/40_custom:

update-grub2 grub-install / dev / sda

де / dev / sda - ваш жорсткий диск

Тепер, ще один важливий момет. Останньою командою (коли ви переустановили Grub в MBR жорсткого диска) ви швидше за все пошкодили ключі Truecrypt, необхідні для розшифровки системного розділу. Відтепер при спробі ввести пароль, ви будете отримувати повідомлення "Incorrect password". Щоб це виправити, відновимо ключі з файлу-бекапа, який дбайливо створив для нас у своїй директорії grub2tc volhead:

dd if = volhead of = / dev / sda bs = 512 seek = 62

Тепер можна завантажуватися!

Таким чином, послідовність установки і настройки всього для цього методу можна описати таким чином:

  1. Уснавліваем windows
  2. встановлюємо Ubuntu
  3. Перезавантажуємося в windows, встановлюємо Truecrypt, шифруємо системний розділ
  4. Як-небудь завантажуємо Ubuntu :) (наприклад з завантажувальної флешки / диска) і проробляємо вищеописані маніпуляції за допомогою програми grub2tc

Тепер у нас в MBR завантажувач Grub2.

  • Для того, щоб завантажитися в Ubuntu просто вибираємо такий пункт при завантаженні
  • Для того, щоб завантажити Windows вибираємо пункт "Windows via TrueCrypt" і вводимо правильний пароль

Траблшутінг

Якщо завантажувач Truecrypt з яких-небудь причин перестав впізнавати ваш пароль (пошкоджені ключі), то їх завжди можна відновити з резервної копії в папці з grub2tc командою:

dd if = volhead of = / dev / sda bs = 512 seek = 62

Обидва методи підходять для використання їх спільно з шифруванням Лінукса dm-crypt і LVM, що дозволяє мати обидві-дві операційні системи повністю зашифрованими :)

Схожі статті