Прежде всего, если вы хотите установить 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
команду для отслеживания прогресса:
### 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
Внутри подключенного контейнера 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. Перезагрузите и протестируйте как обычный режим, так и режим восстановления.