Как я могу установить 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/sda5
cryptsetup luksOpen /dev/sda5 sda5_crypt
pvcreate /dev/mapper/sda5_crypt
vgcreate vgubuntu /dev/mapper/sda5_crypt
lvcreate -L10G -n ubuntu_root vgubuntu
lvcreate -l 100%FREE -n ubuntu_root vgubuntu
- Не закрывайте терминал, а откройте установщик дистрибутива, выберите что-то еще и установите его с
/dev/sda1
установлен как/boot
раздел сext2
формат/dev/mapper/vgubuntu-ubuntu_root
установлен как/
сext4
формат./dev/sda
как установка загрузчика- Не помечай больше ничего
- Не перезагружайтесь, нажмите "Продолжить использование Linux" и выберите открытый терминал.
mkdir /mnt/newroot
mount /dev/mapper/vgubuntu-ubuntu_root /mnt/newroot
mount -o bind /proc /mnt/newroot/proc
mount -o bind /dev /mnt/newroot/dev
mount -o bind /dev/pts /mnt/newroot/dev/pts
mount -o bind /sys /mnt/newroot/sys
cd /mnt/newroot
chroot /mnt/newroot
mount /dev/sda1 /boot
blkid /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=menu
GRUB_TIMEOUT=10
update-initramfs -u
update-grub
exit
reboot
- После перезагрузки компьютера выберите опцию
Ubuntu
и он будет правильно запрашивать ваш пароль шифрования - После того, как вы вошли в систему, запустите
sudo apt-get update
sudo apt-get install gparted
- И, открыв
gparted
вы найдете это
Для получения более подробных инструкций прочтите исходное руководство, указанное в верхней части этого вопроса, или поищите в Google информацию об использовании этих команд.
Linux Mint 19.1 Корица
Для остальных установок Linux reboot
ваш Ubuntu
машина, загрузиться с Mint 19.1
(Live CD) и откройте окно терминала
sudo su -
cryptsetup luksFormat /dev/sda6
cryptsetup luksOpen /dev/sda6 sda6_crypt
pvcreate /dev/mapper/sda6_crypt
vgcreate vgmint /dev/mapper/sda6_crypt
lvcreate -L10G -n mint_root vgmint
lvcreate -l 100%FREE -n mint_root vgmint
- Не закрывайте терминал, а откройте установщик дистрибутива, выберите что-то еще и установите его с
/dev/sda2
установлен как/boot
раздел сext2
формат/dev/mapper/vgmint-mint_root
установлен как/
сext4
формат./dev/sda2
в качестве установки загрузчика (не выбирайте/dev/sda
как прежде)- Не помечай больше ничего
- Не перезагружайтесь, нажмите "Продолжить использование Linux" и выберите открытый терминал.
mkdir /mnt/newroot
mount /dev/mapper/vgmint-mint_root /mnt/newroot
mount -o bind /proc /mnt/newroot/proc
mount -o bind /dev /mnt/newroot/dev
mount -o bind /dev/pts /mnt/newroot/dev/pts
mount -o bind /sys /mnt/newroot/sys
cd /mnt/newroot
chroot /mnt/newroot
mount /dev/sda2 /boot
blkid /dev/sda6
(скопируйте UUID без кавычек и используйте его на следующем шаге)echo sda6_crypt UUID=5f22073b-b4ab-4a95-85bb-130c9d3b24e4 none luks > /etc/crypttab
update-initramfs -u
update-grub
exit
reboot
- После перезагрузки компьютера выберите опцию
Linux Mint on /dev/sda2
- Тогда он будет правильно запускаться
Mint 19.1
и попросил пароль для шифрования - После того, как вы вошли в систему, запустите
sudo apt-get update
sudo 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.