在 USB 闪存驱动器上安装 grub

在 USB 闪存驱动器上安装 grub

我已经在 USB 闪存驱动器上安装了 Linux。我还安装了 grub 以便能够启动它。但是,我无法正确设置 menu.lst 文件来启动它。此设置:

title  Arch Linux
root   (hd0,0)
kernel /boot/vmlinuz-linux root=/dev/sda1 ro
initrd /boot/initramfs-linux.img

加载我当前的系统,而不是我的 USB 闪存驱动器上的系统。我也试过这个;

title  Arch Linux
root   (hd1,0)
kernel /boot/vmlinuz-linux root=/dev/sdb1 ro
initrd /boot/initramfs-linux.img

它加载了 initramfs(编辑:我不确定它是来自我的硬盘还是来自我的 USB 闪存驱动器的 initrd),但无法找到并加载根分区。这是我当前的磁盘布局

rootfs         15672636  6811912  8074396   46% /
/dev             638384        0   638384    0% /dev
run              639768      300   639468    1% /run
/dev/sda1      15672636  6811912  8074396   46% /
shm              639768      216   639552    1% /dev/shm
/dev/sda4      50863856 23957848 26906008   48% /home
/dev/sda2      10482364  7557180  2925184   73% /var
/dev/sdb1       7850524   828168  6628580   12% /media/0637815e-9864-4a45-a361-d6c36b3cd3d1

/dev/sdb1是我的 USB 驱动器的分区,其中存放着我的 Linux。如果它很重要,这是我的 /boot/grub/device.map 文件

(fd0)     /dev/fd0
(hd0)    /dev/sda
(hd1)    /dev/sdb

我想进行这样的设置,以便 USB 驱动器不以任何方式依赖我当前的系统。任何帮助都非常感谢。

答案1

当您在闪存驱动器上安装 GRUB 时,您必须输入几个命令:

sudo grub
grub> device (hd0) /dev/sdb
grub> root (hd0,0)
grub> setup (hd0)
grub> quit

线路

grub> device (hd0) /dev/sdb

你的闪存驱动器在哪里/dev/sdb,应该会有所帮助。但是你不能在不发出所有其他命令的情况下发出此命令。因此,只需在这些命令的帮助下重新进行所有设置即可。

相关内容