多分区多操作系统可启动USB


8

我想创建一个恢复闪存驱动器。我有8 GB闪存驱动器[Kingston data traveller]。我还具有a> Ubuntu 13.10 b>引导修复盘c> AVG Rescue CD所需的.iso文件

我希望创建4个分区(每个可启动的.iso分别创建3个分区,并为数据存储创建一个分区。此外,我希望有一种方法可以选择每次从USB启动时要启动哪个操作系统。

那么,有没有办法在USB以及其他三个现场发行版上安装GRUB?以及如何创建这样的设置?


看看UNetbootin。它允许您将多个ISO文件写入USB设备,并且iirc可以从菜单中选择要引导的文件。它使用的是syslinux,而不是grub。我猜是一个FAT分区,其中的文件甚至可能会冲突。但这可能值得一试。
MvG 2013年

Answers:


3

我没有使用MultiSystem,但是我看到了推荐的一种以及其他几种。MultiBootUSB-从Pendrive /闪存驱动器/带有grub2的USB磁盘安装并引导多个Linux

https://help.ubuntu.com/community/InstallAndBootMultipleLinuxFromPendriveFlashDriveUSBDisk

有关多启动版本,请参见yumi

http://www.pendrivelinux.com/

但是,为了更好地理解它,您可以将grub2安装到闪存驱动器,使用启动节创建自己的grub.cfg,然后将ISO复制到闪存驱动器。类似于此链接的硬盘安装。

https://help.ubuntu.com/community/Grub2/ISOBoot

要将grub2安装到闪存驱动器中,默认的/ media现在根据版本而有所不同。新版本将用户添加到路径。还假定sdb为闪存驱动器,如果不确定,请确认正确。标签分区-如果标签是grub2并安装:

sudo grub-install --root-directory=/media/grub2 /dev/sdb

较新的版本也会自动以$ USER名称挂载,该标签为MC4GB,带有用户fred

sudo grub-install --root-directory=/media/fred/MC4GB /dev/sdb

在创建grub.cfg时,引导驱动器始终为hd0,因此,如果直接从闪存驱动器设置引导为hd0,Y,其中Y通常是分区1。

loopback loop (hd0,1)$isofile

否则,示例如下所示:

https://help.ubuntu.com/community/Grub2/ISOBoot/Examples

MC4GB中我的grub.cfg中的第一个条目

set default=0 
set menu_color_normal=cyan/blue
set menu_color_highlight=white/blue
set gfxpayload=800x600

menuentry "Ubuntu 13.04" {
set isofile="/boot/iso/ubuntu-13.04-desktop-amd64.iso"
loopback loop (hd0,1)$isofile
linux (loop)/casper/vmlinuz.efi boot=casper iso-scan/filename=$isofile nomodeset 
initrd (loop)/casper/initrd.lz
}

menuentry " " {
set root= 
}

注意我将nmodedia添加到所有条目中,因为我有nVidia。同样,新版本现在也将vmlinuz.efi用于BIOS和UEFI引导。旧版本只是vmlinuz。其他发行版可能需要不同的引导参数。在上述示例线程或安装中查找示例,并检查ISO的引导参数是什么。


应该在哪里grub.cfg文件被放置在USB驱动器内?它是否应该在根目录中,作为boot/目录的替代?
格雷格2014年

我总是将其放在“正常”位置。Grub在编译时可能会将其设置为任何值,但是/boot/grub/grub.cfg对我有用。
oldfred 2014年

4

对我来说,创建Multi-OS live USB的最佳工具是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

尽管该网站是法语网站,但可以通过右列中的“ Google翻译”功能强大的下拉列表框(或直接通过Google Chrome浏览器)将其令人满意地翻译为英语,但您也可以在此处使用分步说明

对于您的设置,在启动MultiSystem之前,可以首先使用GParted创建2个分区:

  1. 用于MultiSystem的4GB FAT32分区,包括ISO文件等,以及用于存储Ubuntu设置等的空白持久文件,可以稍后在MultiSystem中创建。

  2. 用于数据的4GB NTFS分区。


1
它对我来说效果很好,没有麻烦。
K7AAY 2013年

在64位Lubuntu 18.04上的第一个命令时出错:W: GPG error: http://liveusb.info/multisystem/depot all Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 4E940D7FDD7FB8CC .... E: The repository 'http://liveusb.info/multisystem/depot all Release' is not signed. .... N: Updating from such a repository can't be done securely, and is therefore disabled by default.
Nikhil VJ

@nikhilvj,这很奇怪,我现在在基于Ubuntu 18.04的Linux Mint 19上使用此存储库(输入相同的2条命令之后)。也许您可以忽略此警告并手动启用它-可能新的Ubuntu系统认为它们使用的签名不够安全。
萨迪

1

这是用于在多重引导闪存驱动器的第二个分区上引导iso的菜单项(如sudodus向我建议的那样)。

menuentry "ubuntu-12.04-desktop-i386 Partition 2" {
    set isofile="/ubuntu-12.04-desktop-i386.iso"
    set root='(/dev/sda,msdos2)'
    search --no-floppy --fs-uuid --set=root XXXX-XXXX
    loopback loop ($root)$isofile
    linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=$isofile noprompt noeject
    initrd (loop)/casper/initrd.lz
}

将您的第二,第三和第四分区的UUID替换为XXXX-XXXX。Boot-repair磁盘和AVG Rescue CD的菜单项可能与Ubuntu的格式不同。MultiBootUSB脚本应告诉您如何编写这些脚本。


1

多引导完整系统安装

自从首次提出此问题以来,闪存驱动器的大小已经增加。现在使用完全系统安装来制作多启动驱动器是非常合理的。

完全安装比持久性安装更稳定和安全,但安装速度不那么快。由于不需要固定大小的casper-rw文件或分区,它们更善于利用​​磁盘空间。它们在安装操作系统方面用处不大,因为安装引导ISO的操作系统效果很好。

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

  • 根据您的操作系统创建尽可能多的ext4分区。每个文件的大小应约为8GB。

  • 在UEFI模式下启动Live驱动器,然后插入大目标驱动器。

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

  • 为/选择sdc1。

  • 将引导程序安装到USB驱动器的根目录。

  • 保留所有其他分区的格式框未选中。

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

  • 对sdc2,sdc3等重复此操作,然后选择要安装的OS。

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

您可以为希望进行实时引导或持久引导的任何ISO保留一个分区,以制作安装程序闪存驱动器,然后使用grub.cfg循环挂载这些驱动器。

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.