Я пытаюсь установить Ubuntu с собственной корневой файловой системой ZFS поверх зашифрованного раздела. Настройка устройства выглядит следующим образом:
/swap
и /root
для реальной системы. /home
. Вот два основных руководства, которыми я следовал:
Все работает нормально, за исключением последнего шага - установки grub. update-grub
говорит (внутри chroot
)
error: cannot find a device for / (is /dev mounted?)
/dev
смонтирован, и я следовал дополнительному совету во втором руководстве по настройке /etc/default/grub
и так далее.
У меня не получается получить распознавание устройства, и grub.cfg
/ menu.lst
не создаются. Есть ли какие-то шаги, которые я мог пропустить? Все это работает внутри VirtualBox, если это актуально.
В частности, мне интересно, какой будет правильная командная строка grub для загрузки этой системы.
Я написал пошаговое руководство о том, как заставить это работать здесь: http://www.larsko.org/ZfsUbuntu
Наиболее разумный подход, похоже, использует zfs для вашей домашней папки и оставляет / как ext4 в контейнере luks https://groups.google.com/a/zfsonlinux.org/forum/?fromgroups#!topic. / zfs-обсуждения / tqZybs5SAGA
Существует также руководство по использованию luks и zfs в / в gentoo: https://mthode.org/posts/2012/Dec/gentoo- hardened-zfs-rootfs-with-dm-cryptluks-updated-2012-12-12 / , который я еще не пробовал. Если есть кто-то, кто мог бы написать хороший учебник, я уверен, что есть сотни благодарных людей, которые будут благодарны.
Вам может понадобиться привязать корень LVM. Выйдите из chroot и введите:
sudo mount --bind /dev /mnt/root/dev
Затем выполните chroot и посмотрите, работает ли обновление ZFS-grub.
Grub 1.99 (поставляется с Ubuntu) не поддерживает зашифрованные zfs, поэтому update-grub не работает.
Итак, вы можете выбрать:
Обе эти опции значительно отличаются от значений по умолчанию в Ubuntu, но все же намного меньше, чем в первую очередь использование зашифрованной ZFS для вашей корневой FS:)
Для # 1 вам нужно скомпилировать grub 2.00 из исходного кода, поскольку я не знаю ни одного пакета grub 2.00 для Ubuntu.
Для # 2 вам нужно dpkg-divert update-grub и заменить его символической ссылкой на / bin / true, а затем написать свой grub.cfg вручную (обновляя его всякий раз, когда вы получаете обновление ядра).
Если вам нужно больше подробностей о том, как сделать любой из вариантов, я был бы рад остановиться на этом.