
我從 arch linux evolution-image 安裝了 Arch Linux 到虛擬裝置。我使用 GRUB MBR 和 GRUB efi 測試了安裝。
在 virtualbox 中,我可以看到 grub 選單,但當我選擇 Arch Linux 時,它給了我一個
核心恐慌 - 不同步:VFS:無法在未知區塊(0,0)上安裝根檔案系統
出了什麼問題?
答案1
我有一個錯誤fstab
(genfstab
正如指出的那樣)這裡)。所以核心(如果這是錯誤的,請糾正我)沒有找到我的根分區。
我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
...
對每個選單項目重複此操作。