LINUX.ORG.RU

Не загружается свежеустановленная система.

 , , ,


0

1

Всем здравствуйте! Недавно, через debootstrap, установил систему на полностью зашифрованный жёсткий диск, в то время как загрузчик GRUB2 у меня на флешке. Запуск GRUB2 идёт нормально, но попытка запустить систему приводит к:

mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting / sys/ on root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or dirctory
Target filesystem doesn’t have /sbin/init.
No init found. Try passing init= boot arg

BusyBox v1.10.2 (Ubuntu 1:1.10.2.2ubuntu7) built-in shell (ash)

(initramfs)

Система только что установлена, ни разу не запускалась. Все носители работают нормально. В GRUB всё прописано по UUID (вот только как надо — через UUID=..., /dev/disk/by-uuid/... или без разницы?) Сначала была проблема, что вместо UUID самого жёсткого диска я указал UUID зашифрованной ФС на нём, но сейчас поправил (методом Find/Replace через nano в /boot/grub/grub.cfg)



Последнее исправление: ShiningRiver (всего исправлений: 4)

Ну чо, не примонтировался твой корень, вот у него и ни sys-dev-proc прикрутить не получается, ни init вызвать. Пароль-то хоть запрашивался при загрузке?

Попробуй вручную примонтировать и switch_root вызвать, если сработает - тогда уже можно думать о том, как опции груба править.

tsmx
()
Ответ на: комментарий от tsmx

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

ShiningRiver
() автор топика
Ответ на: комментарий от ass

Нашёл там строку, в блоке menuentry:

set root='hd2'

Может, в этом дело? Как его правильно задать? Возможно, через консоль GRUB можно что-то сделать?

ShiningRiver
() автор топика

Ещё хотелось бы спросить, как следует заполнять /etc/crypttab на зашифрованном разделе? Может в нём проблема?

ShiningRiver
() автор топика
Ответ на: комментарий от ShiningRiver

Ну давай начнём с того, что редактировать grub.cfg вручную - это фу и за такое бьют по рукам. Есть конфиги в /etc/grub.d и конфиг /etc/default/grub, их нужно редактировать, а потом с помощью grub-mkconfig генерить grub.cfg. Там даже в комментариях в заголовке grub.cfg это должно быть написано.

Как раз в /etc/default/grub и указываются такие вещи, как поддержка шифрованного корня и опции ядра. Полистай на арчевики или ещё где про шифрование корня, наверняка будет какая-то грубовская опция вроде enable crypto root или чё ещё.

tsmx
()
Ответ на: комментарий от tsmx

Я в grub.cfg поправил только UUID, который там был неверно указан. Но в /etc/grub.d/00_header UUID старый, в смысле от зашифрованного раздела (/dev/dm-0), но не от самого диска (/dev/sda) (может папку /etc/grub.d проверить, и там поменять?). В /etc/default/grub поддержка GRUB_ENABLE_CRYPTODISK=y указана. Возможно, также стоит добавить монтирование флешки с grub в /boot? При установке debootstrap'ом она была туда примонтирована.

ShiningRiver
() автор топика

Загрузитесь хоть с чего-нибудь, сделайте chroot, убедитесь, что cryptsetup установлен, а /etc/crypttab заполнен правильно (чтобы проверить, смонтируйте /proc, /sys и /dev при помощи mount --bind внутрь ФС, в которую делаете chroot, и сделайте cryptdisks_start).

В root=UUID=... должен стоять именно UUID корневой файловой системы, а не LUKS-раздела (последнему место в crypttab), и конфиги grub пихают его туда абсолютно справедливо.

Убедившись, что в fstab тоже всё в порядке, сделайте update-initramfs -u -k all и update-grub и повторите попытку. Такая конфигурация должна поддерживаться автоматически. Симулировать её вручную будет контрпродуктивно.

anonymous
()

Три банки пива, пол-пачки сигарет и читаем маны и хелпы! За тебя их никто читать не будет! И поставь нормальный дистр на флешку!

piwww ★★★★
()
Ответ на: комментарий от anonymous

Сделал по Вашим рекомендациям. Теперь тоже не грузит, но уже по другой причине:

Gave up waiting for root file system device. Common problems:

- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Missing modules (cat /proc/modules; ls /dev)

ALERT UUID=<UUID зашифрованной ФС> does not exist. Dropping to a shell!

Похоже, при загрузке по какой-то причине не стартует криптографический модуль (напомню, пароль у меня был запрошен только при старте GRUB, но не после запуска системы), поэтому корневая ФС не существует, тк не расшифрована. При этом cryptsetup на тот раздел установлен. Файл /etc/crypttab заполнен следующим образом:

systemdiamonds /dev/disk/by-uuid/<UUID жёсткого диска> none luks

Файл /etc/fstab заполнен следующим образом:

UUID=<UUID зашифрованной ФС> / ext4 rw,user,auto,exec,dev 0 0
UUID=<UUID загрузочной флешки> /boot ext4 defaults 00
/swap none swap defaults 0 0
proc /proc proc defaults 0 0

ShiningRiver
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.