Установка зашифрованной (TrueCrypt) Windows при Ubuntu по умолчанию

от автора

Нужно: поставить на одну машину одновременно Windows и Ubuntu таким образом, чтобы нельзя было посмотреть содержимое Windows не имея пароля. CD-ROM’а нет, USB Only.
Работа с виртуалкой из под Ubuntu не понравилась по многим причинам, основная — существенные проблемы производительности.
Решено: ставить паралельно 2 операционки (Windows & Ubuntu) таким образом, что по умолчанию грузится Ubuntu, а Windows размещается на загрузочном разделе.

Для начала нужно подготовиться. Нам потребуется: 2 флешки достаточного размера.
На одну ставим Ubuntu:
Инструкция как сделать USB Ubuntu под Windows
Скачать универсальный USB инсталятор linux
Скачать образ Ubuntu
Нажать пару кнопок (указать путь к ISO и запустить) и все — флешка готова

На другую ставим Windows:
Инструкция под Windows
На эту же флешку копируем все драйвера нашего компьютера (чтобы потом не искать) и программу для шифрования TrueCrypt (FREE! OPEN SOURCE!) Download

Краткий бриф: Windows раздел мы будем шифровать при помощи програмы TrueCrypt. Мы хотим получить схему при которой linux загрузчик грузится первым (grub) и при необходимости захватывает загрузчик TrueCrypt, который уже в свою очередь грузит Windows с шифрованного раздела системы. При этом шифрование будет происходить на лету, тоесть в любой момент времени данные на диске будут надежно сохранены.

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

Шаг 1. Делаем разметку диска и
Загружаемся с флешки с Ubuntu.
Запускаем програму GParted (в программах набираем ее название)
Выбираем нужный диск, создаем новую таблицу разделов (Инструкция) в стиле msdos

Разбиваем диск примерно таким образом:

 /dev/sda1 - Раздел под будующую Windows Тип: Основной раздел (primary partiton) Файловая система: NTFS Размер: не менее 30Gb (системный раздел Windows, я рекомендую отдать 150Gb ведь там же будут и все программы Windows которые должны быть зашифрованы)  /dev/sda2 загрузочный раздел Ubuntu (потом будем монтировать туда /boot) Тип: Основной раздел (primary partiton) Файловая система: ext2 Размер: 512mb  /dev/sda3 LBA1 - раздел контейнер всего Тип: logical block addressing Размер: неограничен тут будет ваша публичная система  	/dev/sda4 SWAP 	Тип: Раздел внутри LBA1 (extended patition) 	Файловая система: SWAP 	Размер: равен размеру вашей оперативной памяти (например 16Gb)  	/dev/sda5 Ubuntu основной раздел (/) 	Тип: Раздел внутри LBA1 (extended patition) 	Файловая система: ext4 	Размер: неограничен тут будет ваша публичная система Ubuntu и ее корень. 	 	/dev/sda6 Необязательный раздел для обмена файлами между двумя системами - этот раздел не будет шифроваться и в него смогут получить доступ обе системы. 	Тип: Раздел внутри LBA1 (extended patition) 	Файловая система: NTFS 	Размер: по усмотрению. 

При желании могут быть и другие разделы (особенно при установке Ubuntu может что-то захотеться выделить отдельно)
Что мы сделали?

  • мы выделили первым разделом основной раздел для Windows — так она встанет без проблем и нам не придется создавать дурацкий раздел на 100mb как если бы она разбивала диск сама.
  • мы выделили отельный загрузочный раздел — это очень важно, потому что именно так нам будет удобно получить доступ к системе Ubuntu сразу после шифрования Windows безо всяких танцев с бубном =)

Шаг 2. ставим Ubuntu.
Выбираем раздел установка Ubuntu и ставим ее сответсвенно разбиению выше:

  /boot	(/dev/sda2)  swap	(/dev/sda4)  /	(/dev/sda5) 

перезагружаемся в Ubuntu (установленную)
и делаем такую команду: «sudo grub-install /dev/sda2 —force»
подробности тут: habrahabr.ru/post/150209/
Так мы проставим Grub в /boot раздел

Шаг 3. Установка Windows.
Грузимся с другой флешки и ставим Windows в первый раздел.
Устанавливаем TrueCrypt (кстати, тут есть локализация www.truecrypt.org/localizations просто скачать и расспаковать в папку с програмой)
Шифруем раздел с системой (процесс прост, я укажу только важные моменты):

  • Обычное шифрование, без скрытой системы
  • Область шифрования: «Зашифровать системный раздел Windows»
  • Указываем что у нас будет Мультизагрузка
  • Продолжаем шифрование и получаем диск восстановления (.ISO образ диска восстановления)
  • Сохраняем полученный .ISO на флешку — он очень важен. Без него многие дальнейшие шаги будут не возможны!

Перезагружаемся нужное количество раз и получаем зашифрованную систему

Впринципе на данном этапе можно было бы и успокоиться, потому что уже у вас будет:

  • Зашифрованная система, с основным загрузчиком Truecrypt, который при нажатии Esc передает управление на GRUB2 загрузчик
  • Ubuntu в соответвующем разделе.

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

Шаг 4. Настраиваем GRUB2 и ставим его в MBR
Загружаем Ubuntu
Теперь нам нужно научить GRUB2 работать с сохраненным ISO. Делается это так:
Копируем полученный ISO в /boot и переименуем его в /boot/truecrypt.iso
открываем консоль и переходим в режим godmode:

sudo -i 

далее нужно поставить в /boot утилиту memdisk, для этого:

apt-get install syslinux cp /usr/lib/syslinux/memdisk /boot 

настраиваем GRUB2

nano /etc/grub.d/40_truecrypt 

создаем файл /etc/grub.d/40_truecrypt такого содержания:

#!/bin/sh exec tail -n +3 $0 # TrueCrypt menuentry "Microsoft Windows" { 	insmod part_msdos 	insmod ext2 	set root='(hd0,msdos2)' 	linux16 ($root)/memdisk iso raw 	initrd16 ($root)/truecrypt.iso } 

здесь msdos2 — второй раздел диска первого (/dev/sda)
Следите за пробелами — важно. Файлу задайте права на исполнения групе и владельцу:

chmod og+x /etc/grub.d/40_truecrypt 

так у нас конфиги все сделаны, исполняемые файлы скопированы, осталось собрать:

update-grub 

и записать его в MBR:

grub-install /dev/sda 

Теперь перезагружаемся и наслождаемся процессом.
У нас в MBR загрузчик GRUB2 который при необходимости может загрузить загрузчик TrueCrypt c образа диска восстановления TrueCrypt
Единственное, что вероятно вам не удасться введя пароль войти в систему — это происходит потому,
что GRUB2 при установке повредил ключи TrueCrypt, но восстановить их не трудно:
просто в загрузчике TrueCrypt нажмите F8 и выберите соотвествующий пункт.

Однако при перезаписывании загрузчика TrueCrypt GRUB не полностью стер от него все флаги и следы, поэтому при загрузке через TrueCrypt вероятно вы увидите такое сообщение:

it appears you are creating a hidden os. is this correct (y/n)

приглашающее создать скрытую систему, при нажатии Y ничего происходить не будет, а при нажатии N все загрузится как и должно.
Чтобы избивиться от этого назойливого сообщения нужно подчистить все следы от TrueCrypt в MBR вручную:
Загружаемся в Ubuntu и делаем такие команды:

  1. проверяем что остались хвосты от TrueCrypt
    dd if=$yourhd count=8 bs=1 skip=6 

    должно вывести «TrueCryp»

  2. чистим TrueCrypt маркер в MBR:
    echo 'grub<3tc' | dd of=$yourhd count=8 bs=1 seek=6 

после чего Profit!

Первоисточники информации:
Вдохновила эта статья
habrahabr.ru/post/150209/
тут рассказано как запустить ISO из TrueCrypt
ubuntuforums.org/showthread.php?s=944676ea513800587c6f7a2dbc09c623&t=1229541&page=4
про GRUB2 читал тут
wikibooks.org/wiki/Grub_2
Про GParted
gparted.sourceforge.net/display-doc.php?name=help-manual

ссылка на оригинал статьи http://habrahabr.ru/post/160945/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *