歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> VMware安裝Gentoo 啟動出錯 VFS:Unable to mount root fs on unknown block

VMware安裝Gentoo 啟動出錯 VFS:Unable to mount root fs on unknown block

日期:2017/2/28 15:58:54   编辑:Linux教程
在VMware中安裝Gentoo後,啟動報錯:
VFS:Unable to mount root fs on unknown block

解決方案
1)
(1)Root-NFS:No NFS server available,giving up;  
(2)VFS:Unable to mount root fs via NFS,trying floppy;
(3)VFS:Cannot open root device "sda3" or unknown block(2,0);
(4)Please append a correct "root = " boot option;here are the available patitions:0b00 1048575 sr0 drivers:sr;
(5)kernel panic -not syncing:VFS:Unable to mount root fs on unknown block(2,0)
當時我查了很多資料,問題定位在虛擬機的SCSI硬盤上,默認kernel的
虛擬機硬盤類型可在Other Linux 2.6.x kernel文件裡找到:
scsi0.virtualDev = "lsilogic"
#lspci
00:00.0 Host bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corporation 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corporation 82371AB/EB/MB PIIX4 USB
00:07.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0f.0 VGA compatible controller: VMware Inc Abstract SVGA II Adapter
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 PCI-X Fusion-MPT Dual Ul
tra320 SCSI (rev 01)
00:11.0 PCI bridge: VMware Inc Unknown device 0790 (rev 02)
02:00.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
02:01.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)
02:02.0 USB Controller: VMware Inc Abstract USB2 EHCI Controller

kernel的配置如下:
#make menuconfig
Device Drivers --->
SCSI device support --->
[*] SCSI low-level drivers --->
│ │ [*] LSI Logic New Generation RAID Device Drivers │ │
│ │ <*> LSI Logic Management Module (New Driver) │ │
│ │ <*> LSI Logic MegaRAID Driver (New Driver) │ │
│ │ <*> LSI Logic Legacy MegaRAID Driver │ │
│ │ <*> LSI Logic MegaRAID SAS RAID Module │ │
│ │ <*> LSI MPT Fusion SAS 2.0 Device Driver │ │
│ │ (128) LSI MPT Fusion Max number of SG Entries (16 - 128) │ │
│ │ [ ] LSI MPT Fusion logging facility
<*> SCSI Device Handlers --->
<*> LSI RDAC Device Handler


2)

出現錯誤: 重啟選擇開啟的選項後運行到這裡:[ 2.889093]Root-NFS :NO NFS server available, giving up [ 2.889174]VFS : unable to mount root fs via NFS , trying floppy [ 2.892325]VFS : cannot open root derice"sda3" or unknown-block(2,0) [ 2.892406]Please append a correct "root=" boot option; here are the available partitions: [ 2.892488] 0b00 1048575 sro driver : sr [ 2.892569]Kernel panic - not syncing : VFS : unable-block(2,0) 然後就停止運行

解決方法:上面出現的問題是grub的是指錯誤,在kerkenl /kernel root=/dev/sda3的後邊加上一個參數:sda=stroke就可以了(2.6.7以上的內核都要加這個參數的)。重啟後成功啟動了

相關閱讀:Gentoo內核編譯選項說明 http://www.linuxidc.com/Linux/2012-01/52188.htm

3)

問題解決了 ,方法如下:
把Device Drivers-->SCSI device support-->SCSI low-level drivers下的所有設置成未選擇狀態
Device Drivers-->Fusion MPT device support-->Fusion MPT(base + ScsiHost) drivers選中

然後將內核重新編譯、安裝,將grub.conf設置正確:

代碼: default 0
timeout 30
title=Gentoo Linux 2.6.12-r6
root (hd0,0)
kernel /kernel-2.6.12-gentoo-r6 root=/dev/sda3
重啟,OK。

“Fusion MPT(base + ScsiHost) drivers”是我的SCSI控制器的驅動,你可以用LiveCD啟動然後用lspci查看你的硬件型號及廠商(不單能看到SCSI控制器的,還能看網卡、顯卡、聲卡的型號)然後在make menuconfig裡面用“/”查找一下剛才找到的型號和廠商,一般結果都有好幾個,注意看看,一般都能看出來是哪方面的驅動,找幾個可疑對象逐個試試(呵呵,我是一次就找對了 )。

綜上,我認為:我在啟動時出現的問題,是一個SCSI驅動選擇不正確所致。
Copyright © Linux教程網 All Rights Reserved