我可以创建一个USB闪存驱动器,其中包含一个永久的Ubuntu安装和其他可引导的ISO文件吗?

我有一个32GB的USB闪存盘,我想在里面创建一个包含以下内容的盘(理想情况下): 1. 安装好的Ubuntu系统(不是“试用Ubuntu”,因为我想保存驱动程序、应用程序等,每次使用时都能够使用)。 2. 几个其他可引导的ISO镜像(Windows 8安装盘、杀毒工具、系统工具等)。 3. 最后,还要有一个单独的空间用于通用文件存储。
- 我看过一些关于如何在USB设备上创建正确的Ubuntu安装的指南,所以我可以做到这一点,但是我无法在同一个盘上放置我的可引导ISO镜像。
- 我知道有Your Universal Multiboot Installer (YUMI)多重引导,虽然我没有尝试过,但我相信我可以使用它来在同一个USB盘上安装多个可引导的ISO镜像,但它只提供了“试用Ubuntu”的版本,所以每次使用时我都需要重新下载应用程序等。
我正在尝试创建一个非常多功能的USB存储设备,以应对各种情况。
我的梦想可能实现吗?
我在谷歌和论坛上搜索过,可以找到一些关于我的问题的答案,但没有找到如何将它们整合在一起的方法。
我能否将我的USB存储设备分成三个或四个分区,并且:
1. 在一个分区上进行Ubuntu的完全安装 2. 使用YUMI将所有可引导的ISO镜像放在第二个分区上 3. 使用第三个分区进行一般文件存储?
这样会有效果吗? 我能在一个USB存储设备上拥有两个独立的可引导分区,并且其中一个分区上有YUMI吗?如果可以,是否有任何提示或建议?

我能想到的唯一可行的方法是将USB分区,将grub放在第一个分区上,然后为设备上的每个可引导分区设置有效的GRUB引导项。我不知道是否有任何工具可以自动完成这个过程,但如果你对分区、设置GRUB和使用dd命令将ISO直接写入分区感到熟悉的话,你可以尝试手动操作。祝你好运,如果成功了,请发布答案! - pzkpfw
@user68186 你的评论是一个很好回答的开端,请将其写出来,我相信我会为之感到自豪并点赞。 - Elder Geek
你可以使用下面的链接制作可启动的USB驱动器:http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-ubuntu - vembutech
我猜我提供了最好的解决方案(编辑了之前的回答),不知道为什么有人对我的回答投了反对票。很奇怪吧? - Faizan Akram Dar
1个回答

一个分区解决方案

您可以使用2个(或3个,如果需要交换)分区来完成,一个用于完整的Ubuntu,另一个用于数据存储和交换。完整的Ubuntu将默认安装GRUB。修改GRUB以添加额外的条目,直接指向存储在第一个分区中与Ubuntu一起的ISO文件。

有关如何在GRUB中添加ISO条目的更多详细信息,请参阅如何从非Ubuntu live ISO镜像(如Fedora或CentOS)启动?

方法

首先在USB设备的开头创建一个主要的FAT32分区用于存储。根据需要设置其大小。或者,您可以将现有分区缩小到所需的通用存储分区的大小。重要的是这个分区是第一个分区,因为Windows只会将第一个分区识别为存储分区。使用FAT32格式可以确保它与大多数操作系统兼容。

第二步:在第一个分区释放出的空间中安装Ubuntu。还要确保引导加载程序(GRUB)安装在正确的USB中,而不是硬盘或其他USB(如果您正在使用Live USB进行安装)。选择整个磁盘进行GRUB安装。这看起来像/dev/sdb/deb/sdc等。这将把grub放入MBR中。不要选择分区,例如dev/sdb1

第三步:确保一切都正常。将USB插入Windows计算机并验证可读/可写的存储空间。重复使用Ubuntu和其他操作系统。

从USB启动Ubuntu,并确保它按预期工作。

第四步:两种方法

基于Ubuntu Documentation on GRUB2/ISOboot的简单方法

安装grml-rescueboot

sudo apt-get install grml-rescueboot

将可引导的ISO文件放置在/boot/grml文件夹中。例如,如果ISO文件位于Downloads文件夹中,则键入:
sudo mv ~/Downloads/<filename.iso> /boot/grml/

更新GRUB:
sudo update-grub

下次您从USB启动时,GRUB将包含完整安装的菜单项,以及所有ISO文件。
手动方法/困难方法:
您还可以参考如何从非Ubuntu live ISO镜像(如Fedora或CentOS)启动?Ubuntu文档ISO引导示例中的示例,编辑文件/etc/default/grub并为第一个ISO添加一个条目。确保ISO文件的路径是正确的。
编辑和保存/etc/default/grub文件后,使用sudo update-grub命令更新GRUB。
对其他ISO文件重复此操作。
还可以参考此论坛帖子以获取更多详细信息
感谢oldfred提供的额外链接。
请注意:这种编辑GRUB指向ISO的方法可能不适用于Windows ISO。
希望对您有所帮助。

1FYI:我过去曾成功地使用过Hirens Boot CD这种方法(据我记得,它是一个WindowsPE环境)。 - Elder Geek
2我已经使用BIOS和UEFI两种方式完成了这个操作。类似的信息可以在这里找到:https://help.ubuntu.com/community/Grub2/ISOBoot 和 https://help.ubuntu.com/community/Grub2/ISOBoot/Examples。对于UEFI,可以参考这个链接:http://ubuntuforums.org/showthread.php?t=2257100。问题总是出在正确获取驱动器、分区和路径上。如果直接从闪存驱动器启动,则在grub中始终为hd0。 - oldfred
谢谢@oldfred提供的非常有帮助的链接。我希望你不介意我在我的回答中加入这些链接。 - user68186