Linux

核心和 QEMU:無法掛載 root fs 錯誤

  • December 5, 2016

我正在嘗試使用自定義核心在虛擬磁碟映像中執行發行版,以便我可以試驗和調試核心。我按照這個製作了一個磁碟映像,然後將 Debian 安裝到它上面。現在我嘗試使用以下命令執行發行版:-

qemu-system-i386 -hda debian.img -kernel ../linux-3.6.11/arch/i386/boot/bzImage -append "root=/dev/sda1"

令我失望的是,它只是給出了一個Kernel panic-not syncing:VFS:unable to mount root fs on unknown-block(8,1)。我該如何解決這個問題?就核心調試而言,我是否走在正確的道路上?

我認為您不必立即開始調試核心。此錯誤消息意味著核心無法掛載您請求的分區/。例如,如果你給它一個空的磁碟映像(我的預感是你的情況),就會發生這種情況 - VM 中的核心看到一個未分區的驅動器,沒有/dev/sda1隻是/dev/sda. 要克服這個問題,請按照您使用的指南中的說明 - 下載可引導的 ISO 映像並使用它將系統安裝到 VM 映像中。使用原始磁碟映像時,可以使用gdiskfdisk或等實用程序直接對其進行分區parted

另一種可能性是,您正在嘗試掛載核心沒有驅動程序的文件系統。這通常發生在使用核心時,該核心在 initrd 上的可載入模組中具有大多數驅動程序並且 initrd 未載入(因此核心缺乏理解特定文件系統的能力)。

引用自:https://unix.stackexchange.com/questions/61282