非常简单地说,我从安装程序中的分区选项开始,点击“其他选项”而不是擦除整个磁盘(因为我想保留Windows 8)。现在我已经读到只能有一个UEFI分区。很好,听起来不错。那么我是否还需要一个用于安装Linux的ext3/4分区,还是像某个指南说的那样将其格式化为fat32?
我在这一点上迷失了。然后它继续讲述引导标志以及只有UEFI分区需要设置为“boot”标志。这就是我迷茫的地方。我正在寻找关于如何不完全搞砸引导并安装双启动Ubuntu/Windows 8系统的非常具体的说明。
分区是非常简单的部分。对于所有的分区任务,您应该使用像 GParted 这样的分区软件,它包含在 Ubuntu Live ISO 镜像中。像 Ubuntu 安装程序这样过于简化的工具可能是您感到困惑的主要原因。
为了正确的 EFI 分区和安装,您需要:
在要安装的硬盘上有一个GPT分区表。
您可以通过GParted菜单项 View -> Device Information 来验证这一点。如果分区表属性显示为 msdos
而不是 gpt
,那么就是错误的,如果继续操作可能会变得混乱。不幸的是,创建新的分区表会破坏现有的分区表并且删除磁盘上的所有数据。
相关链接:如何检查和更改分区表类型?
有一个EFI系统分区(ESP)。
ef00
,通常包含FAT32文件系统。ef00
,但这不是GPT中用于ESP的真实GUID,请参见用户 Rod Smith 的下面的评论,以及关于制造商特定引导分区的 脚注。)创建操作系统所需的其余分区并在UEFI模式下启动安装介质。
gdisk
,cgdisk
和sgdisk
)使用的。这些并不是官方的GPT类型代码。真正的类型代码是128位(32位十六进制)数字,输入、显示和记忆起来都很麻烦,所以GPT fdisk使用缩短的4位十六进制代码代替。GParted和parted
使用特定的“标志”,比如“引导标志”,来表示特定的分区类型代码。其他工具有其他表示GPT类型代码的方式。 - Rod Smithgdisk
将Ubuntu文件系统分区的类型代码从0700更改为8300。关于这个问题的详细信息,请参考此页面。你可以在安装Ubuntu后进行此更改。parted
中,它将设置“引导标志”,在gdisk
中,它将具有类型代码EF00。/
)文件系统,另一个用于交换空间。许多用户喜欢将 /home或其他目录拆分为自己的分区,并且有些人喜欢使用逻辑卷管理器(LVM)设置。与此类事物相关的问题对于EFI和GPT与MBR和BIOS来说是相同的,因此请参考任何涵盖此类问题的数百个网站。在GPT模式下在您的硬盘上创建新的分区表。(警告:这将擦除磁盘上的所有数据!)然后,您必须创建一个标记为“EFI”、标记为“boot”的100 MB fat32分区以及系统分区,如下所示:
(可选)安装Kali-linux。在安装过程中,请确保将100 MB fat32分区挂载为/boot/efi。其余步骤按照通常方式进行。
安装Windows 8。它会自动识别EFI系统分区,并创建一个MSFTRES和一个NTFS分区来安装自身。安装完成后,我们只能启动Windows,但稍后我们将解决这个问题。
安装Ubuntu。在安装过程中,选择100 MB fat32分区并将其更改为“用作efi”。创建一个ext4分区,安装Ubuntu。重新启动后,我们将看到win8加载器。在启动菜单中选择ubuntu并进入。
现在,我们将配置GRUB2以便检测到Windows。打开一个root nautilus,导航到/boot/efi/EFI
,删除boot文件夹,并将microsoft文件夹中的boot文件夹复制到windows分区中,然后删除microsoft文件夹。然后,转到/etc/default/grub
并注释掉以"GRUB_HIDDEN"开头的两行。
接下来,可以通过将以下行追加到/etc/grub.d/40_custom
来手动添加Windows的条目:
menuentry "Windows" {
search --fs-uuid --no-floppy --set=root YOUR-EFI-PARTITIONS-UUID-HERE
chainloader (${root})/Boot/bootmgfw.efi
}
sudo update-grub
。欢迎进入工作系统。