Virutalbox 中的 Arch Linux:核心恐慌 - 不同步:VFS:無法在未知區塊(0,0)上掛載 root fs

Virutalbox 中的 Arch Linux:核心恐慌 - 不同步:VFS:無法在未知區塊(0,0)上掛載 root fs

我從 arch linux evolution-image 安裝了 Arch Linux 到虛擬裝置。我使用 GRUB MBR 和 GRUB efi 測試了安裝。

在 virtualbox 中,我可以看到 grub 選單,但當我選擇 Arch Linux 時,它給了我一個

核心恐慌 - 不同步:VFS:無法在未知區塊(0,0)上安裝根檔案系統

出了什麼問題?

答案1

我有一個錯誤fstabgenfstab正如指出的那樣)這裡)。所以核心(如果這是錯誤的,請糾正我)沒有找到我的根分區。

fstab用標籤生成並有一個帶有空格的分區。在 fstab 中,必須使用\040.genfstab為空間寫了垃圾。

其他答案建議運行update-initramfs -u -k version,但是該命令已替換為mkinitcpio.

為了讓系統運行,我這樣做了:

  • 我跑了grub-mkcofnig -o /boot/grub/grub.cfg(在這種情況下可能不重要)
  • 之後我啟動進入 grub-menu 並按C對於 grub-shell,我透過輸入以下命令手動啟動 Arch Linux:

    insmod linux insmod ext2 (this works for ext3 and ext4, too or enter your filesystem-driver) set root=(hd0, 2) (enter your partiton-number starting from 1) linux /boot/vmlinuz-linux root=/dev/sda2 (again select your partition) initrd /boot/initramfs-linux.img boot

  • 正確/etc/fstab(確保空格表示為\040

完成的!

答案2

你能告訴我你正在使用哪個CPU嗎?

在 Arch OS 中,Intel CPU 需要 intel-cpu.img,而 AMD CPU 則需要 initramfs-linux.img。

因此,如果您使用 Intel CPU,您應該安裝 intell-cpu 和 linux 映像。

sduo pacman -S intell-cpu

對於其他 AMD CPU,有時 Grub 將 intell-cpu 保留為微碼,這也會導致相同的情況,因此您必須手動更新 grub.cfg 檔案。開啟 Grub 文件gksu gedit /boot/grub/grub.cfg,然後編輯 arch 選單項目。

# /boot/grub/grub.cfg
...
echo 'Loading initial ramdisk'
initrd  /intel-ucode.img /initramfs-linux.img
...

對每個選單項目重複此操作。

相關內容