我已经在 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
,应该会有所帮助。但是你不能在不发出所有其他命令的情况下发出此命令。因此,只需在这些命令的帮助下重新进行所有设置即可。