Создание зашифрованных linux и windows на одном диске

Anonymouse

Участник проекта
Регистрация
4 Фев 2016
Сообщения
1,082
Реакции
8,613
ГАРАНТ
10
Статья не моя, прочитал на соседнем ресурсе но, уверен, будет и здесь для кого-то весьма полезна и познавательна. Поэтому оставлю ее и на ввх

==========================================
Итак, постановка задачи: вы хотите держать все свои данные зашифрованными, но при этом у вас на одном жёстком диске расположился как Линукс, так и Виндовс. Это может понадобиться, например, если нужна программа, которая не представлена в Лине, или если есть какие-то корпоративные требования безопасности или… Да мало ли зачем благородному дону или донне нужны две ОС.

Смотреть в сторону богомерзких решений с закрытыми исходниками типа BitLocker мы, разумеется, не будем. Для Windows нам понадобится VeraCrypt, а для Линукса – встроенный в большинство дистрибутивов LUKS.

Проблема же заключается в том, что при шифровании Windows с помощью TrueCrypt или VeraCrypt они записывают себя на первое место в списке загрузчиков и после ввода пароля у нас уже нет возможности загрузить Linux. Решение именно этой проблемы представлено в заметке, которую вы читаете. (На русском языке я не нашёл аналога, а то, что на английском - без скриншотов и вообще недостаточно подробно)

Для начала стоит настроить выбрать правильную таблицу разметки диска – нас интересует EFI. Альтернативой будет MBR, с которым мне так и не удалось справиться. Выбор делается при установке Windows: в каком режиме запустите установку, в таком и будет размечен диск. Нас интересует UEFI.

Первым устанавливается Виндовс, чтобы установившийся вторым Линукс – я выбрал для демонстрации лаконичный Manjaro – поставил свой загрузчик GRUB 2. Разумеется, при разметке следует оставить место для линукса! Windows самостоятельно создаст раздел FAT32 размером в 100 Mb с флагами boot и esp.





Поставили? Отлично, теперь Линь. Для начала проверим, всё ли в порядке с таблицей разделов: в gparted вы должны увидеть нечто подобное.



При установке выбираем Manual Partitioning, создаём зашифрованный раздел в свободном пространстве и монтируем стомегабайтный раздел в /boot/efi без форматирования. Ставим, перезагружаем, вводим пароль и с удовольствием видим меню выбора ОС с обеими системами.









Manjaro зашифрован, Windows пока нет. Исправим! Загружаемся в Windows, устанавливаем VeraCrypt (все параметры установки по умолчанию, все программы качать только с офсайтов, благо они пока поддерживаются) и шифруем систему (Система -> Зашифровать системный раздел/диск). Никакого выбора у вас особо не будет, так что придётся оставить “Зашифровать системный раздел Windows” и “Одиночная загрузка”. Параметры шифрования выбираете по вкусу. Я бы предпочёл Serpent(AES) – когда-то у программы были проблемы с реализацией AES, так что лучше перестраховаться. Остальное на ваше усмотрение.



Перезагружаетесь и обнаруживаете требование сразу ввести пароль для винды. Всё, теперь линукс недоступен.



Теперь начинается неочевидная часть. После того, как вы окончательно зашифруете диск (может занять значительное время), скачайте, установите и запустите EasyUEFI. Программа условно-бесплатная, но нам бесплатных функций хватит. Выбираете раздел Manage EFI Boot Option и записывайте путь загрузчика VeraCrypt - File Path на скриншоте. Он нам ещё понадобится.



Далее есть два варианта.


1.
Когда я ставил на собственный компьютер, там была видна опция Manjaro – в этом случае просто ставим её наверх зелёной стрелочкой и перезагружаемся в Linux.



Загрузчик Линукса не имеет ни малейшего представления о том, что Windows зашифрован, и при выборе в нём опции Windows он не будет пытаться запустить старый загрузчик - который, разумеется, ничего не найдёт на обработанном VeraCrypt разделе. Надо указать ему путь к новому загрузчику VeraCrypt.

Вбиваем

sudo nano /boot/grub/grub.cfg

И меняем там строку

chainloader /EFI/Microsoft/Boot/bootmgfw.efi

на

chainloader /EFI/VeraCrypt/DcsBoot.efi

Теперь там должен быть путь, который вы увидели в EasyUEFI.



Всё!

Перезагружаемся, вводим пароль от Линукса, и выбираем ОС. Выбрали Manjaro – вошли в Linux, выбрали Windows – вводим пароль от VeraCrypt и загружаемся в Windows.

Возможно, существует способ запускать выбор системы ДО ввода пароля, чтобы при запуске Windows не приходилось бы вводить пароль от Linux, но я его не нашёл.



2.
На VirtualBox, который я запустил для демонстрации, опции Manjaro в программе EasyUEFI почему-то нет. Заходим при загрузке в boot manager (в случае виртуалбокса – F2). Boot Maintenance Manager → Boot Options → Add Boot Option → Ваш Boot раздел →EFI → Manjaro (или Ваша ОС) → grub64.efi. Даёте название, нажимаете F10 для сохранения, дважды Ecs, Change Boot Order и ставите свою систему на первое место. Снова сохраняете и выходите из меню. Теперь вы загрузитесь в Linux.















В очереди загрузчика первым будет стоять загрузчик Линукса. В VirtualBox изменения не сохраняются при перезагрузке, и изменения от efibootmgr тоже, но на реальном железе всё должно быть в порядке. После этого выполняете действия, описанные в первом варианте, то есть модифицируете GRUB.

(С) Clochard

======================================
 

Работай безопасно с WWH-CLUB : ручной и автоматический гарант-сервис.

Продвигай свою коммерцию : баннерная и автоматическая реклама. 

Получай новые знания : бесплатно или платно.

 

EscapeWorld

WWH-CLUB
WWH-LOGS
АвтоГарант : 1
Регистрация
23 Авг 2018
Сообщения
55
Реакции
56
Давно интересовал этот вопрос, спасибо за познавательную статью :good:
 

Сверху