Перш за все, якщо ви хочете встановити зашифрований 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
Переконайтеся, що ви використовуєте зашифрований розділ swap (не будь-який незашифрований розділ swap для інших установок), запустивши цю команду:
$ swapon -s
Filename Type Size Used Priority
/dev/mapper/vgcherries-lvcherriesswap partition 630780 0 -1
Перевірте, чи можете ви завантажуватися в режим відновлення, не хочете дізнаватися пізніше під час надзвичайної ситуації, що режим відновлення не працює :)
Встановіть будь-які оновлення, які, ймовірно, відновлять ramdisk та оновлять конфігурацію grub. Перезавантажте і протестуйте як звичайний, так і режим відновлення.