如何在 chroot 文件系统上运行 update-grub

hoo*_*enz 10 command-line grub2 chroot

我一直在构建一个实时的 Ubuntu 服务器 (10.04 LTS) 来运行拇指驱动器,它几乎就在那里。

然而,我被困在了一步。

我需要跑步,update-grub但它在抱怨:

/usr/sbin/grub-probe: error: cannot find a device for / (is /dev mounted?).
Run Code Online (Sandbox Code Playgroud)

我的fstab文件包含:

# filesystem   mount point     type    options                 dump    pass
UUID=76d2077e-9726-4f95-abab-323cb426b099       /               ext2    defaults                0       0
proc            /proc           proc    nodev,noexec,nosuid 0       0
sys             /sys            sysfs   defaults                0       0
Run Code Online (Sandbox Code Playgroud)

hoo*_*enz 15

哎呀...我的错。就像安装 dev 一样简单。

奇怪的是,我昨晚在凌晨 1 点左右尝试了这个,但没有奏效。今天早上确实如此,所以我不确定有什么不同。

得到一个完整的环境只是

sudo chroot /media/flash-drive
mount proc
mount sys
mount dev
Run Code Online (Sandbox Code Playgroud)

如果你有一个单独的引导分区

mount boot
Run Code Online (Sandbox Code Playgroud)

这样做之后,我能够在 /dev 中看到我的设备

而且 update-grub 确实有效。现在弄清楚为什么它没有启动......这是另一个问题。