从 Grub 命令提示符启动 USB

从 Grub 命令提示符启动 USB

我有一个我知道可启动的 USB 驱动器(在另一台 PC 上对其进行了测试),但由于 BIOS 较旧,我无法在 BIOS 设置中将其设置为启动设备。

我使用的计算机安装了 GRUB 0.97,我在想:一定可以告诉 grub 直接从 USB 启动吗?如果可以,那么问题是:

加载 GRUB 提示符后(在引导加载程序选择中按 C),如何查看可用的引导设备?我不知道 USB 注册为什么。

注意:是的,一旦操作系统启动,计算机就可以正常读取 USB。希望 Grub 足够复杂,也能做到这一点

答案1

要搜索您的 USB 驱动器,请使用命令root选择驱动器/分区,然后使用find命令查看是否找到了正确的驱动器/分区。

您可以像以下示例一样检查您的设备:

grub> root (hd0,0)   # first harddrive, first partition
grub> find /[tab]    # type the slash then press [tab], and it will try to list files on this partition
Error 17: Cannot mount selected partition   # Oops no file system here
grub> root (hd0,1)   # first harddrive, second partition
grub> find /[tab]
    Possible files are: lost+found var etc media ...   # That was my hard drive with my linux install
grub> root (hd1,0)   # second hard drive usually is the USB drive if you have only one internal drive
grub> find /[tab]
    Possible files are: ldlinux.sys mydoc myfile mystick syslinux.cfg  # Bingo, that's the USB stick
    Note: If you have two internal drives including your CD/DVD drive, the USB drive probably is hd2,0 and so on.

输入以下命令启动驱动器:

chainloader +1
boot

为了方便起见,将这些命令添加到您的 GRUB 配置中(通常在 /boot/grub/menu.lst 中):

# to boot from a USB device
title    Boot USB drive
root     (hd1,0)
chainloader +1
boot

来源:BootFromUSB - ubuntu 文档

答案2

使用内部驱动器中的 grub 启动 Live USB

我使用 balenaEtcher 创建了一个 Live Ubuntu 19.10 USB。

我通过将以下菜单项添加到我的内部驱动器的 grub 菜单来启动该 Live USB:

menuentry "Ubuntu - flash drive" {
 search --set=root --fs-uuid xxxx-xx-xx-xx-xx-xx-xx
    set gfxpayload=keep
    linux   ($root)/casper/vmlinuz$casper_flavour  file=/cdrom/preseed/ubuntu.seed quiet splash  ---
    initrd  ($root)/casper/initrd$casper_flavour
}

其中 xxxx-xx-xx-xx-xx-xx-xx 是 Live USB 的 UUID。

此方法适用于任何启动 ISO9660 文件的实际 USB 或持久 USB。

相关内容