Вопрос или проблема
Я хочу установить Ubuntu 22.04 LTS с настраиваемой разметкой диска, включая зашифрованный корневой раздел и раздел подкачки размером 8 ГиБ. Стандартный установщик Ubuntu не позволяет мне задать собственный размер раздела подкачки. Что я могу сделать, чтобы этого добиться?
На данный момент установщик Ubuntu не может этого сделать. Вам нужно будет подготовить разделы в терминале, а затем продолжить установку.
После завершения этого руководства, результат команды lsblk
должен выглядеть примерно так:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 238.5G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 237G 0 part
└─crypt 252:0 0 237G 0 crypt
├─vgubuntu-root 252:1 0 221G 0 lvm /
└─vgubuntu-swap 252:2 0 16G 0 lvm [SWAP]
Этапы установки
Важно: перед продолжением учтите, что эти шаги ОТФОРМАТИРУЮТ ваш диск. Убедитесь, что у вас есть резервная копия всех важных данных на диске.
-
Загрузитесь с живого USB, нажмите “Попробовать Ubuntu”.
-
Определите свой диск, на который вы хотите установить Ubuntu. Используйте
gparted
,fdisk
илиlsblk
. В этом ответе я предполагаю, что это/dev/sda
, но убедитесь, что используете правильный путь для вашей системы. -
В терминале введите
sudo su
, чтобы не набиратьsudo
перед каждой командой. -
Очистите диск и создайте новую таблицу разделов GPT.
wipefs -a /dev/sda parted /dev/sda mklabel gpt
-
Создайте новый загрузочный раздел
/boot/efi
размером 512 МиБ, начиная с 1 МиБ.parted /dev/sda mkpart ESP fat32 1MiB 513MiB parted /dev/sda set 1 esp on mkfs.fat -F32 /dev/sda1
-
Создайте новый раздел для
/boot
размером 1024 МиБ. Хотя точный размер не имеет решающего значения, если вы решите его изменить, убедитесь, что начальные и конечные точки раздела правильно выровнены.parted /dev/sda mkpart primary ext4 513MiB 1537MiB mkfs.ext4 /dev/sda2
-
Создайте основной раздел, используя оставшееся нераспределенное пространство на диске.
parted /dev/sda mkpart primary ext4 1537MiB 100%
Отформатируйте основной раздел с помощью шифрования LUKS. Если ваш диск поддерживает это, вы можете установить размер сектора равным 4096 для повышения производительности (проверьте, используя
hdparm -I /dev/sda | grep "Sector size"
).cryptsetup luksFormat --sector-size=4096 /dev/sda3
-
Создайте LVM на основном разделе. Вы можете выбрать любое имя, которое вам нравится, вместо crypt, но убедитесь, что обновили путь в следующих шагах соответствующим образом.
cryptsetup open /dev/sda3 crypt pvcreate /dev/mapper/crypt lvcreate vgubuntu /dev/mapper/crypt
-
Теперь создайте свой корневой раздел и при необходимости раздел подкачки. Я предпочитаю размещать раздел подкачки в конце диска.
Сначала создайте корневой раздел, чтобы заполнить все доступное пространство, затем уменьшите его размер, чтобы выделить место для раздела подкачки.
lvcreate -l 100%FREE -n root vgubuntu mkfs.ext4 /dev/vgubuntu/root
Затем уменьшите его размер, чтобы освободить место для раздела подкачки.
lvresize --resizefs -L -8G /dev/vgubuntu/root lvcreate -L 8G -n swap vgubuntu mkswap /dev/vgubuntu/swap
-
Если вы дошли до этого этапа без каких-либо проблем, теперь вы можете выполнить следующие команды, чтобы предоставить доступ к установщику:
vgscan --mknodes vgchange -ay swapoff -a
-
Теперь вы можете запустить установщик. Когда вас спросят
Тип установки
, выберите опциюЧто-то другое
. Вам нужно будет установить точки монтирования для созданных вами разделов. Не форматируйте/dev/sda3
, потому что если вы это сделаете, придется начинать сначала./dev/sda1
->/boot/efi
(тип: efi, устройство для установки загрузчика)/dev/sda2
->/boot
(тип: ext4, форматировать: да)/dev/vgubuntu/root
->/
(тип: ext4, форматировать: да)
Вот как это должно выглядеть:
-
После завершения установки вам придется задать UUID вашего основного раздела, чтобы ваша система его распознала.
mount /dev/vgubuntu/root /mnt mount /dev/sda2 /mnt/boot mount /dev/sda1 /mnt/boot/efi mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt
Внутри chroot зарегистрируйте UUID раздела и обновите initramfs.
echo "crypt UUID=$(blkid -s UUID -o value /dev/sda3) none luks,discard" | tee -a /etc/crypttab update-initramfs -u exit
Если всё прошло без ошибок, то вы готовы.
umount -R /mnt sudo reboot
Ответ или решение
Установка Ubuntu с кастомными зашифрованными разделами root и swap может быть сложной задачей, но она предлагает высокий уровень безопасности для ваших данных. В этом руководстве мы разберем, как выполнить такую установку Ubuntu 22.04 LTS, включая создание зашифрованного корневого раздела и раздела swap с заданным размером.
Теория
Ubuntu по умолчанию не предлагает гибкие настройки для создания разделов с конкретными требованиями, такими как зашифрованный root и кастомный swap размером 8 ГиБ. Чтобы добиться желаемого результата, необходимо предварительно подготовить разделы вручную через терминал, прежде чем приступить к самой установке.
Пример
Мы рассмотрим процесс, используя гипотетический диск /dev/sda
. Перед началом убедитесь, что все данные на диске безопасно сохранены, так как все будет переформатировано.
Применение
-
Загрузка в режим Live USB: Вставьте установочный USB-накопитель с Ubuntu и выберите опцию "Try Ubuntu". Это позволит нам подготовить разделы перед установкой.
-
Идентификация диска: В терминале используйте команды
gparted
,fdisk
илиlsblk
, чтобы убедиться, что будем использовать правильный диск, например/dev/sda
. -
Повышение привилегий: Откройте терминал и введите
sudo su
, чтобы избежать постоянного вводаsudo
перед командами. -
Очистка диска: Используйте
wipefs -a /dev/sda
, чтобы удалить все сигнатуры файловых систем. Затем создайте новую GPT таблицу разделов:parted /dev/sda mklabel gpt
. -
Создание EFI-раздела: Создайте раздел EFI, который будет использован для загрузки Ubuntu.
parted /dev/sda mkpart ESP fat32 1MiB 513MiB parted /dev/sda set 1 esp on mkfs.fat -F32 /dev/sda1
-
Создание раздела /boot: Раздел /boot необходим для хранения ядра и других компонентов.
parted /dev/sda mkpart primary ext4 513MiB 1537MiB mkfs.ext4 /dev/sda2
-
Создание основного раздела: Займите оставшееся пространство на диске под зашифрованный раздел.
parted /dev/sda mkpart primary ext4 1537MiB 100% cryptsetup luksFormat --sector-size=4096 /dev/sda3
-
Создание логического тома: Откройте зашифрованный раздел и настройте LVM.
cryptsetup open /dev/sda3 crypt pvcreate /dev/mapper/crypt vgcreate vgubuntu /dev/mapper/crypt
-
Создание раздела root и swap: Создайте раздел root и уменьшите его размер, чтобы разместить swap.
lvcreate -L 229G -n root vgubuntu mkfs.ext4 /dev/vgubuntu/root lvcreate -L 8G -n swap vgubuntu mkswap /dev/vgubuntu/swap
-
Активация логических томов:
vgscan --mknodes vgchange -ay swapoff -a
-
Запуск установщика: Запустите установку Ubuntu. При выборе "Тип установки" выберите "Something else" и присвойте точки монтирования:
/dev/sda1
->/boot/efi
(тип: efi, устройство для установки загрузчика)/dev/sda2
->/boot
(тип: ext4, форматировать)/dev/vgubuntu/root
->/
(тип: ext4, форматировать)
-
Настройка UUID: После установки установите UUID для основного шифрованного раздела.
mount /dev/vgubuntu/root /mnt mount /dev/sda2 /mnt/boot mount /dev/sda1 /mnt/boot/efi mount --bind /dev /mnt/dev mount --bind /proc /mnt/proc mount --bind /sys /mnt/sys chroot /mnt echo "crypt UUID=$(blkid -s UUID -o value /dev/sda3) none luks,discard" | tee -a /etc/crypttab update-initramfs -u exit umount -R /mnt sudo reboot
Заключение
Этот процесс включает в себя создание защитных механизмов и гибкость управления системными разделами. Через выполнение данных шагов вы получите безопасную систему с кастомными параметрами, соответствующими вашим требованиям. Этот пример подчеркивает важность гибкого подхода к настройкам безопасности и определяет, как Linux платформа может удовлетворять сложные требования безопасности.