当前位置: 首页>>技术问答>>正文


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

, , , ,

问题描述

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

默认的Startup Disk Creator只能用于Linux映像,一次只能使用1个(至少在同一时间,如果它允许更多的系统和多个ISO,那就太棒了)

我可以使用什么方法逐步创建具有多个映像的可引导USB驱动器,这些映像可以从USB引导并从GRUB中选择。它必须支持Windows映像和Linux映像。

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

BOOT MENU
Ubuntu 12.04 32 Bit
Ubuntu 12.04 64 Bit
Ubuntu 12.10 32 Bit
Ubuntu 12.10 64 Bit

更新:想补充一点,daithib8提到的帖子的英文版本在这里:MultiSystem – Create a MultiBoot USB from Linux | USB Pen Drive Linux

最佳解决思路

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

“经过几天的搜索后,我发现这个有用的脚本来自www.multicd.tuxfamily.org Multicd.sh是由mayway36编写的一个shell脚本,它使两个或多个Live Linux发行版/实用程序能够从单个CD /DVD,在单个光盘上创建多个Live Linux发行版非常简单,在您的主文件夹中创建一个文件夹并将其命名为multicd,将所有Live Linux iso映像与multicd.sh脚本一起放入多重文件夹中。窗口,打开终端并给出以下命令


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将显示光盘中的可用发行版列表。选择你最喜欢的一个登录…

注意:当你从互联网上下载任何Linux的iso镜像时,它看起来像这个”ubuntu-9.04-desktop-i386″,但是这个必须重命名为ubuntu.iso(在多重文件夹内)。目前这个脚本支持20个现场发行版。此脚本支持的Live Linux发行版列表如下(并且此脚本接受的名称位于每个发行版的右侧)。“

博客页面上有一份发行清单。

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

UNetbootin允许您在不刻录CD的情况下为Ubuntu,Fedora和其他Linux发行版创建可启动的Live USB驱动器。它可以在Windows,Linux和Mac OS X上运行。您可以让UNetbootin为您支持out-of-the-box的许多发行版之一,或者如果您已经下载了一个或您的首选发行版isn,则可以提供您自己的Linux .iso文件在名单上。

boot,live-usb,iso,usb-creator,ubuntu

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

如果你看看他们的图像,你可以选择发行版本或自己下载ISO并添加它们或添加一个自定义。您可以将其设置在硬盘或USB闪存驱动器上。

boot,live-usb,iso,usb-creator,ubuntu

我希望这是足够的信息,但有很多more info on this blog

次佳解决思路

我没有使用Windows,找到multi-boot boot-stick的唯一系统是Multisystem。虽然文档只有法文版,但您可以使用project’s official repo轻松将其安装在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 boot-manager从Windows启动菜单中运行。

第三种解决思路

我来了解另外2个工具。命名为MultiSystemYUMI

MultiSystem安装非常简单,您可以使用project’s official repo轻松将其安装在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按钮。

boot,live-usb,iso,usb-creator,ubuntu

boot,live-usb,iso,usb-creator,ubuntu


YUMI也是简单的类似工具。它们是providing a .deb file,您可以像这样安装:

sudo dpkg -i <filename.deb>

第四种思路

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

大多数其他解决方案都是MBR /传统PC,并且在UEFI机器上无法可靠运行。

我建议阅读project site和相关联机手册(grub-installgrub-mkimage)上的文档。


编辑1:我前一段时间将my answer扩展为类似的问题。第2部分是关于循环安装一张图像,可以通过复制和修改菜单条目或从Arch Wiki文章中选择适当的模板用于其他分发来安装多个Ubuntu图像。 MultiSystem在另一个答案中提出,应该非常相似,因为它也利用GRUB的循环安装功能。

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

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

看起来这些文件的格式已经改变了,下面是gzip info文件的摘录以供比较:

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

gtkdialog很久没有维护,并且是removed from Debian,建议应用程序开发人员转向其他解决方案。 MultiSystem似乎还处于积极的发展阶段,但仍然依赖于gtkdialog,有人应该接近开发人员,但我不会说法语。

第五种思路

好的,这就是我做Xubuntu的时候,从SD卡上它也适用于U盘,实际上它确实很简单,虽然我只用了(x)Ubuntu,但我很确定它适用于其他Distro,不太确定它是否适用将使用Windows工作。

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

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

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

现在,您拥有可启动的USB,重新启动您的PC并启动liveUSB,一旦您开始实时会话。

一旦你将第二个USB连接到PC并将其格式化为EXT4,那么只需将安装程序指向USB驱动器,就是这样了(我在极端情况下做了一些改动,并断开了所有硬盘驱动器以避免grub被安置在他们身上或弄乱现有的装置)。

添加更多发行版只是创建更多分区的问题,但我不知道USB是否与常规硬盘一样只能容纳一定数量的扩展分区,尽管您可以共享/home,swap,但我不会真的不知道/boot是否可以共享,或者是否可以安全地共享。

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

第六种思路

知道要获得什么软件。

首先,您需要一个分区编辑器,如GParted或KDE分区管理器。查看用于Linux的分区编辑器的list。我建议你使用GTK基本桌面sush作为Gnome,Unity或LXDE。使用Gparted。如果您使用的是像KDE或LXQT这样的QT基本桌面,则使用KDE分区管理器。

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

安装软件。

的gparted

点击此链接安装Gparted,在Ubuntu软件中心找到它,或者在终端中键入sudo apt-get install gparted。还有更多说明我如何在Ubuntu中安装应用程序?

boot,live-usb,iso,usb-creator,ubuntu

点击链接安装Gparted后,它应该打开Ubuntu软件中心,只需按下安装按钮即可完成所有需要的操作。


Unetbootin

点击此链接安装Unetbootin,在Ubuntu软件中心找到它,或者在终端中键入sudo apt-get install unetbootin。还有更多说明我如何在Ubuntu中安装应用程序?

boot,live-usb,iso,usb-creator,ubuntu

点击链接安装Unetbootin后,它应该打开Ubuntu软件中心,只需按下安装按钮即可完成所有需要的操作。

分区Flashdrive

用于GUI的参见tutorial。终端请参见tutorial,不推荐。

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

对于Unetbootin,请参阅此tutorial。终端参见tutorial

第七种思路

MultiBootUSB是我最喜欢的多启动硬盘制造商。

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

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

Sundar_Ima在这个工具上做得很好。

有Linux和Windows版本。

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

第八种思路

UNetbootin – 多启动

对于使用UNetbootin作为多启动器的这个线程有一些兴趣,UNetbootin不会启动ISO映像或安装Windows操作系统。

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

boot,live-usb,iso,usb-creator,ubuntu

为每个操作系统划分闪存驱动器为一个分区,标签分区为清晰。

boot,live-usb,iso,usb-creator,ubuntu

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

boot,live-usb,iso,usb-creator,ubuntu

最后安装到第一个分区,或手动设置第一个分区的引导标志。

boot,live-usb,iso,usb-creator,ubuntu

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

boot,live-usb,iso,usb-creator,ubuntu

将syslinux.cfg复制为syslinux2.cfg。

boot,live-usb,iso,usb-creator,ubuntu

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

boot,live-usb,iso,usb-creator,ubuntu

sudo parted -ls /dev /sdb

boot,live-usb,iso,usb-creator,ubuntu

sudo lsblk -f /dev /sdb

如果您不想使用Windows版本,则Config似乎不适用于Linux版本的UNetbootin 655,这是一种解决方法。

boot,live-usb,iso,usb-creator,ubuntu

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

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

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/847.html,未经允许,请勿转载。