问题描述
我想要的是创建一个显示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中创建和安装多个发行版涉及两部分: –
-
创建多个实时发行版Using Multicd.sh。从链接:
“经过几天的搜索后,我发现这个有用的脚本来自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文件在名单上。
其他支持: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闪存驱动器上。
我希望这是足够的信息,但有很多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
它可以做burg
,syslinux
,grub4dos
,plop
,Virtualbox
,qemu
等,但是可以在5分钟内通过对许多发行版进行拖放来制作基本的多引导棒。对于Slitaz烹饪,我不得不添加几行到/boot/grub/menu.lst
。从我读的Grub 1
通常用于多引导环境,但是这个使用Grub 2
。它可以通过使用EasyBCD
或Plop
boot-manager从Windows启动菜单中运行。
第三种解决思路
我来了解另外2个工具。命名为MultiSystem和YUMI。
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
按钮。
YUMI也是简单的类似工具。它们是providing a .deb file,您可以像这样安装:
sudo dpkg -i <filename.deb>
第四种思路
您可以通过将GRUB2安装到USB驱动器的MBR来直接循环安装isofiles。您也可以通过这种方式创建UEFI可引导USB驱动器,或将两种方法结合使用。
大多数其他解决方案都是MBR /传统PC,并且在UEFI机器上无法可靠运行。
我建议阅读project site和相关联机手册(grub-install
,grub-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中安装应用程序?
点击链接安装Gparted后,它应该打开Ubuntu软件中心,只需按下安装按钮即可完成所有需要的操作。
Unetbootin
点击此链接安装Unetbootin,在Ubuntu软件中心找到它,或者在终端中键入sudo apt-get install unetbootin
。还有更多说明我如何在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引导加载程序。
为每个操作系统划分闪存驱动器为一个分区,标签分区为清晰。
使用UNetbootin 655将OS安装到可用分区。使用655或更高版本应允许驱动器启动BIOS和UEFI
最后安装到第一个分区,或手动设置第一个分区的引导标志。
将Chain.c32从Syslinux-4.07包复制到第一个分区的根目录。 Syslinux-4.03 chain.c32不起作用。
将syslinux.cfg复制为syslinux2.cfg。
如图所示替换原始syslinux.cfg的内容,为每个操作系统添加一个chainload条目。
sudo parted -ls /dev /sdb
sudo lsblk -f /dev /sdb
如果您不想使用Windows版本,则Config似乎不适用于Linux版本的UNetbootin 655,这是一种解决方法。
忘记syslinux2.cfg,只编辑原始的syslinux.cfg,以包含其他操作系统的链加载命令。
如果/当我弄清楚如何使用UEFI进行链式加载时,将会更新帖子,这对于syslinux来说可能并不容易。
参考资料