我正在努力成为一名更好的 Unix 用户。我想使用 Debian 双启动我的 arch-linux 虚拟机。我正在使用 VirtualBox。
我正在通过 arch-linux 环境安装 Debian(https://www.debian.org/releases/buster/i386/apds03.en.html)
我已经让它在没有 /boot 分区的情况下为我的 Debian 操作系统工作。但是当我尝试为 Debian 创建 /boot 分区时,GRUB 找不到内核。
当我尝试加载 Debian 时,出现了这个
error: file '/boot/vmlinuz-4.9.0-6-rt-686-pae' not found
error: you need to load the kernel first.
我认为问题出在我的 fstab 文件上。在我的功能性双启动中,我的 Debian fstab 文件如下:
/dev/sda7 / ext4 defaults 0 1
/dev/sda8 none swap sw 0 0
proc /proc proc proc 0 0
当我使用
mount -a
它运行完美,我的 /proc 被很好地填充,并且两个操作系统运行顺畅
但是当我尝试引入 /boot 分区并 mount -a 时,/proc 是空的,我必须手动使用以下命令挂载它:
mount -t proc proc /proc
但最终 GRUB 找不到内核
fstab 如下所示
/dev/sda2 /boot ext2 rw,nosuid,nodev 0 2
/dev/sda7 / ext4 defaults 0 1
/dev/sda8 none swap sw 0 0
proc /proc proc proc 0 0
我使用的是 archlinux 上的 grub legacy,而不是在 debian 上安装 grub。我尝试将 /boot 分区的权限更改为默认值,但无济于事。我还尝试安装 Debian 上的 GRUB2,它适用于 /boot 分区,但我丢失了 arch linux。
我走的路对吗?可能是我的 fstab 和 /proc 出了问题?
或者 GRUB legacy 和 Debian buster 是否存在一些我不知道的问题?
任何帮助都将不胜感激。感谢您的阅读。
答案1
您是否尝试过在 Debian 上安装 grub?您可以使用操作系统探测器自动找到你的 Arch Linux
sudo apt install os-prober
运行
sudo os-prober
最后更新 grub:
sudo update-grub