Нужно: поставить на одну машину одновременно 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 с шифрованного раздела системы. При этом шифрование будет происходить на лету, то есть в любой момент времени данные на диске будут надежно сохранены.
Теперь мы вооружены и полностью готовы. Теперь распечатываем инструкцию ниже или берем планшет/ноутбук и вперед.
Загружаемся с флешки с Ubuntu (режим Try Ubuntu).
Запускаем програму GParted (в программах набираем ее название)
Выбираем нужный диск, создаем новую таблицу разделов (Инструкция) в стиле msdos.
Разбиваем диск примерно таким образом:
При желании могут быть и другие разделы (особенно при установке Ubuntu может что-то захотеться выделить отдельно)
Что мы сделали?
тоже грузимся в режиме Try Ubuntu и пользуемся мастером с рабочего стола
Выбираем раздел установка Ubuntu и ставим ее соответственно разбиению выше:
перезагружаемся в Ubuntu (установленную)
и делаем такую команду:
подробности тут: habrahabr.ru/post/150209
Так мы проставим Grub в /boot раздел
Грузимся с другой флешки и ставим Windows в первый раздел.
Устанавливаем TrueCrypt (кстати, тут есть локализация www.truecrypt.org/localizations просто скачать и распаковать в папку с программой)
Шифруем раздел с системой (процесс прост, я укажу только важные моменты):
Перезагружаемся нужное количество раз и получаем зашифрованную систему.
В принципе на данном этапе можно было бы и успокоиться, потому что уже у вас будет:
Следующие действия нужны только лишь для того, чтобы поменять очередность и сделать не зашифрованную систему Ubuntu по умолчанию, а зашифрованную систему Windows вторичной
Загружаем Ubuntu
Теперь нам нужно научить GRUB2 работать с сохраненным ISO. Делается это так:
Копируем полученный ISO в /boot и переименуем его в /boot/truecrypt.iso
открываем консоль и переходим в режим godmode:
далее нужно поставить в /boot утилиту memdisk, для этого:
настраиваем GRUB2
создаем файл /etc/grub.d/40_truecrypt такого содержания:
здесь msdos2 — второй раздел диска первого (/dev/sda2, да цифра совпадает, msdos потому что у нас тип таблицы размещенй msdos, такой тут вот синтаксис)
Следите за пробелами — важно. Файлу задайте права на исполнения групе и владельцу:
так у нас конфиги все сделаны, исполняемые файлы скопированы, осталось собрать:
и записать его в MBR:
Теперь перезагружаемся и наслождаемся процессом.
У нас в MBR загрузчик GRUB2 который при необходимости может загрузить загрузчик TrueCrypt c образа диска восстановления TrueCrypt
Единственное, что, вероятно, вам не удастся, введя пароль, войти в систему — это происходит потому,
что GRUB2 при установке повредил ключи TrueCrypt, но восстановить их не трудно:
просто в загрузчике TrueCrypt нажмите F8 и выберите соотвествующий пункт.
Однако при перезаписывании загрузчика TrueCrypt GRUB не полностью стер от него все флаги и следы, поэтому при загрузке через TrueCrypt вероятно вы увидите такое сообщение:
приглашающее создать скрытую систему, при нажатии Y ничего происходить не будет, а при нажатии N все загрузится как и должно.
Чтобы избиваться от этого назойливого сообщения нужно подчистить все следы от TrueCrypt в MBR вручную:
Загружаемся в Ubuntu и делаем такие команды:
Если нужно сделать пункт меню скрытым (чтоб вообще не привлекал внимание), то вот инструкция
Profit!
Работа с виртуалкой из под 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 (режим Try 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
тоже грузимся в режиме Try 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/sda2, да цифра совпадает, msdos потому что у нас тип таблицы размещенй msdos, такой тут вот синтаксис)
Следите за пробелами — важно. Файлу задайте права на исполнения групе и владельцу:
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 и делаем такие команды:
- проверяем, что остались хвосты от TrueCrypt
dd if=/dev/sda count=8 bs=1 skip=6
должно вывести «TrueCryp»
- чистим TrueCrypt маркер в MBR:
echo 'grub<3tc' | dd of=/dev/sda count=8 bs=1 seek=6
тут пишем просто /dev/sda — потому что правим MBR диска. Откуда именно такие смещения, я не нашел, если кто знает — прошу в комменты.
Если нужно сделать пункт меню скрытым (чтоб вообще не привлекал внимание), то вот инструкция
Profit!
Возможные проблемы
- Если вы после шифрования всегда хотите иметь гарантии того, что система Windows загрузится вне зависимости от того, получатся ли дальнейшие действия, то можно загрузиться с флешки Ubuntu и сделать так:
Создаём резервную копию:
dd if=/dev/sda of=~/truecrypt.mbr count=1 bs=512 dd if=/dev/sda of=~/truecrypt.backup count=8 bs=32256
Восстанавливаем из резервной копии в случае восстановления:
sudo dd if=~/truecrypt.mbr of=/dev/sda count=1 bs=512 sudo dd if=~/truecrypt.backup of=/dev/sda count=8 bs=32256
- Бывает, что вы все сделали правильно, поставили Ubuntu, потом Windows, потом его зашифровали, но не можете в попасть в Ubuntu (кстати, вероятно, что-то не так нажали) тогда нужно сделать следующее, чтобы восстановить загрузчик Grub2:
- Загружаемся с флешки с Ubuntu (режим Try Ubuntu)
- в консоли набираем следующее:
sudo -i mount /dev/sda5 /mnt mount /dev/sda2 /mnt/boot
Если поставить загрузчик в MBR (дальше только шаг4)
grub-install --root-directory=/mnt /dev/sda
или если хочется все-таки иметь Ubuntu как вторую систему, то
grub-install --root-directory=/mnt /dev/sda2 --force
подробности: мануал по восстановлению Grub2
- Загрузчик Grub2 установлен в /dev/sda2, сам раздел основной, но почему-то не можем в него попасть после нажатия Esc в загрузчике TrueCrypt. Есть информация, что загрузчик TrueCrypt видит только разделы с флагом Boot. Значи, надо разделу /dev/sda2 дать такой флаг. Открываем Gparted, в нем находим нужный раздел, правой кнопкой на нем, там флаги и выбираем флаг Boot, после чего даже сохранять не нужно — вроде сам сделает и перезагружаемся, проверяем.
Первоисточники информации
- Вдохновила эта статья
habrahabr.ru/post/150209
на самом деле, ее бы и было достаточно, если бы не тот факт, что следуя этой статье, мне не удалось 3 раза подряд все сделать, если интересно — см. там комментарии. - тут рассказано, как запустить ISO из TrueCrypt
ubuntuforums.org/showthread.php?s=944676ea513800587c6f7a2dbc09c623&t=1229541&page=3#23
Это, собственно, самая соль поста, ради которой пришлось охотиться.
- про GRUB2 читал тут
ru.wikibooks.org/wiki/Grub_2 - Про GParted
gparted.sourceforge.net/display-doc.php?name=help-manual