Паника ядра при загрузке в RedHat Linux под VMWare Fusion: файловая система не найдена - PullRequest
0 голосов
/ 08 июля 2010

Это должно быть просто.Тем не менее, это дает мне ад.

Проблема Я скомпилировал последнее ядро, и когда я перезагружаю свой компьютер, он генерирует панику ядра, связанную с файловой системой.

Вопрос Как заставить новое ядро ​​распознавать файловую систему VMWare?Где-то должна быть какая-то настройка, позволяющая установке Linux знать, что «жесткий диск» на самом деле не диск, а файл, представляющий виртуальную машину.

Фон Прежде всего, я не гуру Linux.Я впервые собираю ядро.Что я сделал, чтобы получить эту проблему:

  • Скачал версию ядра 2.6.34 с kernel.org
  • Распаковал исходный код в каталог
  • После установкиинструкции здесь:
  • По сути, запустил: make menuconfig, make, make modules, make modules_install, make install, reboot
  • Я ничего не изменил в разделе make menuconfig

После перезагрузки произошел сбой с ошибкой в ​​следующем виде:

No volume groups found
Volume group "VolGroup00" not found
Unable to access resume device (/dev/VolGroup00/LogVol01)
mount: could not find filesystem '/dev/root'
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!

Среда Я использую Red Hat Enterprise Linux Server (2.6.18-194.3.1.el5PAE) под VMWare Fusion версии 3.1.0 (261058), работающей на MacBook Pro с OS X v10.5.8, работающей на 2,8 ГГц процессоре Intel Core Duo с 4 ГБПамять DDR3 1067 МГц.Виртуальной машине выделено 2 процессорных ядра и 2048 МБ памяти.Настройка жесткого диска виртуальной машины указывает на файл "Red Hat Enterprise Linux 5.vmdk" с параметром "Тип шины", установленным на "SCSI", "Размер диска", установленным на 40 ГБ, и опцией "Разбить на файлы 2 ГБ".

Когда я использую следующий файл /boot/grub/menu.lst, все работает отлично, за исключением того, что он загружается не в то ядро ​​(2.6.18-194.3.1.el5PAE вместо 2.6.34):

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.34)
    root (hd0,0)
    kernel /vmlinuz-2.6.34 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.34.img
title Red Hat Enterprise Linux Server (2.6.18-194.3.1.el5PAE)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-194.3.1.el5PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.18-194.3.1.el5PAE.img
title Red Hat Enterprise Linux Server (2.6.18-194.el5PAE)
    root (hd0,0)
    kernel /vmlinuz-2.6.18-194.el5PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.18-194.el5PAE.img

Когда я использую следующий файл (с закомментированными последними строками и парой других небольших правок), он пытается загрузить правильное ядро, но загрузка завершается неудачно с описанной выше паникой ядра:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#          initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.34)
    root (hd0,0)
    kernel /vmlinuz-2.6.34 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
    initrd /initrd-2.6.34.img
    savedefault
    boot
#title Red Hat Enterprise Linux Server (2.6.18-194.3.1.el5PAE)
#   root (hd0,0)
#   kernel /vmlinuz-2.6.18-194.3.1.el5PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet
#   initrd /initrd-2.6.18-194.3.1.el5PAE.img
#title Red Hat Enterprise Linux Server (2.6.18-194.el5PAE)
#   root (hd0,0)
#   kernel /vmlinuz-2.6.18-194.el5PAE ro root=/dev/VolGroup00/LogVol00 rhgb quiet
#   initrd /initrd-2.6.18-194.el5PAE.img

Я не понимаю, как, в одном случае, он может определить файловую систему VMWare просто отлично, а в другом - нет.Что мне не хватает?Есть ли какая-то особая опция компиляции, связанная с VMWare, которую я должен выбрать?Есть ли что-то на стороне VMWare Fusion, что мне нужно изменить?Я не могу понять это!

Любые предложения приветствуются!

Ответы [ 3 ]

6 голосов
/ 02 октября 2013

У меня была похожая проблема.

Ядро было намного старше аппаратного. Жесткий диск был подключен по умолчанию SATA. Я перенастроил (в BIOS или в VM.Properties) аппаратное обеспечение для подключения через IDE Это сработало для меня, я счастлив :) 1003 *

1 голос
/ 08 июля 2010

Ваше ядро, вероятно, не может загрузить модули, необходимые для определения местоположения ваших томов.

Мое лучшее предположение, что ваш initrd не в нужном месте.Он должен находиться в том же каталоге, что и установленное ядро.

Кроме того, не следует следовать инструкциям Debian для системы RedHat.В общем, все в порядке, но вы делаете что-то относительно дистрибутивное.

0 голосов
/ 25 сентября 2016

Я получил панику ядра в другой ситуации.У меня была рабочая станция RHEL 5.5, в которой произошел сбой BIOS / материнской платы.Поэтому я перенес диск с ОС на другой идентичный компьютер (Dell T5500) и на другой компьютер одного поколения (Dell T5400).Я делал это в прошлом, так как Linux содержит драйверы для многих материнских плат, а ПК обычно загружается.Обе паники ядра были идентичны.Я был очень удивлен.Я упомянул ваше разрешение другу, и он вспомнил настройку BIOS, которая могла вызвать это.Мы изменили BIOS-> Диски -> Работа с SATA-> RAID SATA на RAID AHCI.После изменения этого параметра BIOS оба компьютера загрузились с ОС RHEL5.5 HD!На заменяющих ПК была установлена ​​Windows.Он сказал мне, что для Windows нужна настройка BIOS ATA, а для Linux - другая.Кто знал!

...