Как я могу установить Ubuntu, зашифрованный с помощью LUKS с двойной загрузкой?

73

Установочный диск Ubuntu 13.04 имеет возможность установить Ubuntu в зашифрованном виде с помощью LUKS. Однако нет возможности выполнить зашифрованную установку рядом с существующими разделами для сценария двойной загрузки.

Как я могу установить Ubuntu в зашифрованном виде вместе с другим разделом с живого диска?

Флимм
источник
Если посмотреть на скрипт cryptroot, то отклоненное редактирование действительно правильно. Каждая строка в conf.d / cryptroot обрабатывается так же, как и другой аргумент cryptopts. Можно ли использовать установщик, если дешифрованный раздел не является группой томов? Я пытался, и, похоже, он не позволит мне использовать его без разделов. В моем случае это твердотельный накопитель с 3 разделами: Linux / boot, Linux /, Windows, с swap и / home, находящимися на жестком диске, поэтому на самом деле нет необходимости в LVM. Я предполагаю, что мне придется остаться с моей оригинальной идеей, которая заключалась в использовании debootstrap с живого CD.
Полезное руководство: « Как настроить зашифрованную установку Ubuntu? », Гаян, HecticGeek.com - hecticgeek.com/2012/10/…
Габриэль Стейплс,

Ответы:

88

Прежде всего, если вы хотите установить Ubuntu в зашифрованном виде на жесткий диск, заменив любые существующие разделы и операционные системы, вы можете сделать это прямо из графического установщика. Этот ручной процесс требуется только для двойной загрузки.

Этот ответ был протестирован с Ubuntu 13.04.

  1. Загрузитесь с живого DVD или USB-накопителя Ubuntu и выберите «Попробуйте Ubuntu».

  2. Создайте два раздела, используя GParted, включенный в живой диск. Первый раздел должен быть неформатированным и должен быть достаточно большим для root и swap, в моем примере это так /dev/sda3. Второй раздел должен быть размером в несколько сотен мегабайт и отформатирован в ext2 или ext3, он будет незашифрован и смонтирован /boot(в моем примере это так /dev/sda4).

    На этом снимке экрана у меня есть существующая незашифрованная установка Ubuntu в двух разделах: /dev/sda1и /dev/sda5, выделите в кружке слева. Я создал неформатированный раздел /dev/sda3и раздел ext3 /dev/sda4, предназначенный для зашифрованной установки Ubuntu, выделенный в круге справа:

    GParted скриншот

  3. Создайте контейнер LUKS, используя эти команды. Замените /dev/sda3на неформатированный раздел, созданный ранее, и cryptcherriesименем по вашему выбору.

    sudo cryptsetup luksFormat /dev/sda3
    sudo cryptsetup luksOpen /dev/sda3 cryptcherries
    
  4. Предупреждение . Вы заметите, что luksFormatшаг завершен очень быстро, поскольку он не удаляет базовое блочное устройство. Если вы просто не экспериментируете и не заботитесь о защите от различных видов криминалистической атаки, очень важно правильно инициализировать новый контейнер LUKS перед созданием в нем файловых систем. Запись нулей в сопоставленный контейнер приведет к записи сильных случайных данных на базовое блочное устройство. Это может занять некоторое время, поэтому лучше всего использовать pvкоманду для отслеживания прогресса:

    ### Only for older releases, e.g. not for 19.04, `pv` is not included in the repo must be added first
    # sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu $(lsb_release -sc) universe"
    # sudo apt-get update
    
    sudo apt-get install -y pv
    sudo sh -c 'exec pv -tprebB 16m /dev/zero >"$1"' _ /dev/mapper/cryptcherries
    

    или, если вы делаете автономную установку и не можете легко получить pv:

    sudo dd if=/dev/zero of=/dev/mapper/cryptcherries bs=16M
    
  5. Внутри подключенного контейнера LUKS создайте физический том LVM, группу томов и два логических тома. Первый логический том будет подключен /, а второй будет использоваться в качестве свопа. vgcherriesэто имя группы томов, а также lvcherriesrootи lvcherriesswapимена логических томов, вы можете выбрать свой собственный.

    sudo pvcreate /dev/mapper/cryptcherries
    sudo vgcreate vgcherries /dev/mapper/cryptcherries
    sudo lvcreate -n lvcherriesroot -L 7.5g vgcherries
    sudo lvcreate -n lvcherriesswap -L 1g vgcherries
    
  6. Создайте файловые системы для двух логических томов: (Вы также можете сделать этот шаг непосредственно из установщика.)

    sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot
    sudo mkswap /dev/mapper/vgcherries-lvcherriesswap
    
  7. Без перезагрузки установите Ubuntu с помощью графического установщика (ярлык находится на рабочем столе в Xubuntu 18.04), выбрав ручное разбиение. Назначают /к /dev/mapper/vgcherries-lvcherriesrootи /bootв незашифрованном раздела , созданного на шаге 2 (в данном примере, /dev/sda4).

  8. Как только графический установщик закончится, выберите «продолжить тестирование» и откройте терминал.

  9. Найдите UUID разделов LUKS ( /dev/sda3в данном случае), он понадобится вам позже:

    $ sudo blkid /dev/sda3
    /dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"
    
  10. Смонтируйте соответствующие устройства в соответствующих местах /mntи вставьте в них:

    sudo mount /dev/mapper/vgcherries-lvcherriesroot /mnt
    sudo mount /dev/sda4 /mnt/boot
    sudo mount --bind /dev /mnt/dev
    sudo chroot /mnt
    > mount -t proc proc /proc
    > mount -t sysfs sys /sys
    > mount -t devpts devpts /dev/pts
    
  11. Создайте файл с именем /etc/crypttabв изолированной среде, в котором будет содержаться эта строка, заменив значение UUID на UUID раздела LUKS и vgcherriesименем группы томов:

    # <target name> <source device> <key file> <options>
    cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
    
  12. Выполните следующую команду в изолированной среде:

    update-initramfs -k all -c
    
  13. Перезагрузитесь и загрузитесь в зашифрованную Ubuntu. Вам будет предложено ввести пароль.

  14. Убедитесь, что вы используете зашифрованный раздел /, выполнив mount:

    $ mount
    /dev/mapper/vgcherries-lvcherriesroot on / type ext4 (rw,errors=remount-ro)
    /dev/sda4 on /boot type ext3 (rw)
    # rest of output cut for brevity
    
  15. Убедитесь, что вы используете зашифрованный раздел подкачки (а не незашифрованные разделы подкачки из других установок), выполнив следующую команду:

    $ swapon -s
    Filename                              Type      Size   Used Priority
    /dev/mapper/vgcherries-lvcherriesswap partition 630780 0    -1
    
  16. Убедитесь, что вы можете загрузиться в режиме восстановления, вы не хотите позже выяснить, что режим восстановления не работает :)

  17. Установите все обновления, которые могут перестроить виртуальный диск и обновить конфигурацию grub. Перезагрузите и протестируйте как обычный режим, так и режим восстановления.

Флимм
источник
3
Я могу убедиться, что в 15.04 вы можете пропустить шаги 11, 13 и 14, и что на самом деле может быть необходимо пропустить эти шаги (так как запуск update-grub таким образом привел к потере моего раздела Windows)
process91
4
@ process91 Похоже шаги поменялись номерами. Теперь вам нужно ommit 12, 14 и 15.
Александр Дубинский
5
Отличный гид. Впервые работал для Windows 10 с BitLocker и Ubuntu 16.04, пропуская шаги 12, 14 и 15 здесь. Я заметил, что было несколько других камней преткновения, которые могли бы помочь с разъяснениями, особенно то, что вы выбираете для раздела загрузчика (он устанавливается на существующий раздел EFI, но вы, вероятно, можете просто выбрать диск, на который вы устанавливаете Ubuntu, например, / DEV / SDA). Любой, у кого есть полные права редактора, может скопировать и вставить из моей статьи
Стивен Мод,
5
@unhammer только что отредактировал ответ и удалил пару шагов, для тех, кто читает комментарии и запутывается.
Flimm
3
Автор уже забрал старые шаги 12,14,15. Так что НЕ пропускайте никаких шагов. Работает с Ubuntu Mate 16.04.1.
user4955663
9

Можно создать зашифрованную настройку двойной загрузки, используя только инструменты GUI Ubuntu LiveCD.

Предпосылки

  • USB-флешка с установщиком Ubuntu 19.04.
  • Если у вас есть EFI Mainboard, убедитесь, что на диске используется таблица разделов GUID (GPT). Использование MBR-диска с этим методом, похоже, не удается. Вы можете конвертировать MBR в GPT с помощью инструментов Linux ( gdisk), но сначала вы должны сделать резервную копию. Если вы преобразуете таблицу разделов, вам нужно будет впоследствии исправить загрузчик Windows .

Windows

  • В строке запуска введите disk partitionи выберите первый вариант (открытие диспетчера разделов диска в настройках).

  • Сократите ваш основной раздел до желаемого размера Ubuntu (я просто использовал значение по умолчанию, разделив мой 500-ГБ диск на ОС Windows 240 ГБ и нераспределенное пространство 240 ГБ).

BIOS

  • Отключить безопасную загрузку (если у вас есть битлокер, вам нужно будет включать его для безопасной загрузки в Windows каждый раз) - это хорошо для меня, так как Ubu - моя основная ОС, просто используйте windoze для игр.

Ubuntu LiveCD

Наконец-то - загрузитесь с установщика USB 19.04

  • Нажмите Enterна опцию Установить Ubuntu по умолчанию .

  • Когда вы попадете на экран с надписью « Стереть весь диск» и с некоторыми флажками, нажмите « Что-то еще» (ручное разбиение). В противном случае вы потеряете данные Windows!

Как только менеджер дисковых разделов загрузит ваш диск, у вас будет большое нераспределенное пространство. Нажмите на это и нажмите кнопку Добавить , чтобы создать разделы.

  • Сначала создайте /bootраздел размером 500 МБ (основной, ext4).
  • Во-вторых, с остальным пространством сделайте зашифрованный том. Это создаст один раздел LV. Измените его, чтобы он был выбранным корневым /разделом.
  • Тогда остальная часть процесса установки будет работать как обычно.

При первой загрузке войдите в систему, откройте терминал, запустите sudo apt-get updateи sudo apt dist-upgrade, перезагрузите компьютер и снова войдите в систему.

Файл подкачки объемом 2 ГБ будет создан автоматически. Если вы хотите вместо этого 8 ГБ, прочитайте этот ответ .

Falieson
источник
4
В мае 2019 года это предпочтительный ответ (кажется, что он работает с 2012 года), никаких сложностей с командной строкой не требуется. В разделах после создания физического тома для шифрования я не увидел нового /dev/mapper/sdaX_crypt в верхней части списка . Это руководство содержит скриншоты и визуализирует форматирование разделов, оно может быть полезным: hecticgeek.com/2012/10/…
firepol
Хороший ответ, @Falieson! Но я не понимал этого в течение первых 14 дней и 17 часов исследований, которые я просмотрел, поэтому я думаю написать свой собственный ответ со скриншотами. Эта статья, опубликованная @firepol ( hecticgeek.com/2012/10/… ), была СУПЕР-полезной, и только ПОСЛЕ этой статьи мой ответ имел какой-то смысл.
Габриэль Стейплс
Кроме того, я хотел бы добавить, что в следующий раз вы должны выйти из Windows Bitlocker и переключиться на VeraCrypt. Это бесплатно и с открытым исходным кодом, бесплатно и, кажется, отлично работает с двойной загрузкой. Мой раздел Windows использует его, а также мои внешние жесткие диски и некоторые локальные тома на основе файлов. Вот отличное вводное видео для VeraCrypt: youtube.com/watch?v=C25VWAGl7Tw и страница их загрузок: veracrypt.fr/en/Downloads.html . Однако для шифрования LUKS на основе Linux на внешних дисках ext4 я использую прилагаемую утилиту Ubuntu Disks , которая имеет флажок шифрования LUKS при форматировании.
Габриэль Стейплс
5

Прежде всего, укажите, почему только шифрование раздела Linux может быть недостаточно безопасным для вас:

  1. https://superuser.com/questions/1013944/encrypted-boot-in-a-luks-lvm-ubuntu-installation
  2. https://security.stackexchange.com/questions/166075/encrypting-the-boot-partition-in-a-linux-system-can-protect-from-an-evil-maid-a
  3. https://www.reddit.com/r/linux/comments/6e5qlz/benefits_of_encrypting_the_boot_partition/
  4. https://unix.stackexchange.com/questions/422860/why-should-we-encrypt-the-system-partition-and-not-only-home
  5. https://www.coolgeeks101.com/howto/infrastructure/full-disk-encryption-ubuntu-usb-detached-luks-header/
  6. https://superuser.com/questions/1324389/how-to-avoid-encrypted-boot-partition-password-prompt-in-lvm-arch-linux

Теперь я следовал этому уроку:

  1. https://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive
  2. http://web.archive.org/web/20160402040105/http://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive

В этом ответе я представляю пошаговую (с изображениями) установку Linux Mint 19.1 XFCEи Ubuntu 18.04.2полностью зашифрованную на одном диске. Во- первых , я установил Ubuntu 14.04.2на /dev/sda5и я не создавал разделов подкачки , так как Linux Mint 19.1и Ubuntu 18.04.2не использовать их, то есть, они используют файлы подкачки.

Ubuntu 18.04.2 Бионический Бобр

Сначала вставьте Ubuntuустановочный носитель и перезагрузите компьютер в Ubuntuрабочий сеанс, затем выберите Try Ubuntuи откройте один терминал, затем

  1. sudo su -
  2. fdisk /dev/sdaзатем создайте следующие разделы
    • введите описание изображения здесь
  3. cryptsetup luksFormat /dev/sda5
  4. cryptsetup luksOpen /dev/sda5 sda5_crypt
  5. pvcreate /dev/mapper/sda5_crypt
  6. vgcreate vgubuntu /dev/mapper/sda5_crypt
  7. lvcreate -L10G -n ubuntu_root vgubuntu
    • lvcreate -l 100%FREE -n ubuntu_root vgubuntu(необязательно, вместо запуска lvcreate -L10G -n ubuntu_root vgubuntu, вы можете запустить его, lvcreate -l 100%FREE -n ubuntu_root vgubuntuчтобы использовать все свободное место на диске, а не только 10 ГБ)
    • введите описание изображения здесь
  8. Не закрывайте терминал, а откройте установщик дистрибутива, выберите что-то еще и установите его с
    • /dev/sda1монтируется как /bootраздел с ext2форматом
    • /dev/mapper/vgubuntu-ubuntu_rootмонтируется как /с ext4форматом.
    • /dev/sda как установка загрузчика
    • Не помечай больше ничего
    • введите описание изображения здесь
    • введите описание изображения здесь
  9. Не перезагружайтесь, нажмите «Продолжить использование Linux» и выберите открытый терминал.
  10. mkdir /mnt/newroot
  11. mount /dev/mapper/vgubuntu-ubuntu_root /mnt/newroot
  12. mount -o bind /proc /mnt/newroot/proc
  13. mount -o bind /dev /mnt/newroot/dev
  14. mount -o bind /dev/pts /mnt/newroot/dev/pts
  15. mount -o bind /sys /mnt/newroot/sys
  16. cd /mnt/newroot
  17. chroot /mnt/newroot
  18. mount /dev/sda1 /boot
  19. blkid /dev/sda5 (скопируйте UUID без кавычек и используйте его на следующем шаге)
  20. echo sda5_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • введите описание изображения здесь
    • введите описание изображения здесь
    • введите описание изображения здесь
  21. Создать файл /etc/grub.d/40_custom
    • введите описание изображения здесь
  22. Редактировать /etc/default/grubи установить
    • GRUB_TIMEOUT_STYLE=menu
    • GRUB_TIMEOUT=10
    • введите описание изображения здесь
  23. update-initramfs -u
  24. update-grub
    • введите описание изображения здесь
    • введите описание изображения здесь
  25. exit
  26. reboot
  27. После перезагрузки компьютера выберите опцию, Ubuntuи он будет правильно запрашивать ваш пароль шифрования
    • введите описание изображения здесь
  28. После того, как вы вошли в систему, запустите
    • sudo apt-get update
    • sudo apt-get install gparted
  29. И, открыв, gpartedвы найдете это
    • введите описание изображения здесь

Для получения более подробных инструкций прочтите исходное руководство, указанное в верхней части этого вопроса, или поищите в Google информацию об использовании этих команд.


Linux Mint 19.1 Корица

Для остальных установок Linux, rebootваш Ubuntuкомпьютер, загрузитесь с Mint 19.1установщиком (Live CD) и откройте окно терминала

  1. sudo su -
  2. cryptsetup luksFormat /dev/sda6
  3. cryptsetup luksOpen /dev/sda6 sda6_crypt
  4. pvcreate /dev/mapper/sda6_crypt
  5. vgcreate vgmint /dev/mapper/sda6_crypt
  6. lvcreate -L10G -n mint_root vgmint
    • lvcreate -l 100%FREE -n mint_root vgmint(необязательно, вместо запуска lvcreate -L10G -n mint_root vgmint, вы можете запустить его, lvcreate -l 100%FREE -n mint_root vgmintчтобы использовать все свободное дисковое пространство, а не только 10 ГБ)
    • введите описание изображения здесь
    • введите описание изображения здесь
  7. Не закрывайте терминал, а откройте установщик дистрибутива, выберите что-то еще и установите его с
    • /dev/sda2монтируется как /bootраздел с ext2форматом
    • /dev/mapper/vgmint-mint_rootмонтируется как /с ext4форматом.
    • /dev/sda2как установка загрузчика (не выбирайте /dev/sdaкак прежде)
    • Не помечай больше ничего
    • введите описание изображения здесь
    • введите описание изображения здесь
  8. Не перезагружайтесь, нажмите «Продолжить использование Linux» и выберите открытый терминал.
  9. mkdir /mnt/newroot
  10. mount /dev/mapper/vgmint-mint_root /mnt/newroot
  11. mount -o bind /proc /mnt/newroot/proc
  12. mount -o bind /dev /mnt/newroot/dev
  13. mount -o bind /dev/pts /mnt/newroot/dev/pts
  14. mount -o bind /sys /mnt/newroot/sys
  15. cd /mnt/newroot
  16. chroot /mnt/newroot
  17. mount /dev/sda2 /boot
  18. blkid /dev/sda6 (скопируйте UUID без кавычек и используйте его на следующем шаге)
  19. echo sda6_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
    • введите описание изображения здесь
    • введите описание изображения здесь
    • введите описание изображения здесь
  20. update-initramfs -u
  21. update-grub
    • введите описание изображения здесь
    • введите описание изображения здесь
  22. exit
  23. reboot
  24. После перезагрузки компьютера выберите опцию Linux Mint on /dev/sda2
    • введите описание изображения здесь
  25. Затем он правильно запустится Mint 19.1и попросит пароль шифрования
    • введите описание изображения здесь
  26. После того, как вы вошли в систему, запустите
    • sudo apt-get update
    • sudo apt-get install gparted
  27. И, открыв, gpartedвы найдете это
    • введите описание изображения здесь

Ссылки по теме:

  1. Как я могу изменить размер активного раздела LVM?
  2. Как я могу изменить размер раздела LVM? (то есть: физический объем)
  3. https://www.tecmint.com/extend-and-reduce-lvms-in-linux/
  4. Grub chainloader не работает с Windows 8
  5. Загрузка UEFI с шифрованием / boot в Ubuntu 14.04 LTS
пользователь
источник
1
У меня есть 1 жесткий диск на моем компьютере, и на нем был один существующий незашифрованный Kubuntu 18.04. Я установил второй зашифрованный Kubuntu 18.04 рядом с первым незашифрованным Kubuntu, основываясь на этом. Теперь оба хорошо работают на одном жестком диске. Спасибо за подробный ответ.
Икром
1
Часть о Linux Mint должна быть удалена из этого ответа. Эта часть не по теме, OP ее не спрашивала, она делает длинный ответ ненужным и приводит к дополнительным вопросам, не связанным с темой, таким как этот .
mook765
-1 для части, связанной с монетным двором.
user68186