Вопрос или проблема
Я хочу заменить свою установку Ubuntu 22.04, которая находится на зашифрованном LVM, на новую Ubuntu 24.04.
Я разблокировал зашифрованный раздел:
- sudo cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt
- пароль: ok
- установщик запускается, далее, далее, и после выбора опции “Что-то другое” установщик должен предложить список доступных разделов и разделов LVM для выбора.
Реальность: отображается только “зашифрованный раздел” без основных томов.
Почему и как это решить?
Если причина, по которой вы хотите создать раздел LUKS, заключается в двойной загрузке с Windows, посмотрите это –> https://techtalkblog.ch/ubuntu-24-04-lts-fde-alongside-windows-installation
Кратко:
- Выберите «Стереть диск и установить Ubuntu» и нажмите «Далее»
- Выберите «Использовать LVM и шифрование» и нажмите OK
- Теперь выберите «Установить Ubuntu рядом с Windows Boot Manager» и нажмите «Далее»
- Готово!
Я столкнулся с аналогичной проблемой. После множества исследований выясняется, что это ограничение новых установщиков на основе Flutter (введенных с 23.10).
Единственное решение, которое я нашел на данный момент:
- Скачайте 23.10 устаревший установщик, вы можете получить его здесь, имя файла
ubuntu-23.10-desktop-legacy-amd64.iso
. - Устаревший установщик “видит” разделы LUKS2 и может их создать
- (не рекомендуется) Установка на существующий раздел LUKS2 – я пробовал это, и многие вещи остались несмонтированными, будто Ubuntu не знала, что установлена на зашифрованный том. Система не загружалась до внесения ручных изменений в grub, crypttab и т.д.
- (рекомендуется) Устанавливать на физический раздел и вместо ‘Использовать как EXT4’ выбрать ‘Физический том для шифрования’ – именно эта отсутствующая опция в новых установщиках. Это позволит вам выбрать MVK для нового раздела LUKS2, и установщик автоматически настроит всё, связанное с шифрованием.
- Загрузитесь с 23.10
- Обновите до 24.04 с помощью
sudo do-release-upgrade
. На данный момент это всё ещё недоступно как обновление для стабильной версии, и мне пришлось добавить флаг-d
. Всё прошло отлично, без проблем, система загрузилась и всё ещё находится на зашифрованном диске.
Это, конечно, далеко от идеального решения и имеет ряд ограничений:
- Вам нужно выполнить дополнительное обновление, что частично сводит на нет цель ‘новой чистой установки’.
- Этот метод предполагает наличие незашифрованного
/boot
раздела, тем самым у вас нет полной шифровки диска – при использовании с TPM2 вы потенциально подвержены атакам Evil Maid. Частичное решение – заблокировать ваш UEFI для отключения загрузки с внешних устройств без пароля, и активировать обнаружение проникновения в корпус, чтобы предотвратить любую дальнейшую загрузку машины без пароля администратора – не все производители поддерживают эти опции. - Этот метод будет требовать ввода пароля LUKS2 при каждой загрузке. Регистрация в TPM2 – это отдельная проблема.
Есть и другой вариант, который является крайней мерой и не будет применим для многих людей, включая меня – новые установщики на основе Flutter (23.10, 24.04) имеют новую опцию при выборе ‘стереть всё’ – “Шифрование полного диска с аппаратной поддержкой”:
- Он создаст
/boot
и/
разделы за вас, оба будут зашифрованными - Он автоматически защитит оба ключа разделов с TPM2, поэтому вам не нужно будет беспокоиться об этом вручную и не придется вводить пароли при каждой загрузке.
Что касается недостатков:
- Это отформатирует ваш диск. К сожалению, это единственный способ автоматизировать настройку FDE при помощи установщика.
- Это требует, чтобы TPM2 был стертым. Я сейчас пытаюсь сделать так, чтобы это заработало с TPM2, уже принадлежавшим Windows Bitlocker, но, похоже, это невозможно – опция просто неактивна.
- Это требует, чтобы не использовались сторонние драйверы DKMS, например, Nvidia. Вам нужно будет снять отметку с этих пунктов в установщике, иначе опция FDE будет неактивна. Не уверен, можно ли будет установить драйверы Nvidia после загрузки.
Несмотря на недостатки, я опробовал это на своей резервной машине, и опыт оказался крайне приятным – установка была легкой и гладкой, как всегда. Поскольку разблокировка LUKS2 происходит автоматически, вы даже не сможете понять, что ваше устройство теперь полностью зашифровано. Если вы выберете это решение, не забудьте получить ключи восстановления при загрузке, иначе вы рискуете заблокироваться!
Р.S. Я пробовал трюк @zetheroo, но с ручным разделением – выберите LVM и LUKS, вернитесь, выберите ручное и затем вручную выберите раздел для установки. Установка прошла успешно, но это просто стерло зашифрованный том и установило ОС как обычный незашифрованный EXT4 том.
(Мой первый пост на программном форуме. У меня мурашки по коже, так что, пожалуйста, будьте добры ко мне)
Вот мой фикс/обходной путь, который сработал.
Предыстория:
- Windows 10/11 замаскированный grub (Ubuntu 20.04)
- 1 ГБ раздел для
/boot
отформатирован в ext2 (назовем его/dev/sda2
) /
на LUKS разделе (/dev/sda4
)- SWAP на LUKS разделе (
/dev/sda3
)
После некоторых попыток с установщиком на основе Flutter и поиска в сети я понял, что существует серьезная проблема с разделами на основе LUKS в установщике 24.04.
Что я делаю.
-
Установите новую Ubuntu 24.04 на
/dev/sda4
, используя обычный диск ext4 без шифрования и/boot
на/dev/sda2
. Используйте опцию с ручным разделением в программе установки. -
Перезагрузитесь и используйте LiveCD, чтобы скопировать всю новую систему в другое место (например, используйте
rsync -axHAWXS --numeric-ids --info=progress2
). Конечно, смонтируйте/dev/sda4
в какое-то место (например,/mnt
). -
После успешного копирования отсоедините раздел /dev/sda4 от места, где он был смонтирован, и затем отформатируйте этот раздел с помощью
cryptsetup luksFormat /dev/sda4
-
Откройте LUKS раздел /dev/sda4 с
cryptsetup luksOpen /dev/sda4 sda4_crypt
-
Отформатируйте
/dev/mapper/sda4_crypt
(открытый LUKS раздел хранится здесь) вext4
(или другую файловую систему, которая вам нужна). Я используюgparted
, запущенный через терминал. -
Скопируйте все файлы, которые вы скопировали в пункте 2, на смонтированный
/dev/mapper/sda4_crypt
. -
После успешного копирования добавьте файл
/mounted_sda4_crypt/etc/crypttab
. Отредактируйте этот файл и заполните егоsda4_crypt UUID=(uuid of /dev/sda4) none luks,discard
. Нужно указыватьUUID
/dev/sda4
, а не/dev/mapper/sda4_crypt
. UUID можно найти с помощьюblkid
. -
Отредактируйте файл
/mounted_sda4_crypt/etc/fstab
и замените строку, где хранится информация о чистой Ubuntu 24.04 из пункта 1. (например,/dev/disk/by-uuid/XXXX / ext4 defaults 0 1
) на/dev/mapper/sda4_crypt / ext4 errors=remount-ro 0 1
-
Добавьте и отредактируйте файл
/mounted_sda4_crypt/etc/default/cryptdisks
. Вставьте в него три строки:CRYPTDISKS_ENABLE=Yes
CRYPTDISKS_MOUNT=””
CRYPTDISKS_CHECK=blkid
ПОДСКАЗКА: В LiveCD этот файл хранится в /etc/default/
. Вы можете просто скопировать его в /mounted_sda4_crypt/etc/default/
.
- Смонтируйте
/dev/sda2
в/mounted_sda4_crypt/boot/
, а затем используйтеchroot
в/mounted_sda4_crypt/
. Конечно, сделайте это после монтирования некоторых дополнительных каталогов.
mount -t proc none /mounted_sda4_crypt/proc
mount -t sysfs none /mounted_sda4_crypt/sys
mount --bind /dev /mounted_sda4_crypt/dev
mount --bind /dev/pts /mounted_sda4_crypt/dev/pts
mount --bind /run /mounted_sda4_crypt/run
chroot /mounted_sda4_crypt/
- После успешного
chroot
установитеcryptsetup
.apt install cryptsetup
- После успешной установки
cryptsetup
введитеupdate-initramfs -u -k all
. Это сгенерирует (обновит) новый стартовый файл. Если возникнут ошибки, проверьте UUID в отредактированных файлах. - Если initramfs успешно сгенерировался, введите
update-grub
. - Выйдите из
chroot
, введяexit
втерминале
, и перезагрузите компьютер.
Теперь компьютер должен загрузиться, и после нескольких секунд появится подсказка ввести пароль для зашифрованного раздела root
.
Если вы хотите открыть зашифрованный LUKS раздел SWAP во время загрузки, используйте эти шаги, чтобы добавить этот раздел. В /etc/fstab
добавьте строку /dev/mapper/sda3_crypt none swap sw 0 0
. Конечно, удалите или закомментируйте предыдущую строку о SWAP.
Я установил Ubuntu 24.04 на совершенно новом ноутбуке и также столкнулся с отсутствующей опцией.
Я случайно нашел другое решение:
- Я выбрал ручную установку
- Я создал раздел загрузки нужного мне размера: 2.1 ГБ
- Затем я вернулся к выбору и выбрал “Стереть диск и установить Ubuntu”. Потому что у меня не было времени на другие предложенные здесь решения.
Я проверил разделы после завершения установки, и мне показалось, что установка не удалила и не создала новые разделы загрузки, а использовала существующие (/boot и /boot/efi).
Пока они это не изменят, это гораздо более простой способ, чем другие предложенные здесь решения.
Ответ или решение
При установке Ubuntu 24.04 на зашифрованные LVM-разделы (LUKS), вы можете столкнуться с тем, что установщик не отображает внутренние логические тома после разблокировки зашифрованного раздела. Вот несколько решений проблемы и пошаговое руководство, что делать:
Проблема
После выполнения команды cryptsetup luksOpen /dev/nvme0n1p3 nvme0n1p3_crypt
и ввода пароля, в окне установщика Ubuntu, при выборе «Что-то другое», может отображаться только зашифрованный раздел, без возможности выбора подлежащих логических томов. Это может быть связано с новыми установщиками, основанными на Flutter, начиная с версии 23.10.
Возможные решения
1. Установка через старый установщик (Legacy Installer)
- Скачайте Legacy Installer для версии 23.10 с здесь. Ищите файл
ubuntu-23.10-desktop-legacy-amd64.iso
. - Установите систему с помощью этого установщика, он будет видеть LUKS2-разделы и предоставит возможность их создания.
- Рекомендуемая практика: Установите на физический раздел и выберите «Использовать как: Физический том для шифрования» — эта опция отсутствует в новых установщиках.
- После установки загрузитесь с 23.10, затем выполните команду
sudo do-release-upgrade
для обновления до 24.04.
2. Установка на unencrypted раздел с последующим шифрованием
Если вы не хотите делать двойную установку:
- Выполните установку Ubuntu 24.04 на обычный раздел ext4 без шифрования.
- После завершения установки перезагрузите и запустите LiveCD.
- Скопируйте установленную систему на другой раздел с помощью
rsync
:rsync -axHAWXS --numeric-ids --info=progress2 /mnt/old_install/ /mnt/new_install/
- Зашифруйте целевой раздел с помощью команд
cryptsetup luksFormat
иcryptsetup luksOpen
. - Отформатируйте зашифрованный раздел как ext4 и скопируйте туда данные.
- Обновите файлы
/etc/crypttab
и/etc/fstab
, чтобы использовать правильные маппинги.
3. Экспериментируем с установкой на существующий раздел
- В процессе ручной установки выберите существующий раздел для установки, но не форматируйте его. Возможно, установщик использует уже существующие разделы и конфигурации.
- Убедитесь, что у вас есть резервные копии данных на случай, если установка не пройдет успешно.
Важно помнить
- Использование полного шифрования диска (FDE) требует, чтобы у вас был установлен TPM2 для автоматической разблокировки и, желательно, не использовать внешние устройства для загрузки без пароля.
- Подход с установкой через GTK-установщик или Legacy установщик может осложнить опыт, требуя дополнительных шагов.
Если у вас возникли дополнительные вопросы или проблемы, обратитесь к документации Ubuntu или специализированным форумам, чтобы получить помощь от сообщества.