在 U 盘上安装 Grub 2

phu*_*ehe 30 dual-boot usb boot-loader iso grub2

MultiBootISOs是一种工具,可让您在 USB 闪存驱动器上安装 Grub。我真的很喜欢它,因为它让我可以从 ISO 文件启动,并让我在我的 USB 上放置一堆 ISO 并选择要启动的一个。

问题是,这是一个Windows工具,我不知道如何通过命令行来做。我也想知道怎么安装Grub(2)这样的,Grub Legacy好像比较容易...

编辑:我不是要工具(绝对不是 Windows 工具)。我想知道我必须执行哪些命令才能产生相同的效果。我现在脑子里有 Ubuntu,但如果有一种通用的方法可以在 USB 中启动任何 ISO,那会更好。

Ste*_*ine 18

你让我很好奇这将如何完成。Pendrivelinux 站点有一个教程,我是从我的 Mint 9 安装而不是站点建议的 live cd 中完成的。

我首先在终端中找到我的 USB 驱动器df的位置我运行它返回设备的位置

/dev/sdg1   /media/LINUXUSB
Run Code Online (Sandbox Code Playgroud)

在那之后我跑了

sudo su
Run Code Online (Sandbox Code Playgroud)

然后安装 grub 2

grub-install --no-floppy --force --root-directory=/media/LINUXUSB /dev/sdg1
Run Code Online (Sandbox Code Playgroud)

我不得不另外使用 --force ,网站上的例子没有。然后我做了

cd /media/LINUXUSB/boot/grub
Run Code Online (Sandbox Code Playgroud)

该站点提供了一个链接,可将 grub.cfg 的副本下载到我的 USB 驱动器上的 /boot/grub 目录。链接是

wget http://pendrivelinux.com/downloads/grub.cfg
Run Code Online (Sandbox Code Playgroud)

之后,我编辑了 grub.cfg 以反映 USB 驱动器上的 iso。

set timeout=10 set default=0

menuentry "Run Fedora" {
    loopback loop /Fedora13.iso
    linux (loop)/isolinux/vmlinuz0 boot=isolinux iso-scan/filename=/Fedora13.iso splash --
    initrd (loop)/isolinux/initrd0.img
}

menuentry "Run Ubuntu" {
    loopback loop /ubuntu-10.04-netbook-i386.iso 
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-netbook-i386.iso splash --
    initrd (loop)/casper/initrd.lz
}

menuentry "Run Clonezilla" {
    loopback loop /clonezilla.iso
    linux (loop)/live/vmlinuz boot=live iso-scan/filename=/clonezilla.iso splash --
    initrd (loop)/live/initrd.img }
Run Code Online (Sandbox Code Playgroud)

我发现在不同的 iso 中,vmlinuz 和 initrd 位于不同的目录中。我能够让所有三个开始启动过程;但是,只有 Ubuntu 才能实际加载。如果我弄清楚让其他两个完成加载需要什么,我稍后会添加。我还没有尝试过任何其他iso,只是这三个。


小智 5

GRUB2 Bootloader 完整教程是开始使用 GRUB2 进行多引导配置的好地方。
如果您熟悉 GRUB,请直接跳到第 5第 6节。

还有一个关于用 GRUB 设置多重引导系统的超级用户问题。
还有一个 Ubuntu MultiOSBoot社区页面,建议您坚持使用 Legacy GRUB。

只要您的机器可以从闪存驱动器启动,该技术也适用于闪存驱动器。
我使用闪存驱动器已经有一段时间了