Установите Ubuntu с пользовательскими зашифрованными разделами root и swap.

Вопрос или проблема

Я хочу установить 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]

Этапы установки

Важно: перед продолжением учтите, что эти шаги ОТФОРМАТИРУЮТ ваш диск. Убедитесь, что у вас есть резервная копия всех важных данных на диске.

  1. Загрузитесь с живого USB, нажмите “Попробовать Ubuntu”.

  2. Определите свой диск, на который вы хотите установить Ubuntu. Используйте gparted, fdisk или lsblk. В этом ответе я предполагаю, что это /dev/sda, но убедитесь, что используете правильный путь для вашей системы.

  3. В терминале введите sudo su, чтобы не набирать sudo перед каждой командой.

  4. Очистите диск и создайте новую таблицу разделов GPT.

    wipefs -a /dev/sda
    parted /dev/sda mklabel gpt
    
  5. Создайте новый загрузочный раздел /boot/efi размером 512 МиБ, начиная с 1 МиБ.

    parted /dev/sda mkpart ESP fat32 1MiB 513MiB
    parted /dev/sda set 1 esp on
    mkfs.fat -F32 /dev/sda1
    
  6. Создайте новый раздел для /boot размером 1024 МиБ. Хотя точный размер не имеет решающего значения, если вы решите его изменить, убедитесь, что начальные и конечные точки раздела правильно выровнены.

    parted /dev/sda mkpart primary ext4 513MiB 1537MiB
    mkfs.ext4 /dev/sda2
    
  7. Создайте основной раздел, используя оставшееся нераспределенное пространство на диске.

    parted /dev/sda mkpart primary ext4 1537MiB 100%
    

    Отформатируйте основной раздел с помощью шифрования LUKS. Если ваш диск поддерживает это, вы можете установить размер сектора равным 4096 для повышения производительности (проверьте, используя hdparm -I /dev/sda | grep "Sector size").

    cryptsetup luksFormat --sector-size=4096 /dev/sda3
    
  8. Создайте LVM на основном разделе. Вы можете выбрать любое имя, которое вам нравится, вместо crypt, но убедитесь, что обновили путь в следующих шагах соответствующим образом.

    cryptsetup open /dev/sda3 crypt
    pvcreate /dev/mapper/crypt
    lvcreate vgubuntu /dev/mapper/crypt
    
  9. Теперь создайте свой корневой раздел и при необходимости раздел подкачки. Я предпочитаю размещать раздел подкачки в конце диска.

    Сначала создайте корневой раздел, чтобы заполнить все доступное пространство, затем уменьшите его размер, чтобы выделить место для раздела подкачки.

     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
    
  10. Если вы дошли до этого этапа без каких-либо проблем, теперь вы можете выполнить следующие команды, чтобы предоставить доступ к установщику:

    vgscan --mknodes
    vgchange -ay
    swapoff -a
    
  11. Теперь вы можете запустить установщик. Когда вас спросят Тип установки, выберите опцию Что-то другое. Вам нужно будет установить точки монтирования для созданных вами разделов. Не форматируйте /dev/sda3, потому что если вы это сделаете, придется начинать сначала.

    • /dev/sda1 -> /boot/efi (тип: efi, устройство для установки загрузчика)
    • /dev/sda2 -> /boot (тип: ext4, форматировать: да)
    • /dev/vgubuntu/root -> / (тип: ext4, форматировать: да)

    Вот как это должно выглядеть:

    первая половина окна настройки разделов
    вторая половина окна настройки разделов

  12. После завершения установки вам придется задать 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. Перед началом убедитесь, что все данные на диске безопасно сохранены, так как все будет переформатировано.

Применение

  1. Загрузка в режим Live USB: Вставьте установочный USB-накопитель с Ubuntu и выберите опцию "Try Ubuntu". Это позволит нам подготовить разделы перед установкой.

  2. Идентификация диска: В терминале используйте команды gparted, fdisk или lsblk, чтобы убедиться, что будем использовать правильный диск, например /dev/sda.

  3. Повышение привилегий: Откройте терминал и введите sudo su, чтобы избежать постоянного ввода sudo перед командами.

  4. Очистка диска: Используйте wipefs -a /dev/sda, чтобы удалить все сигнатуры файловых систем. Затем создайте новую GPT таблицу разделов: parted /dev/sda mklabel gpt.

  5. Создание EFI-раздела: Создайте раздел EFI, который будет использован для загрузки Ubuntu.

    parted /dev/sda mkpart ESP fat32 1MiB 513MiB
    parted /dev/sda set 1 esp on
    mkfs.fat -F32 /dev/sda1
  6. Создание раздела /boot: Раздел /boot необходим для хранения ядра и других компонентов.

    parted /dev/sda mkpart primary ext4 513MiB 1537MiB
    mkfs.ext4 /dev/sda2
  7. Создание основного раздела: Займите оставшееся пространство на диске под зашифрованный раздел.

    parted /dev/sda mkpart primary ext4 1537MiB 100%
    cryptsetup luksFormat --sector-size=4096 /dev/sda3
  8. Создание логического тома: Откройте зашифрованный раздел и настройте LVM.

    cryptsetup open /dev/sda3 crypt
    pvcreate /dev/mapper/crypt
    vgcreate vgubuntu /dev/mapper/crypt
  9. Создание раздела 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
  10. Активация логических томов:

    vgscan --mknodes
    vgchange -ay
    swapoff -a
  11. Запуск установщика: Запустите установку Ubuntu. При выборе "Тип установки" выберите "Something else" и присвойте точки монтирования:

    • /dev/sda1 -> /boot/efi (тип: efi, устройство для установки загрузчика)
    • /dev/sda2 -> /boot (тип: ext4, форматировать)
    • /dev/vgubuntu/root -> / (тип: ext4, форматировать)
  12. Настройка 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 платформа может удовлетворять сложные требования безопасности.

Оцените материал
Добавить комментарий

Капча загружается...