注意:这是OP的答案。我将它作为CW移到了这里,所以没有关闭。如果mod看到此情况,请将其所有权归给OP,以作为自我解答。
在下文中,我将详细说明如何使所有这些工作在某种程度上和谐地工作并解决问题。
第一部分:安装。
请注意,如果你要的是Windows 7(或8?)安装在你的机器上,你可能必须安装它第一次,最好是在它自己的硬盘驱动器,你将不能够把它放在你的逻辑卷组。这是因为Windows 7 GPT / EFI安装程序是非常基本的,不会让您执行此处将要执行的操作。Windows安装后,您可以调整大小和重新分区,添加多引导安装所需的分区。Windows创建的EFI系统分区可以始终使用下面详述的方法的一种变体重新用于Linux安装。
首先,在执行任何其他操作之前,它有助于使用gparted(或类似工具)擦除目标系统驱动器并将其初始化为GPT磁盘。如果您对使用非图形分区程序从头开始设置磁盘感到有些紧张,那么这绝对是值得的,并且可以通过标准的实时桌面USB或CD安装程序轻松完成。不要在Windows中执行此操作。我不确定这是否绝对必要,但这就是我所做的。您也可以在此阶段对非LVM分区进行基本分区,因为这不会造成伤害,并为您提供了正确安装的框架。
现在刻录您的安装CD / USB。如果您使用的是Ubuntu Alternate Desktop ISO(推荐),则必须将其刻录到CD上,因为它将无法从USB记忆棒上正常工作。当用于LVM安装时,当尝试使用aptitude / tasksel开始加载和安装软件时,它将以严重错误停止,因此,如果您知道有什么用,请使用CD!
在所有情况下(AFAIK),Ubuntu Server都可以通过USB绝对完美地安装,但是我发现,如果我想在Server之上构建Ubuntu / Mythbuntu桌面系统,它将引入各种意外的怪癖,然后需要花费一些时间进行整理。因此,如果您要这样做,请坚持使用台式机。
Quantal(12.10)在图形安装程序中可以选择使用LVM(这很棒!),因此替代ISO已被淘汰。但是,我发现手动分区界面不灵活,缺少LVM选项,并且根本无法用于多重引导。这可能是由于前面提到的USB问题引起的,但是老实说,我尝试使用Quantal系统遇到了很多问题,以至于我很快放弃并回到了Precise(12.04.1)。
另一个主要选择是使用Net-boot安装程序,我没有任何实际经验(Raspberry Pi除外),但是我相信有些mini ISO带有基于文本的安装程序和GUI(GTK)安装程序,可以将其刻录和引导。这些直接从存储库中提取大多数安装文件,并且高度可定制。
接下来,您应该使用CD或USB中的UEFI引导项从CD或USB引导系统,该引导项位于“ BIOS”或引导菜单(通常是键盘上的[F8]-[F12]之一)中。
我将由您来完成安装过程的初步准备,但是一旦进入分区部分,请选择“手动分区”,然后创建(或修改(如果已经创建了其中一些))以下分区:
单个分区,大小为200MB,FAT32,EFI系统分区,命名/标记为“ EFI”,可启动,格式。
几个分区:大小为256MB,EXT2,可引导,格式;
一个分区(占驱动器的剩余空间)作为LVM的卷。
- 在刚分区的卷上配置LVM,为所有OS创建一个卷组,为其命名并为其提供足够的空间。我建议每个存储空间至少为40GB,具体取决于您计划为每个安装空间设计的安装类型。
创建一个与系统中物理RAM大小相同的逻辑卷,即8GB,将其命名为“ Swap”,用作交换格式。
为卷组中的每个操作系统创建一个逻辑卷,按照上面的建议调整它们的大小,并为其分别命名,例如“ Ubuntu_12.04”等。
而已!现在,您已经为系统有了交换,“ / boot”和“ /”(根)分区,并为以后的安装保留了备用空间。现在,您可以将更改提交到分区表,然后继续其余的安装。
在安装下一个操作系统时,只需确保分别安装下一个“ / boot”和“ /”(根)分区即可。请确保将所有其他标记(包括您上次使用的标记)标记为“不使用”。
第二部分:备份UEFI启动文件。
引导到新操作系统后,必须备份UEFI引导加载程序以供以后使用,并确保在下次安装中不会覆盖它。可以在“ / boot / efi / EFI”中自己的文件夹(通常称为“ ubuntu”)中找到该文件。该文件的名称类似于“ grubx64.efi”,具体取决于您的PC的体系结构。因此,“ / boot / efi / EFI / ubuntu / grubx64.efi”适用于我的机器。
就我而言,要备份它,我通过控制台将其复制,如下所示:
sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/Ubuntu_12.04.1
绝对值得在您的主文件夹或其他安全的地方进行进一步的复制,以防万一:
cp -r /boot/efi/EFI/ubuntu /home/user/Ubuntu_12.04.1
完成此操作后,您可以安全地安装您的下一个操作系统(按照上述建议),该操作系统很可能会覆盖原始文件和文件夹,并使自身成为“ BIOS”中的默认UEFI引导项。再次重复该过程,并根据需要重复多次,为每个文件夹指定一个不同的代表名称:
sudo cp -r /boot/efi/EFI/ubuntu /boot/efi/EFI/Server_12.04.1
cp -r /boot/efi/EFI/ubuntu /home/user/Server_12.04.1
第三部分:修改UEFI“ BIOS”中的UEFI条目。
在终端上,输入:
sudo efibootmgr
您应该获得如下输出:
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0006,0007,0005
Boot0000* ubuntu
Boot0005* Hard Drive
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive
的确是不言自明的。它应该反映您在BIOS引导列表中看到的内容。
阅读以下内容:
man efibootmgr
查看命令的作用,然后修改以下示例命令以添加和删除引导项。
首先,使用以下命令删除“ Boot0000 * ubuntu”行:
sudo efibootmgr -b 0000 -B
输出:
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0006,0007,0005
Boot0005* Hard Drive
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive
然后,我们将为三个操作系统添加一些条目。
操作系统#1:
sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Ubuntu 12.04.1" -l \\EFI\\Ubuntu_12.04.1\\grubx64.efi
输出:
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0006,0007,0005
Boot0005* Hard Drive
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive
Boot0000* Ubuntu 12.04.1
操作系统#2:
sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Ubuntu Server 12.04.1" -l \\EFI\\Server_12.04.1\\grubx64.efi
输出:
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0001,0000,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0005* Hard Drive
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive
Boot0001* Ubuntu Server 12.04.1
操作系统#3:
sudo efibootmgr -c -g -d /dev/sda -p 1 -w -L "Mythbuntu 12.04.1" -l \\EFI\\Mythbuntu_12.04.1\\grubx64.efi
输出:
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0002,0001,0000,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0001* Ubuntu Server 12.04.1
Boot0005* Hard Drive
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive
Boot0002* Mythbuntu 12.04.1
要改变启动顺序:
sudo efibootmgr -o 0000,0001,0002,0006,0007,0005
输出:
BootCurrent: 0000
Timeout: 3 seconds
BootOrder: 0000,0001,0002,0006,0007,0005
Boot0000* Ubuntu 12.04.1
Boot0001* Ubuntu Server 12.04.1
Boot0002* Mythbuntu 12.04.1
Boot0005* Hard Drive
Boot0006* UEFI: MATSHITABD-MLT UJ240AS
Boot0007* CD/DVD Drive
做完了!
涉及到一些非常奇怪的语法,尤其是在文件路径周围,但是如果您有很好的指南(我希望是这样),那么这很简单。
谢谢阅读。:)
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#efibootmgr