在USB闪存驱动器上安装Grub 2


30

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

问题是,这是Windows工具,我不知道如何通过命令行进行操作。我也想知道如何以这种方式安装Grub(2),Grub Legacy似乎更容易...

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


Answers:


18

您让我很好奇这将如何完成。Pendrivelinux网站提供的教程是我从Mint 9安装完成的,而不是网站建议的实时CD。

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

/dev/sdg1   /media/LINUXUSB

之后我跑了

sudo su

然后安装grub 2

grub-install --no-floppy --force --root-directory=/media/LINUXUSB /dev/sdg1

我还必须使用--force,该站点上的示例没有使用。然后我做了

cd /media/LINUXUSB/boot/grub

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

wget http://pendrivelinux.com/downloads/grub.cfg

之后,我编辑了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 }

我发现在不同的iso中,vmlinuz和initrd位于不同的目录中。我能够使所有这三个都启动启动过程。但是,只有Ubuntu才能实际加载。如果我确定要完成另外两个任务需要什么,我将在以后添加。我还没有尝试过其他三个iso。


@phunehehe很高兴它有所帮助。这个站点panticz.de/MultiBootUSB包含grub.cfg,其中包含很多条目,它有一些很好的示例。
史蒂夫·伯丁

我已经添加了聘用条目(使用grub.exe)来进行链加载
Francesco

您可以通过unix.stackexchange.com/q/249049/66803帮助我吗?
潘迪2015年

装有UEFI笔记本电脑时,如何将BIOS GRUB安装到USB驱动器。它改为安装UEFI GRUB
Suici Doga


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.