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

в 0:03, , рубрики: grub2, truecrypt, метки: ,

Нужно: поставить на одну машину одновременно 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!

Первоисточники информации:

Автор: developer

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js