ذعر kernel عند التمهيد في Redhat Linux ضمن VMware Fusion: لم يتم العثور على نظام الملفات

StackOverflow https://stackoverflow.com/questions/3199046

سؤال

يجب أن يكون هذا بسيطًا. ومع ذلك ، فإنه يعطيني الجحيم.

مشكلة
لقد قمت بتجميع أحدث kernel ، وعندما أقوم بإعادة تشغيل الصندوق الخاص بي ، فإنه يولد ذعر kernel المتعلق بنظام الملفات.

سؤال
كيف أحصل على kernel الجديد للتعرف على نظام ملفات VMware؟ يجب أن يكون هناك بعض الإعدادات في مكان ما يتيح لتثبيت Linux معرفة أن "محرك الأقراص الثابتة" ليس محركًا حقًا ولكنه في الواقع ملف يمثل جهازًا افتراضيًا.

خلفية
أولا وقبل كل شيء ، أنا لست معلم لينكس. هذه هي المرة الأولى التي أجمع فيها النواة. ما فعلته للحصول على هذه المشكلة:

  • تم تنزيل إصدار kernel 2.6.34 من kernel.org
  • تفريغ المصدر في دليل
  • اتبع تعليمات التثبيت هنا:
  • http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html
  • في الأساس ، RAN: اجعل menuconfig ، صنع ، صنع الوحدات ، صنع الوحدات _install ، اجعل التثبيت ، إعادة التشغيل
  • لم أغير حقًا أي شيء في قسم 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 تشغيل معالج Intel Core 2.8 GHz مع 4GB 1067 MHz DDR3 الذاكرة. يتم تخصيص الجهاز الظاهري 2 النوى المعالج و 2048 ميغابايت من الذاكرة. يشير إعداد القرص الصلب VM إلى ملف "Red Hat Enterprise Linux 5.vMDK" مع "Type type" "تعيين" SCSI "و" حجم القرص "إلى 40 جيجابايت و" تقسيم إلى ملفات 2GB "التي تم فحصها.

عندما أستخدم ملف/boot/grub/menu.lst ، يعمل كل شيء بشكل مثالي باستثناء أنه يحضر في kernel الخاطئة (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

عندما أستخدم الملف التالي (مع التعليق على الأسطر الأخيرة وزوجين من التعديلات الصغيرة الأخرى) ، فإنه يحاول تشغيل النواة الصحيح ولكن تم تقديم الحذاء مع ذعر kernel الموضح أعلاه:

# 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 أحتاج إلى تغييره؟ لا أستطيع معرفة هذا!

أي وجميع الاقتراحات موضع تقدير كبير!

هل كانت مفيدة؟

المحلول

ربما تكون نواةك غير قادرة على تحميل الوحدات النمطية اللازمة لتحديد حجم وحدات التخزين الخاصة بك.

أفضل تخميني هو أن initrd ليس في المكان المناسب. يجب أن يكون في نفس الدليل مثل النواة المثبتة.

أيضًا ، ليس من الجيد اتباع تعليمات Debian لنظام Redhat. بشكل عام ، لا بأس ، لكنك تفعل شيئًا محددًا للتوزيع نسبيًا.

نصائح أخرى

واجهت مشكلة مماثلة.

كانت النواة أقدم بكثير من الأجهزة. تم إرفاق القرص الصلب بواسطة SATA الافتراضي. قمت بإعادة تشكيل أجهزة (في BIOS أو في VM.Properties) للاتصال بواسطة IDE. لقد عملت بالنسبة لي ، أنا سعيد :)

تلقيت الذعر kernel في موقف مختلف. كان لدي محطة عمل RHEL 5.5 التي فشلت فيها BIOS/اللوحة الأم. لذلك ، قمت بنقل محرك OS إلى جهاز كمبيوتر آخر متطابق (Dell T5500) وإلى آخر وهو جيل واحد (Dell T5400). لقد فعلت ذلك في الماضي ، نظرًا لأن Linux يحتوي على برامج تشغيل للعديد من اللوحات الأم ، وعادةً ما يقوم الكمبيوتر الشخصي بتمهيد. كل من الذعر النواة كانت متطابقة. لقد فوجئت جدا. لقد ذكرت قرارك لصديق ، وتذكر إعداد BIOS الذي قد يتسبب في حدوث ذلك. قمنا بتغيير BIOS-> محركات-> SATA Operation-> RAID SATA إلى RAID AHCI. بعد تغيير إعداد BIOS هذا ، تم تشغيل كلا الكمبيوتر الشخصي مع RHEL5.5 OS HD !! وكان أجهزة الكمبيوتر البديلة Windows قبل. أخبرني أن Windows يحتاج إلى إعداد ATA BIOS بينما يتطلب Linux الآخر. من يعرف!

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top