Как я могу установить Ubuntu, зашифрованный с помощью LUKS с двойной загрузкой?
Установочный диск Ubuntu 13.04 имеет возможность установить Ubuntu в зашифрованном виде с помощью LUKS. Однако нет возможности выполнить зашифрованную установку рядом с существующими разделами для сценария двойной загрузки.
Как я могу установить Ubuntu в зашифрованном виде вместе с другим разделом с живого диска?
3 ответа
Прежде всего, если вы хотите установить Ubuntu в зашифрованном виде на жесткий диск, заменив любые существующие разделы и операционные системы, вы можете сделать это прямо из графического установщика. Этот ручной процесс требуется только для двойной загрузки.
Этот ответ был протестирован с Ubuntu 13.04.
Загрузитесь с живого DVD или USB-накопителя Ubuntu и выберите "Попробуйте Ubuntu".
Создайте два раздела, используя GParted, включенный в живой диск. Первый раздел должен быть неформатированным и должен быть достаточно большим для root и swap, в моем примере это
/dev/sda3, Второй раздел должен быть размером в несколько сотен мегабайт и отформатирован в ext2 или ext3, он будет зашифрован и смонтирован в/boot(в моем примере это/dev/sda4).На этом снимке экрана у меня есть незашифрованная установка Ubuntu в двух разделах:
/dev/sda1а также/dev/sda5, выделите в кружке слева. Я создал неформатированный раздел в/dev/sda3и раздел ext3 в/dev/sda4, предназначенный для зашифрованной установки Ubuntu, выделен по кругу справа:
Создайте контейнер LUKS, используя эти команды. замещать
/dev/sda3с неформатированным разделом, созданным ранее, иcryptcherriesс именем по вашему выбору.sudo cryptsetup luksFormat /dev/sda3 sudo cryptsetup luksOpen /dev/sda3 cryptcherriesПредупреждение: вы заметите, что
luksFormatшаг завершен очень быстро, потому что он не может безопасно стереть базовое блочное устройство. Если вы просто не экспериментируете и не заботитесь о защите от различных видов криминалистической атаки, очень важно правильно инициализировать новый контейнер LUKS перед созданием в нем файловых систем. Запись нулей в сопоставленный контейнер приведет к записи сильных случайных данных на базовое блочное устройство. Это может занять некоторое время, поэтому лучше использоватьpvКоманда для мониторинга прогресса: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Внутри подключенного контейнера 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Создайте файловые системы для двух логических томов: (Вы также можете сделать этот шаг непосредственно из установщика.)
sudo mkfs.ext4 /dev/mapper/vgcherries-lvcherriesroot sudo mkswap /dev/mapper/vgcherries-lvcherriesswapБез перезагрузки установите Ubuntu с помощью графического установщика (ярлык находится на рабочем столе в Xubuntu 18.04), выбрав ручное разбиение. приписывать
/в/dev/mapper/vgcherries-lvcherriesrootа также/bootв незашифрованный раздел, созданный на шаге 2 (в этом примере/dev/sda4).Как только графический установщик закончится, выберите "продолжить тестирование" и откройте терминал.
Найдите UUID разделов LUKS (
/dev/sda3в этом случае) вам понадобится позже:$ sudo blkid /dev/sda3 /dev/sda3: UUID="8b80b3a7-6a33-4db3-87ce-7f126545c74af" TYPE="crypto_LUKS"Установите соответствующие устройства в соответствующие места в
/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Создайте файл с именем
/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Выполните следующую команду в изолированной среде:
update-initramfs -k all -cПерезагрузитесь и загрузитесь в зашифрованную Ubuntu. Вам будет предложено ввести пароль.
Убедитесь, что вы используете зашифрованный раздел для
/запустив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Убедитесь, что вы используете зашифрованный раздел подкачки (а не незашифрованные разделы подкачки из других установок), выполнив следующую команду:
$ swapon -s Filename Type Size Used Priority /dev/mapper/vgcherries-lvcherriesswap partition 630780 0 -1Убедитесь, что вы можете загрузиться в режиме восстановления, вы не хотите позже выяснить, что режим восстановления не работает:)
Установите все обновления, которые могут перестроить виртуальный диск и обновить конфигурацию grub. Перезагрузите и протестируйте как обычный режим, так и режим восстановления.
Вот несколько инструкций о том, что я только что сделал с Dell Inspiron 5000.
Я попробовал выбранный ответ, но он не работал для меня после выполнения dist-upgrade и update-grub (чтобы добавить окна в мой grubconf).
Можно выполнить двойную загрузку, чтобы установить Ubuntu 18.10 с Windows 10, и вам не нужно выполнять все функции командной строки или использовать режим Ubuntu LiveUSB.
Из Windows
в типе стартовой панели
disk partitionи выберите первый вариант (открытие диспетчера разделов диска в настройках)уменьшите ваш основной раздел до желаемого размера Ubuntu (я просто использовал стандартное разделение моего 500-гигабайтного диска на операционную систему Windows 240 ГБ и нераспределенную 240 ГБ)
Из биоса
- отключить безопасную загрузку (если у вас есть битлокер, вам нужно будет включать его для безопасной загрузки в Windows каждый раз) - это хорошо для меня, так как Ubu - моя основная ОС, просто используйте windoze для игр.
Наконец - загрузитесь в установщик USB 18.10
Нажмите Enter, чтобы установить опцию Ubuntu по умолчанию.
Когда вы попадаете на экран с надписью "стереть весь диск" и с некоторыми флажками, нажмите "Что-то еще" (ручное разбиение). Если вы нажмете ERASE ENTIRE DISK, то замените установку Windows, не делайте этого!
Как только менеджер дисковых разделов загрузит ваш диск, у вас будет большое нераспределенное пространство
Нажмите на это и нажмите кнопку Добавить, чтобы создать разделы.
- First, create a 500MB /boot partition
- Second, with the rest of the space make a encrypted volume
--- This will create a single LV partition
------ Modify it to be the selected root “/” partition
- Then the rest of the install process will work like usual. relax.
После первой загрузки выполните обновление apt-get и dist-upgrade, затем перезагрузите компьютер.
Файл подкачки объемом 2 ГБ будет создан автоматически, если вы хотите использовать файл подкачки объемом 8 ГБ, прочитайте этот /questions/293234/kak-mne-uvelichit-razmer-fajla-podkachki-ne-udalyaya-ego-v-terminale/293245#293245
Прежде всего, укажите, почему только шифрование раздела Linux может быть недостаточно безопасным для вас:
- https://superuser.com/questions/1013944/encrypted-boot-in-a-luks-lvm-ubuntu-installation
- https://security.stackexchange.com/questions/166075/encrypting-the-boot-partition-in-a-linux-system-can-protect-from-an-evil-maid-a
- https://www.reddit.com/r/linux/comments/6e5qlz/benefits_of_encrypting_the_boot_partition/
- https://unix.stackexchange.com/questions/422860/why-should-we-encrypt-the-system-partition-and-not-only-home
- https://www.coolgeeks101.com/howto/infrastructure/full-disk-encryption-ubuntu-usb-detached-luks-header/
- https://superuser.com/questions/1324389/how-to-avoid-encrypted-boot-partition-password-prompt-in-lvm-arch-linux
Теперь я следовал этому уроку:
- https://www.oxygenimpaired.com/multiple-linux-distro-installs-on-a-luks-encrypted-harddrive
- 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 и откройте один терминал, затем
sudo su -fdisk /dev/sdaзатем создайте следующие разделыcryptsetup luksFormat /dev/sda5cryptsetup luksOpen /dev/sda5 sda5_cryptpvcreate /dev/mapper/sda5_cryptvgcreate vgubuntu /dev/mapper/sda5_cryptlvcreate -L10G -n ubuntu_root vgubuntulvcreate -l 100%FREE -n ubuntu_root vgubuntu- Не закрывайте терминал, а откройте установщик дистрибутива, выберите что-то еще и установите его с
/dev/sda1установлен как/bootраздел сext2формат/dev/mapper/vgubuntu-ubuntu_rootустановлен как/сext4формат./dev/sdaкак установка загрузчика- Не помечай больше ничего
- Не перезагружайтесь, нажмите "Продолжить использование Linux" и выберите открытый терминал.
mkdir /mnt/newrootmount /dev/mapper/vgubuntu-ubuntu_root /mnt/newrootmount -o bind /proc /mnt/newroot/procmount -o bind /dev /mnt/newroot/devmount -o bind /dev/pts /mnt/newroot/dev/ptsmount -o bind /sys /mnt/newroot/syscd /mnt/newrootchroot /mnt/newrootmount /dev/sda1 /bootblkid /dev/sda5(скопируйте UUID без кавычек и используйте его на следующем шаге)echo sda5_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab- Создать файл
/etc/grub.d/40_custom - редактировать
/etc/default/grubи установитьGRUB_TIMEOUT_STYLE=menuGRUB_TIMEOUT=10
update-initramfs -uupdate-grubexitreboot- После перезагрузки компьютера выберите опцию
Ubuntuи он будет правильно запрашивать ваш пароль шифрования - После того, как вы вошли в систему, запустите
sudo apt-get updatesudo apt-get install gparted
- И, открыв
gpartedвы найдете это
Для получения более подробных инструкций прочтите исходное руководство, указанное в верхней части этого вопроса, или поищите в Google информацию об использовании этих команд.
Linux Mint 19.1 Корица
Для остальных установок Linux reboot ваш Ubuntu машина, загрузиться с Mint 19.1 (Live CD) и откройте окно терминала
sudo su -cryptsetup luksFormat /dev/sda6cryptsetup luksOpen /dev/sda6 sda6_cryptpvcreate /dev/mapper/sda6_cryptvgcreate vgmint /dev/mapper/sda6_cryptlvcreate -L10G -n mint_root vgmintlvcreate -l 100%FREE -n mint_root vgmint- Не закрывайте терминал, а откройте установщик дистрибутива, выберите что-то еще и установите его с
/dev/sda2установлен как/bootраздел сext2формат/dev/mapper/vgmint-mint_rootустановлен как/сext4формат./dev/sda2в качестве установки загрузчика (не выбирайте/dev/sdaкак прежде)- Не помечай больше ничего
- Не перезагружайтесь, нажмите "Продолжить использование Linux" и выберите открытый терминал.
mkdir /mnt/newrootmount /dev/mapper/vgmint-mint_root /mnt/newrootmount -o bind /proc /mnt/newroot/procmount -o bind /dev /mnt/newroot/devmount -o bind /dev/pts /mnt/newroot/dev/ptsmount -o bind /sys /mnt/newroot/syscd /mnt/newrootchroot /mnt/newrootmount /dev/sda2 /bootblkid /dev/sda6(скопируйте UUID без кавычек и используйте его на следующем шаге)echo sda6_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttabupdate-initramfs -uupdate-grubexitreboot- После перезагрузки компьютера выберите опцию
Linux Mint on /dev/sda2 - Тогда он будет правильно запускаться
Mint 19.1и попросил пароль для шифрования - После того, как вы вошли в систему, запустите
sudo apt-get updatesudo apt-get install gparted
- И, открыв
gpartedвы найдете это
Ссылки по теме:
Добавление еще одного ответа здесь, поскольку многие другие ресурсы, которые я нашел (здесь и в других местах), немного устарели, и я думаю, что некоторые из шагов можно упростить.
Во-первых, как упоминалось в других ответах, если вы не хотите использовать двойную загрузку, просто выберите параметр шифрования в автоматическом установщике.
Стоит отметить, что этот метод не шифрует
/boot. Хотя есть веские причины для шифрования
/boot, графический установщик не шифрует его, когда вы выполняете графическую установку с помощью LUKS. Таким образом, я соответствую этому прецеденту и сохраняю простоту незашифрованного
/boot раздел.
Ubuntu 20.04 и Windows 10
В этом руководстве я буду ссылаться на
/dev/sda. Ваш может быть другим - в частности, это может быть
/dev/nvme0n1. Просто сделайте соответствующие замены ниже, отмечая также, что
/dev/sda1 будет соответствовать
/dev/nvme0n1p1.1
Разделение может быть выполнено с помощью GParted, sgdisk или gdisk. На sgdisk проще всего ссылаться как на команды.
- Настройте BIOS только для UEFI. Нет MBR, нет устаревшей загрузки.2
- Инициализируйте диск как диск GPT и создайте системный раздел EFI 550M, отформатированный как FAT32 (как root).
# sgdisk --zap-all /dev/sda # sgdisk --new=1:0:+550M /dev/sda # sgdisk --change-name=1:EFI /dev/sda # sgdisk --typecode=1:ef00 /dev/sda # mkfs.fat -F 32 /dev/sda1 - Установите Windows. В программе установки выберите создание нового раздела для Windows и сделайте его подходящего размера (примерно половину жесткого диска). Оставьте нераспределенное пространство для использования позже для Ubuntu. Когда вы это сделаете, установщик фактически создаст несколько разделов по причинам Windows.
- При желании после завершения установки Windows включите BitLocker на вашем компьютере.
C:водить машину. Это сделает еще один раздел. - Сделайте разделы для Ubuntu (как root). Раздел 768M предназначен для
/boot. Другой предназначен для Ubuntu и будет зашифрован с помощью LUKS и будет использовать LVM (аналогично тому, как его настраивает процесс установки по умолчанию). (Если вы не настраивали BitLocker раньше, номера ваших разделов будут отличаться на 1 из моего примера ниже (так что мой sda5 - это ваш sda4).# sgdisk --new=5:0:+768M /dev/sda # sgdisk --new=6:0:0 /dev/sda # sgdisk --change-name=5:/boot --change-name=6:rootfs /dev/sda # sgdisk --typecode=5:8301 --typecode=6:8301 /dev/sda # mkfs.ext4 -L boot /dev/sda5 - Установите LUKS и LVM (как root). Я сделал 8G места подкачки. Хорошее практическое правило - это количество оперативной памяти в вашей системе. Своп будет зашифрован.
# cryptsetup luksFormat --type=luks1 /dev/sda6 # cryptsetup open /dev/sda6 sda6_crypt # pvcreate /dev/mapper/sda6_crypt # vgcreate ubuntu-vg /dev/mapper/sda6_crypt # lvcreate -L 8G -n swap_1 ubuntu-vg # lvcreate -l 100%FREE -n root ubuntu-vg - Установите Ubuntu с помощью графического установщика. Выбирайте перегородки сами.
/dev/sda5в качествеext4за/boot/dev/mapper/ubuntu--vg-rootв качествеext4за//dev/mapper/ubuntu--vg-swap_1в качествеswap- Устройство загрузчика должно быть
/dev/sda
- Когда установщик завершит работу, не выходите. Нам нужно настроить
/etc/crypttab(как root). Это то, что вызовет запрос парольной фразы при загрузке. Замените UUID в файле на UUID вашего диска, полученный изsudo blkid /dev/sda6# mount /dev/mapper/ubuntu--vg-root /target # mount /dev/sda5 /target/boot # for n in proc sys dev etc/resolv.conf; do mount --rbind /$n /target/$n; done # chroot /target # mount -a # echo 'sda6_crypt UUID=abcdefgh-1234-5678-9012-abcdefghijklm none luks,tries=0,discard,loud' > /etc/crypttab # update-initramfs -k all -c
Выполнено! Если вы используете BitLocker в Windows, ему не понравится загружаться с помощью grub. Вместо этого загрузитесь непосредственно в Windows из параметров загрузки BIOS.
