4

Быстро в точку ..

Я установил в моей системе копию Fedora 15 и Ubuntu 11.04. Сначала я установил Ubuntu в /dev /sda5, а grub2 был установлен в начале /dev /sda. Затем я установил Fedora в /dev /sda6 и, следуя нескольким рекомендациям, установил его загрузочную систему в начале /dev /sda6. После этого grub не смог показать мне информацию о моей установке Fedora, но я вошел в ubuntu и применил update-grub, и после перезапуска я смог войти в Fedora. Проблема в том, что когда я обновил свой дистрибутив Fedora с 2.6.38.6-26.rc1.fc15 до 2.6.40-4.fc15 и после этого применил update-grub к ubuntu. В тот момент, когда я хочу запустить новое ядро на grub, появляется эта Kernel Panic. Я не знаю, что делать, так как я нашел много информации об этой проблеме, но ни один не относился к этому делу конкретно. Если вам нужно больше деталей, просто спросите.

Обновить:

Это записи в файле /boot/grub/grub.cfg, который создается после запуска update-grub.

### BEGIN /etc/grub.d/30_os-prober ###
menuentry "Fedora (2.6.40-4.fc15.x86_64) (on /dev/sda6)" --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(/dev/sda,msdos6)'
    search --no-floppy --fs-uuid --set=root 459a7d80-cc8f-4ae0-89cf-49593a9221e2
    linux /boot/vmlinuz-2.6.40-4.fc15.x86_64 ro root=UUID=459a7d80-cc8f-4ae0-89cf-49593a9221e2 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=la-latin1 rhgb quiet
}
menuentry "Fedora (2.6.38.6-26.rc1.fc15.x86_64) (on /dev/sda6)" --class gnu-linux --class gnu --class os {
    insmod part_msdos
    insmod ext2
    set root='(/dev/sda,msdos6)'
    search --no-floppy --fs-uuid --set=root 459a7d80-cc8f-4ae0-89cf-49593a9221e2
    linux /boot/vmlinuz-2.6.38.6-26.rc1.fc15.x86_64 ro root=UUID=459a7d80-cc8f-4ae0-89cf-49593a9221e2 rd_NO_LUKS rd_NO_LVM rd_NO_MD rd_NO_DM LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=la-latin1 rhgb quiet
    initrd /boot/initramfs-2.6.38.6-26.rc1.fc15.x86_64.img
}

Ядро, которое не работает, является первым. Единственное отличие, которое я вижу, состоит в том, что у рабочего ядра есть инструкция initrd. Я попытался повторить это в нерабочем ядре, изменив значение kernerl, но это не сработало. Я надеюсь, что это может помочь.

С уважением.

4 ответа4

2

Строка initrd /boot/initramfs-kernel.version.img сообщает grub, где найти исходный RAM-диск, который будет использоваться ядром при загрузке. В процессе загрузки ядро Linux монтирует RAM-диск initrd, который содержит временную файловую систему, некоторые модули ядра и другие утилиты, необходимые для процесса загрузки. Если RAM-диск не может быть смонтирован по какой-либо причине, это приводит к панике ядра.

Вы можете проверить, был ли создан правильный образ RAM-диска во время обновления, просто посмотрев, существует ли он в каталоге /boot. Если для вашего нового ядра нет файла или он существует, но каким-то образом поврежден, вы можете сгенерировать новый с помощью команды dracut.

Вот документы по Fedora 15 для обновления ядра вручную, статья IBM об initrd и статья IBM о процессе загрузки Linux.

1

Я отредактировал grub.conf Я добавил boot=/dev/sda2 перед информацией о ядре. ваш раздел может отличаться. Мне потребовалось три дня проб и ошибок, чтобы понять это.

1

Если Ubuntu обнаружил оба ядра Fedora и вы можете загрузить одно, но не другое, сравните обе записи в приглашении GRUB2. Мне кажется, что новое ядро Fedora указывает на другой раздел.

1

Я загрузился со старым ядром и попробовал dracut для нового! По крайней мере, несколько попыток и никакого решения! поэтому я нашел другой обходной путь.

Просто вызовите эту команду в терминале:

yum reinstall kernel

это восстанавливает последнее ядро и (замечательно) новый initrd, теперь загрузка завершена

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .