如何在其中创建具有多个ISO映像的可启动USB

我想要的是创建一个显示GRUB菜单的可启动笔式驱动器,我可以从那里选择任何几个可启动系统来安装/运行。 我想要在USB中安装几个ISO映像,如Ubuntu,Fedora,System Rescue CD,Windows XP和Windows 7(Windows版本是可选的,主要是寻找Linux发行版的多安装程序,特别是Ubuntu版本)

默认的启动盘创建程序仅适用于Linux映像,一次只能使用1个(至少平均时间。如果它允许更多系统和多个ISO,那将是非常棒的)

我可以使用哪种方法逐步创建一个可启动的USB驱动器,该驱动器具有多个映像,而不是从USB启动并从GRUB中选择。 它必须支持Windows映像和Linux映像

或者,还有一种方法可以在同一个USB驱动器上安装多个版本的Ubuntu安装ISO,例如,从它启动时,我可以选择要安装的Ubuntu版本和架构,例如:

引导菜单
Ubuntu 12.04 32位
Ubuntu 12.04 64位
Ubuntu 12.10 32位
Ubuntu 12.10 64位

更新 :想要添加daithib8提到的post的英文版本在这里: MultiSystem – 从Linux创建一个MultiBoot USB USB Pen Drive Linux

在USB / Pendrive中创建和安装多个发行版涉及两个部分: –

  • 使用Multicd.sh创建多个实时发行版。 从链接:

“谷歌搜索了几天后,我发现这个有用的脚本来自www.multicd.tuxfamily.org。Multicd.sh是一个由maybeway36编写的shell脚本,它使两个或多个Live Linux发行版/实用程序能够从单个CD启动DVD。在单个光盘中创建多个Live Linux发行版非常简单。在主文件夹中创建一个文件夹并将其命名为multicd 。将所有实时Linux iso映像和multicd.sh脚本放在multicd文件夹中。关闭窗口。打开终端并提供以下命令

 cd multicd
 chmod + x multicd * .sh
 sudo ./multicd*.sh

上面的命令将执行multicd.sh。 执行时,此脚本将从Internet下载一些软件包,并在multicd文件夹中为您创建一个名为multicd.iso的新iso映像。 检查multicd.iso映像文件的大小。 如果超过700 mb,则必须插入DVD才能写入。 从您喜欢的图像刻录软件中选择刻录图像选项以编写multicd.iso文件。 重启后,CD / DVD驱动器中存在CD / DVD,新GRUB将显示光盘中可用的实时发布列表。 选择您最喜欢的登录…

注意:从Internet下载任何Linux iso映像时,它看起来像“ubuntu-9.04-desktop-i386”,但必须将其重命名为ubuntu.iso(在multicd文件夹中)。 目前这个脚本支持20个现场发行版。 下面给出了此脚本支持的Live Linux发行版列表(此脚本接受的名称位于每个发行版的右侧)。

博客页面上有发行版列表。

  • 将多个实时发行版安装到USB / Pendrive中。

UNetbootin 安装UNetbootin 允许您为Ubuntu,Fedora和其他Linux发行版创建可启动的Live USB驱动器,而无需刻录CD。 它可以在Windows,Linux和Mac OS X上运行。您可以让UNetbootin为您下载支持开箱即用的众多发行版之一,或者如果您已经下载了一个,则提供您自己的Linux .iso文件。您的首选发行版不在列表中。

支持其他:Ubuntu(和官方衍生品)8.04 LTS 9.10 10.04 LTS 10.10 11.04每日CD图像,Fedora 10,11,12,13,14,Rawhide和更多 。

如果您查看它们的图像,您可以选择发行版或自己下载ISO,然后添加或添加自定义。 您可以在硬盘或USB闪存盘上进行设置。

在此处输入图像描述

我希望这是足够的信息,但在这个博客上有更多的信息 。

我发现,不使用Windows的多引导启动棒的唯一系统是Multisystem 。 虽然文档仅使用法语,但您可以使用项目的官方仓库轻松地将其安装在Ubuntu上:

 sudo apt-add-repository 'deb http://liveusb.info/multisystem/depot all main' wget -q -O - http://liveusb.info/multisystem/depot/multisystem.asc | sudo apt-key add - sudo apt-get update sudo apt-get install multisystem 

它可以做burgsyslinuxgrub4dosplopVirtualboxqemu等,但是可以在5分钟内通过拖放为多个发行版制作一个基本的多重启动棒。 对于Slitaz烹饪,我不得不在/boot/grub/menu.lst添加几行。 从我读到的内容来看, Grub 1通常用于多引导环境,但是这个使用Grub 2 。 可以使用EasyBCDPlop启动管理器从Windows启动菜单运行它。

我开始了解另外两种工具。 命名为MultiSystem和YUMI 。

MultiSystem安装非常简单,您可以使用项目的官方 仓库轻松地在Ubuntu上安装它:

 sudo apt-add-repository 'deb http://liveusb.info/multisystem/depot all main' wget -q -O - http://liveusb.info/multisystem/depot/multisystem.asc | sudo apt-key add - sudo apt-get update sudo apt-get install multisystem 

然后,您只需选择您的USB设备,然后将您的ISO拖放到MultiSystem工具中。 如果DnD不起作用,您还可以单击“ Add按钮。

在此处输入图像描述

在此处输入图像描述


YUMI也是简单的类似工具。 他们提供了一个.deb文件 ,您可以像这样安装:

 sudo dpkg -i  

您可以通过将其安装到USB驱动器的MBR,直接使用GRUB2循环安装isofiles。 您也可以通过这种方式创建UEFI可启动USB驱动器或组合这两种方法。

大多数其他解决方案都是MBR /传统PC特定的,并且在UEFI机器上无法可靠地工作。

我建议阅读项目网站和相关联机帮助页上的文档( grub-installgrub-mkimage )。


编辑1:我刚才将答案扩展到了类似的问题。 第2节是关于循环安装一个图像,安装几个Ubuntu图像就像在问题中可以通过复制和修改菜单条目或从Arch Wiki中的文章中选择适当的另一个分发模板来完成。 MultiSystem在另一个答案中提出,应该非常相似,因为它也利用了GRUB的环路安装function。

编辑2:说到MultiSystem,由于gtkdialog依赖项中存在以下错误,目前无法在较新版本的Ubuntu上安装该软件包:

 install-info: warning: no info dir entry in `/usr/share/info/gtkdialog.info.gz' 

似乎这些文件的格式已经改变,这里是gzip信息文件的摘录,用于比较:

 INFO-DIR-SECTION Compression START-INFO-DIR-ENTRY * Gzip: (gzip). General (de)compression of files (lzw). END-INFO-DIR-ENTRY 

gtkdialog是不受维护的,很久以前就被从Debian中移除了,并建议应用程序开发人员转向替代解决方案。 MultiSystem似乎仍在积极开发中,但仍然依赖于gtkdialog,有人应该接近开发人员,我不会说法语。

好吧,这就是我操作Xubuntu所做的从SD卡它也适用于USB棒它实际上非常简单,虽然我只使用(x)Ubuntu,我很确定它适用于其他发行版,不太确定它是否适用将使用Windows。

首先,我们需要2个USB记忆棒,一个用于liveCD,另一个用于安装操作系统。

由于你需要多个操作系统,你应该使用16或32 GB的USB记忆棒,如果可能的话使用USB 3.0,因为2.0设备的传输速率非常慢,例如。 我使用8GB 2级SD卡来安装Xubuntu,虽然它没有爬行,但它没有飞行,虽然SD卡比USB慢,但对于livecd你可以使用1或2 GB驱动器。

好的,现在制作一个liveUSB可启动驱动器,我建议你使用UNetbootiN,这样做,选择iso并创建liveUSB。

现在,你有可启动USB,重新启动你的电脑并启动liveUSB,一旦你在那里开始实时会话。

一旦你将第二个USB连接到PC并将其格式化为EXT4,那么只需将安装程序指向USB驱动器就可以了(我在极端方面做了一点,并断开了我的所有硬盘以避免grub对它们进行安全检查或弄乱现有装置)。

添加更多发行版只是创建更多分区的问题,虽然我不知道USB是否只是普通硬盘驱动器,只能容纳一定数量的扩展分区,虽然你可以分享/ home,swap,我不要我真的知道/ boot是否可以共享,或者是否安全。

至于将Windows添加到USB设备,也许只是,如果您创建一个NTFS分区并在其中安装Windows,然后恢复GRUB以向其添加Windows,它可能会起作用。

MultiBootUSB是我最喜欢的多重驱动器制造商。

它将制作一个可以启动150多个发行版的USB驱动器,它基于grub2 iso启动,非常易于使用。

Ubuntu版本和衍生产品都可以拥有自己的持久性文件。 其他多重引导驱动器创建程序中不提供持久性。

Sundar_Ima在这个实用程序上做得很好。

有Linux和Windows版本。

我的第一个MultiBootUSB驱动器在七年后仍在使用。

知道要获得什么软件。

首先,您需要一个分区编辑器,如GParted或KDE分区管理器。 请参阅Linux的分区编辑器列表 。 如果你使用GTK基础桌面软件作为Gnome,Unity或LXDE,我建议你。 使用Gparted。 如果您使用像KDE或LXQT这样的QT基础桌面而不是使用KDE分区管理器。

你需要的第二件事是他们的安装程序,如Unetbootin,或者你可以使用终端。

安装软件。

的gparted

单击此链接以安装Gparted 安装Gparted ,在Ubuntu软件中心找到它,或在终端输入sudo apt-get install gparted 。 这里有更多说明

点击链接安装Gparted之后,它应该打开Ubuntu软件中心,你需要做的就是按下安装按钮。


Unetbootin

单击此链接以安装Unetbootin 安装Unetbootin ,在Ubuntu软件中心找到它,或在终端输入sudo apt-get install unetbootin 。 这里有更多说明

点击链接安装Unetbootin后,它应该打开Ubuntu软件中心,你需要做的就是按下安装按钮。

分区Flashdrive

有关GUI,请参阅本教程 。 请参阅本教程了解终端,未推荐。

将ISO文件安装到每个分区。

对于Unetbootin,请参阅本教程 。 对于终端,请参阅教程 。

UNetbootin – 多重启动

关于将UNetbootin用作多重引导程序,UNetbootin不会引导ISO映像或安装Windows操作系统,这个线程有一些兴趣。

UNetbootin可以安装到多个分区,但必须处理syslinux引导加载程序。

的gparted

将闪存驱动器划分为每个操作系统的一个分区,标记分区以便清晰。

UNetbootin 1

使用UNetbootin 655将OS安装到可用分区。 使用655或更高版本应该允许驱动器启动BIOS和UEFI

UNetbootin 2

最后安装到第一个分区,或手动为第一个分区设置启动标志。

Syslinux套餐

将Chain.c32从Syslinux-4.07包复制到第一个分区的根目录。 Syslinux-4.03 chain.c32不起作用。

Ubuntu分区

将syslinux.cfg复制为syslinux2.cfg。

编辑原始Syslinux.cfg

如图所示替换原始syslinux.cfg的内容,为每个OS添加一个chainload条目。

sudo parted -ls / dev / sdb

sudo parted -ls / dev / sdb

sudo lsblk -f / dev / sdb

sudo lsblk -f / dev / sdb

Config似乎没有在UNetbootin 655的Linux版本中工作,如果你不想在这里使用Windows版本是一种解决方法。

编辑syslinux.cfg以包含链加载命令

忘记syslinux2.cfg并编辑原始syslinux.cfg以包含其他操作系统的链加载命令。

如果/当我弄清楚如何使用UEFI进行链式加载时,将更新post,这对于syslinux来说可能并不容易。

YUMI (2018)

YUMI现在有一个BIOS启动版本和一个用于UEFI启动的测试版。

YUMI符合OP的多重启动ISO映像标准。

它直截了当,易于理解和使用。

启动菜单实际上是syslinux,但与grub2类似。

YUMI的一个优点是,通过NTFS安装,各个casper-rw持久性文件可以超过4GB。

下载 – https://www.pendrivelinux.com/yumi-multiboot-usb-creator/

YUMI是一个Windows应用程序,据说在Wine中运行,但我没有太多运气。

这是另一个脚本/实用程序,它使用较少的依赖项并支持许多(多)发行版

multibootusb – 在SourceForge.net上浏览文件

SARDU Multiboot USB和DVD支持多个Linux OS以及Win7和Win8安装程序,并在SARDU上进行了讨论- Multiboot USB Creator(Windows) USB Pen Drive Linux 。

mkusb MULTIBOOT HACK

Mkusb为自定义启动驱动项目提供了很好的基础,因为它具有BIOS和UEFI的function。

这个hack引导多个ISO文件,包括Windows安装程序,并有一个grub2菜单。

大多数操作系统的Grub2菜单条目都可以通过Google搜索获得,超出了本答案的范围。

mkusb默认

创建永久USB驱动器时使用mkusb默认值。

mkusb再次使用默认值

如果有疑问,请使用mkusb持久性默认值,以后可以调整分区大小但需要时间。

DUS控制台

安装后的DUS控制台。

之前的GParted

在分区修改之前进行GParted。

Gparted之后

修改后的Gparted – 覆盖sdb4,ISO9660操作系统分区和sdb5,ext2 casper-rw分区,带有FAT32分区,用于持久性文件。

持久性分区

持久性分区 – 为每个操作系统创建唯一的名称文件夹(需要持久性)

持久性文件夹

持久性文件夹 – 将casper-rw文件和可选的home-rw文件添加到每个持久性文件夹。 可以通过重命名casper-rw文件来制作home-rw文件。 home-rw文件就像完全安装时的单独主分区,它可以在版本升级后重用。

ISO文件夹

在NTFS usbdata分区上为ISO文件创建一个文件夹。

ISO文件夹内容

将一些ISO添加到ISO文件夹。

GRUB位置

grub.cfg位置

的grub.cfg

编辑grub.cfg以循环安装ISO文件。 包括: persistent persistent-path=//如果你想要持久化。

sudo parted -ls / dev / sdb

sudo parted -ls / dev / sdb

sudo lsblk -f / dev / sdb

sudo lsblk -f / dev / sdb

如果需要Windows安装程序,最简单的方法是使用mkusb“解压缩Windows安装程序”function,(我必须手动将Windows ISO解压缩到TAR),

mkusb Windows Installer

安装后为ISO创建一个文件夹,如果需要,为持久性创建文件夹(类似于上述过程)。

mkusb Windows grub

编辑/boot/grub/grub.cfg以循环挂载任何ISO并指定任何持久性文件夹。

(还没有找到一种循环安装Windows ISO文件的方法)。

多次安装

自2011年以来情况发生了变化,今天的闪存驱动器更大更快。

现在可以将多个操作系统完全安装到闪存驱动器上(或者将混合驱动器与Live,Persistent和Full安装混合使用)。

完整安装比持久安装更稳定,更安全,但不是那么快。 他们更善于利用​​磁盘空间,因为不需要固定大小的casper-rw文件或分区。

  • 在大型闪存驱动器上创建GPT分区表。

  • 制作与操作系统一样多的ext4分区。 尺寸应为每个8GB或更大。

  • 启动实时驱动器(在UEFI模式下),并插入32GB目标驱动器。

  • 在分区时选择“其他”。

  • 选择sdc1为/。

  • 将引导加载程序安装到32GB驱动器的根目录。

  • 不选中所有其他分区的格式框。

  • 如果需要,安装选择主目录的加密,全盘加密对我不起作用。

  • 用sdc2,sdc3等重复此操作,然后选择安装操作系统。

  • 上次安装后启动闪存驱动器并执行update-grub。 这会将所有操作系统添加到grub.cfg

您可以为任何希望进行实时启动或持久启动的ISO保留分区,使用grub.cfg循环安装这些分区。

看起来这个答案可能部分重复了Uri Herrera的回答。 他先到了这里,我会留在这里,因为它包含的任何其他信息。

旧线程的新答案

尝试了很多解决方案之后

  • Multisystem是一个非常复杂的设置,可以实现拙劣,有缺陷和温和的工作界面
  • Yumi更专业的方法,但不处理UEFI

我成功尝试了Easy2boot ,它有一个简单高效的Linux脚本来格式化,构建和设置预先格式化的USB驱动器(分区FAT32)

  • 将下载的文件从站点解压缩到目录,例如easy2boot
  • 将图像文件(ISO …)复制到easy2boot/_ISO/AUTO (最简单)
  • cd easy2boot/_ISO/docs/linux_utils
  • 运行fmt.sh:bash bash fmt.sh
  • easy2boot将显示它将使用哪个设备,并询问它是否正确…请务必检查此部分两次!

而已。

尝试从Ubuntu格式化的驱动器! (此时应该卸下)

qemu-system-x86_64 -machine accel=kvm:tcg -m 512 -hda /dev/sdX

其中X是USB驱动设备(例如’b’,’c’,……)

您应该在顶部菜单“DIRECT BOOT”中获得一个新条目。

在此处输入图像描述