Разница между /user и /root

Ваш контейнер LUKS был создан с тем же размером, что и базовый раздел /dev/sda5, но поскольку /dev/sda6, который вы ddв него ввели, был меньше этого, образ /dev/sda6не полностью заполнил бы ваш /dev/mapper/myroot. Простого resize2fs /dev/mapper/myrootбыло бы достаточно, чтобы это исправить.

Вы много говорите о своих действиях, но очень мало о фактических симптомах:Что именно происходит, когда вы пытаетесь загрузиться с новым зашифрованным рутом? Каково фактическое сообщение об ошибке, если оно есть? Признает ли он существование вашего зашифрованного раздела,и запросить парольную фразу, или он не может определить ее по UUID? Или GRUB успешно загружает ядро ​​и файлы initramfs, но тогда initramfs не удается смонтировать зашифрованную корневую файловую систему?

Похоже, вы используете собственную схему загрузки UEFI. Это нормально, но при этом может быть включена безопасная загрузка. Если это так, это будет ограничивать GRUB от загрузки любых других модулей GRUB из /boot/grub/x86_64-efiпосле загрузки основного grubx64.efi, поэтому все необходимые модули должны быть встроены в основной grubx64.efiфайл загрузчика.

При выполнении grub-installобычно запускается grub-mkimage, который может включать любые модули GRUB в grubx64.efiсоздаваемую сборку. Обычно grub-installбудет включать только минимально необходимое количество модулей... то есть только те модули, которые были определены как необходимые на момент grub-installвыполнения . Таким образом, возможно, ваш GRUB дает сбой, потому что он не имеет встроенной поддержки шифрования, потому что корневая файловая система не была зашифрована при выполнении grub-install.

Чтобы исправить это, у вас есть два варианта. Либо используйте grub-installдля повторной -установки GRUB, когда вы вошли в новую корневую файловую систему и у вас есть действующая запись /etc/crypttabдля нее... или, проще говоря, убедитесь, что у вас установлен пакет grub-efi-amd64-signed, и замените существующий grubx64.efiна вашем ESP (= вероятно/boot/efi/EFI/ubuntu/grubx64.efi)на/usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed:

cp /boot/efi/EFI/ubuntu/grubx64.efi /boot/efi/EFI/ubuntu/grubx64-backup.efi
cp /usr/lib/grub/x86_64-efi-signed/grubx64.efi.signed /boot/efi/EFI/ubuntu/grubx64.efi

Это предварительно -собранный загрузчик UEFI GRUB, подписанный как максимально приемлемый для безопасной загрузки, и он имеет все модули GRUB, встроенные в , поэтому он должен быть заметно больше, чем ваш существующий файл grubx64.efi.

Даже если безопасная загрузка отключена, файл grubx64.efi.signedдолжен работать нормально, :тот факт, что в него встроены все модули GRUB, по-прежнему полезен.

Но если ваш GRUB может успешно загрузить ваше ядро ​​и файлы initramfs, проблема должна быть на этапе initramfs. Если в вашей Ubuntu доступен пакет cryptsetup-initramfs,убедитесь, что он установлен. Затем, опять же, пока вы находитесь в новом зашифрованном корневом каталоге и у вас есть действующая запись /etc/crypttabдля него, запустите update-initramfs -u, чтобы перестроить ваши initramfs. Запуск его внутри chroot должен позволить ему автоматически -определить, что корневая файловая система зашифрована, и включить необходимые инструменты и сценарии в файл initramfs.

-6
28.11.2020, 19:07
1 ответ

/usr— это не пользователь, это каталог для данных приложения, /root— домашний каталог для пользователя root, учетная запись системного администратора в Unix/Linux

Это очень базовые концепции Unix/Linux, и я рекомендую не использовать Kali, если вы боретесь с ними, вам следует выбрать более удобный и ориентированный на новичков дистрибутив, такой как Ubuntu или Linux Mint.

Дополнительную информацию об иерархии файловой системы Linux и концепции суперпользователя можно найти здесь:

5
18.03.2021, 22:46

Теги

Похожие вопросы