Прежде всего, если вы хотите установить 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 >""' _ /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 с помощью графического установщика, выбрав ручное разделение. Назначьте /
в /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
в chrooted среде, чтобы содержать эту строку, заменив значение UUID на UUID раздела LUKS и vgcherries
с именем группы томов:
# <target name> <source device> <key file> <options>
cryptcherries UUID=8b80b3a7-6a33-4db3-87ce-7f126545c74af none luks,retry=1,lvm=vgcherries
-
Выполните следующую команду в среде chrooted:
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
-
Убедитесь, что вы можете загрузиться в режим восстановления, вы не хотите позже выяснять, что режим восстановления не работает:)
-
Установите все обновления, которые могут перестроить ramdisk и обновить конфигурацию grub. Перезагрузите и проверьте как нормальный режим, так и режим восстановления.