Сбой пользовательской сборки ядра Linux на рабочей станции vmware

При попытке скомпилировать/собрать и загрузить пользовательское ядро ​​внутри рабочей станции vmware при загрузке нового ядра происходит сбой и падает в оболочку с ошибкой, не удалось найти диск по uuid. Я пробовал это как с Ubuntu, так и с Centos.


Что я пробовал, но не помогло


  1. проверьте сопоставление по uuid в загрузочной записи и наличие в каталоге.
  2. initramfs-обновление
  3. заменил root=uuid=‹› на /dev/disk/sda3

введите здесь описание изображения

это проблема с рабочей станцией vmware? как это можно исправить..??


person Himanshu Sourav    schedule 26.12.2015    source источник
comment
Видите ли вы /dev/disk/sda3 или /dev/sda3 в оболочке dracut? Попробуйте просмотреть dmesg, чтобы увидеть, есть ли какие-либо ошибки.   -  person Matt    schedule 04.01.2016
comment
Разве команда ls -fa не показывает искомый UUID? Это больше похоже не на сбой сборки ядра, а на проблему с загрузкой, вы можете настроить свой диск с точки зрения /dev/sd[a-z][1-4] в загрузчике.   -  person u8sand    schedule 05.01.2016
comment
@Matt Я вижу их в оболочке dracut, попробуйте изменить их и в командной строке, но это не помогло. dmesg выдает ту же ошибку, что и само упоминание.   -  person Himanshu Sourav    schedule 06.01.2016
comment
@ u8sand, как упоминалось в вопросе, уже пробовал заменить root=uuid=‹› на /dev/disk/sda3, не помогло. это действительно проблема с загрузкой.   -  person Himanshu Sourav    schedule 06.01.2016
comment
Вы пытались монтировать тома вручную в оболочке dracut?   -  person Matt    schedule 06.01.2016
comment
@Matt говорит, что либо точка монтирования не существует, либо специальный файл устройства не существует при попытке монтирования вручную ... было бы здорово, если бы вы могли посоветовать, как монтировать вручную в оболочке dracut ... Я могу видеть существующие точки монтирования через mount команда   -  person Himanshu Sourav    schedule 28.01.2016


Ответы (3)


У меня была похожая ошибка с моими собственными попытками загрузить Fedora 22 на пустой раздел, используя установку Centos на другом разделе. Я так и не решил ее полностью, но обнаружил, что проблема была в моем initrd, а не в ядре.

Проблема в том, что initrd не запускает LVM, потому что dracut не сообщил initrd, что ему нужен LVM. Поэтому, если вы запустите LVM вручную, вы сможете загрузить свою систему, чтобы исправить это.

Я полагаю, что это последовательность команд, которые я запускал из аварийной оболочки для запуска LVM:

vgscan
vgchange -ay
lvs

эта ссылка помогла мне вспомнить

Затем следует exit, чтобы возобновить нормальную загрузку.

Возможно, вам придется смонтировать записи LVM /etc/fstab вручную, я не помню, делал я это или нет.

person Adam J Richardson    schedule 05.01.2016
comment
Команда vgscan не распознается. как явно войти в аварийную оболочку ..? когда он не загружается, он автоматически переходит в аварийную оболочку, верно? - person Himanshu Sourav; 06.01.2016
comment
Да, верно, это тот, что на втором скриншоте. - person Adam J Richardson; 06.01.2016
comment
почему тогда vgscan не распознал..? что нужно сделать, чтобы он работал в аварийной оболочке ..? - person Himanshu Sourav; 07.01.2016
comment
Хм... согласно which vgscan в системе Linux, которая у меня есть под рукой, vgscan живет в /sbin. Возможно, если вы попробуете /sbin/vgscan, это сработает? - person Adam J Richardson; 07.01.2016
comment
нет, @Adam, внутри sbin нет vgscan. я на центосе-7 - person Himanshu Sourav; 28.01.2016
comment
Извините, но мы достигли пределов моего опыта. Если вы не можете найти vgscan в своем файле initrd, вам нужно исправить или пересобрать файл initrd. Возможно, вы могли бы загрузиться с Live-дистрибутива, правильно смонтировать разделы, chroot в среду и повторно запустить dracut? - person Adam J Richardson; 29.01.2016
comment
Я не отпускаю эту проблему. Я установил свежий дистрибутив на основе Debian и нашел свой путь к vgscan afte5r после всего процесса сборки, а затем с ошибкой при загрузке в аварийную оболочку. теперь, когда я делаю vgscan, он говорит, что соответствующие тома не найдены, а pvscan не нашел подходящих физических томов. @ Адам, твоя помощь будет очень признательна. как теперь двигаться вперед. - person Himanshu Sourav; 02.02.2016

Попробуй это:

sudo update-grub

Затем:

mkinitcpio -p linux

Не помешает проверить файл fstab. Там вы должны найти UUID вашего диска. Убедитесь, что у вас установлены правильные флаги в файле fstab.

Кроме того, в grub.cfg есть настройка, в которой GRUB используется старый стиль шестнадцатеричных UUID. Проверьте и это!

person Ray Bae    schedule 06.01.2016
comment
Команда mkinitcpio не распознается. У меня есть ubuntu и centos, но не archlinux на гостевых машинах. - person Himanshu Sourav; 06.01.2016
comment
Ах. Вы проверили вариант GRUB, который я упомянул? Он может не загрузиться, потому что ожидает другой формат. - person Ray Bae; 06.01.2016
comment
да @Ray, я уже обновил его, запускал несколько раз, но не помогло :( - person Himanshu Sourav; 07.01.2016
comment
Откройте GParted, перейдите в свойства тома, который хотите загрузить. Должен быть UUID более старого стиля, например: GHG54-85NFG-FG985 Попробуйте использовать его в своем GRUB вместо /dev/disk/sda3. - person Ray Bae; 07.01.2016

Проблема связана с созданием initramfs после выполнения

сделать старый конфиг

и выбрав значение по умолчанию для новых параметров, убедитесь, что ДОСТАТОЧНО места на диске доступно для создаваемого образа. в моем случае созданный образ был неправильным, и, следовательно, он не мог смонтировать образ во время загрузки.


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

сделать bzImage

делать модули

сделать модули_установить

сделать установку

начинает работать как шарм. Интересно, почему создание образа было завершено раньше и привело к поврежденному изображению (с меньшим размером) без каких-либо ошибок [каждый раз]

person Himanshu Sourav    schedule 04.03.2016