UEFI虚拟分区


20

我已经阅读/研究了几个小时,关于如何对启用UEFI的安全启动 Windows 8系统进行分区。尽管所用的语言有点超出我的头脑,但对于那些没有Ubuntu知识的人来说似乎跳过了一些步骤。

非常简单,我从安装程序的“分区”选项开始,单击“其他”,而不是擦除整个磁盘(因为我也想保留Windows 8)。现在,我读到您只能拥有一个UEFI分区。大。听起来不错。现在,我是否还需要使用ext3 / 4来安装linux的分区,还是按照指导说明进行操作并在fat32中对其进行格式化?

此时我迷路了。然后继续讨论引导标记以及仅需要boot标记UEFI分区的方式。所以这是我的虚假行为开始的地方,我迷路了。我正在寻找有关如何完全避免启动并安装双启动ubuntu / windows 8系统的非常具体的说明。



@Braiam这可能是该主题上评分最高和详细的答案,但是正如提问者已经说过的那样,某些指南过于详细,因此难以理解。由于问题是关于分区的,因此欢迎您提供有关如何验证设置的快速说明和解释。
LiveWireBT

如果是@LiveWireBT,请将您的答案附加到主要问题中,这样,每个寻求与其水平相符的答案的人都会在一个地方找到它们,而不是分散在几个问题中。
Braiam 2013年

它受固件故障的影响。除非针对每个答案所针对的每个BIOS固件都有一个Wiki,否则不可能有一个规范的答案。例如,如果存在GPT分区,即使在非主驱动器(用于缓存的SSD)上也存在非GPT uefi安全分区,则我的不遵循传统模式的默认设置。它尝试将HARD默认为UEFI。由于我还有其他一些操作系统不支持UEFI却需要双重引导,因此我不得不将其刻录到地面并使​​用DOS样式的分区。
RobotHumans 2013年

@Braiam没有关于这个主题的答案,但是它适合这个主题。
LiveWireBT

Answers:


17

分区是非常容易的部分。对于所有分区任务,您应该使用Ubuntu Live ISO映像随附的分区软件(如GParted)。像Ubuntu安装程序这样的工具可以简化事情,这可能是您感到困惑的主要原因。

为了正确地进行EFI分区和安装,您需要:

  1. 您要安装到的硬盘驱动器上有一个GPT分区表。

    • 您可以通过菜单项View- > Device Information在GParted中对此进行验证。如果分区表属性读取的是msdos而不是gpt,那么它是错误的,如果继续,可能会变得混乱。不幸的是,创建一个新的分区表会破坏磁盘上现有的一个和所有数据。

    • 相关:如何检查和更改分区表类型?

  2. 有一个EFI系统分区(ESP)。

    • EFI系统分区具有分区类型ef00,通常包含FAT32文件系统。
    • 假设您有一个GPT分区表,如果在要成为ESP的分区上的GParted的管理标志对话框中选中了用于启动的复选框,并且该分区包含FAT32文件系统,则一切正常。如果未勾选,请选中启动复选框,并确保没有其他分区设置此标志,因为您已经发现,只能有一个ESP。(是的,GParteds GUI中的启动标志等于分区类型,但这不是GPT中用于ESP的实际GUID,请参阅Wikipedia以获取分区类型GUID的列表以及用户Rod Smith的以下注释,以及中的脚注有关制造商特定启动分区的文章。)ef00
  3. 创建操作系统所需的其余分区,并以UEFI模式启动安装介质。

    • 您正确的分区设置即将完成。只要您认为合适,只需为新的OS安装添加所需的分区即可。您可以通过Ubuntu安装程序或GParted来执行此操作,这取决于您,在这里您可以做很多事情。(事实上​​,Linux的默认文件系统是EXT4。由于该文件系统的功能有限,您不能安装到FAT32。)
    • 如果尚未以UEFI模式引导安装介质,则需要重新引导并以UEFI模式显式引导。需要在计算机的固件设置屏幕(以前/通常称为BIOS)中启用UEFI。可以在社区文档中找到有关如何引导和验证以UEFI模式引导的安装介质的说明。从那里开始,Ubuntu安装程序应该知道它应该进行UEFI安装。
    • 安全启动应与Ubuntu 12.10 64位和12.04一起使用。2 64位及更高版本的安装介质(请参阅:如何将Ubuntu与预先安装的带有UEFI的Windows一起安装?)。

您可以在MBR分区磁盘上进行UEFI安装,并进行某些破解/恶意操作,但是经过验证的安装程序可以使您的麻烦最少,而且一切正常。我发现Arch Linux UEFI Wiki页面非常详细,对于在整个主题上进行更多学习和做一些黑客工作很有帮助。


已知的UEFI错误和实施缺陷:

  • 关于联想,东芝,三星的维基百科没有做太多的详细介绍。
  • 2011年或更早版本的计算机可能具有UEFI固件,但是该实现可能并不总是提供UEFI引导接口。来源:Dong Wei-UEFI,融合固件基础架构在LCA 2013上的演讲(http://mirror.linux.org.au/linux.conf.au/2013/mp4/文件UEFI_the_Converged_Firmware_Infrastructure.mp4-大约12:14)

3
这是相当准确的,但我想指出的是,十六进制代码(如EF00)被使用GPT fdisk的(gdiskcgdisk,和sgdisk)。这些不是官方的GPT类型代码。实型代码是128位(32位十六进制)数字,很难键入,显示和记住,因此GPT fdisk使用缩短的4位十六进制代码代替。GParted并parted使用某些“标志”(例如“启动标志”)来表示某些分区类型代码。其他工具还有其他表示GPT类型代码的方式。
罗德·史密斯

@RodSmith我记得一年多以前在Arch Wiki上阅读有关该主题的完整GUID,但是在那儿再也找不到它们。我现在添加了一个到Wikipedia的链接。
LiveWireBT

5

实际上,对基于EFI的Ubuntu安装进行分区并不比对基于BIOS的安装进行分区困难。如果您已阅读有关Ubuntu安装或分区的指南,则基于EFI的安装的更改如下:

  • 您通常将GUID分区表(GPT)用于EFI,而不是使用较早的主启动记录(MBR)。在已安装Windows的系统上,这应该已经完成​​,Ubuntu安装程序将检测并使用GPT分区就可以了。不过,使用GPT确实会带来进一步的影响,如下所述。
  • GPT不使用扩展或逻辑分区类型。而是,GPT支持多达128个(默认情况下;可以提高该限制)分区。一些工具将它们称为“主分区”,尽管在没有扩展和逻辑分区类型的情况下,“主”的名称是没有意义的。所有这些的要点是,您可以忽略创建扩展分区或创建主分区和逻辑分区的某种组合的任何指令。
  • 当前版本的Ubuntu存在一个错误,该错误导致它对Linux分区使用Windows文件系统类型代码。这会使您的Ubuntu文件系统分区在Windows中显示为未分区的磁盘。解决方案是用于gdisk将Ubuntu文件系统分区的类型代码从0700更改为8300。此问题在此页面上详细介绍您可以在安装Ubuntu之后进行更改。
  • GPT不使用汽缸/汽缸盖/汽缸(CHS)值。较早的文档可能会参考此内容,也可能涉及“气缸对齐”。忽略此类参考。(您可能还需要更新的文档,因为即使对于基于BIOS的计算机上的新安装,CHS问题也已过时。)
  • 基于EFI的安装将其引导加载程序存储在EFI系统分区(ESP)中,而不是MBR中。因此,您必须具有一个ESP,Ubuntu安装程序将其称为“ EFI引导分区”。如果计算机已经在EFI模式下启动了另一个操作系统,则它将已经具有ESP。我建议您在进行操作之前备份所有现有的ESP,以防万一。(文件级备份应该可以正常工作。)在预装有Windows 8的系统上,ESP通常是磁盘上的前三个分区之一。它始终使用FAT(通常为FAT32)文件系统,因此您可以通过这种方式在分区屏幕上进行识别。在GParted中parted,将设置其“启动标志”,并且在gdisk其中将输入类型代码EF00。

其他分区问题在固件和分区表类型中很常见。特别是,Ubuntu默认使用两个分区:一个分区用于根(/)文件系统,另一个分区用于交换空间。许多用户喜欢将目录或其他目录拆分/home到自己的分区中,有些则喜欢使用逻辑卷管理器(LVM)设置。EFI和GPT与MBR和BIOS有关与此类问题相关的问题相同,因此请参阅涵盖此类问题的数百个站点中的任何一个。


2

我是如何安装系统的,但是我已经在BIOS中安全启动了,所以我不确定它是否可以运行:

  1. 在GPT模式下在硬盘上创建新的分区表。(警告:这将擦除磁盘上的所有数据!)然后,您必须创建一个100 MB的fat32分区,标记为'EFI'并标记为'boot'。和系统分区,因此:

    • sda1:100mb,fat32,EFI,启动标志集
    • sda2:30gb,ext4,kali-linux
    • sda3:4GB,交换,交换为kali&ubuntu
    • sda4:60gb,ext4,ubuntu
    • sda5:250GB,NTFS,Windows 8.1
    • sda6:382GB,NTFS,数据
  2. (可选)安装Kali-linux,在安装时请确保将100 MB fat32挂载为/ boot / efi。像往常一样休息。

  3. 安装Windows8。它将自动识别EFI系统分区,创建MSFTRES和一个NTFS,并在其中安装自身。安装后,我们只能引导至Windows,但稍后将对其进行修复。

  4. Ubuntu,在安装时选择100 MB fat32,并将其更改为“ use as efi”。创建一个ext4,安装Ubuntu。重新启动后,我们会看到win8加载程序。在bootmenu中选择ubuntu end进入它。

  5. 现在,我们将配置GRUB2以检测Windows。打开根鹦鹉螺,导航以/boot/efi/EFI删除启动文件夹,然后将该boot文件夹从microsoft文件夹复制到Windows分区,然后再删除microsoft文件夹。后转到/etc/default/grub并注释掉以“ GRUB_HIDDEN”开头的第二行。接下来,可以通过将以下行附加到来手动添加Windows条目/etc/grub.d/40_custom

    menuentry "Windows" {
            search --fs-uuid --no-floppy --set=root YOUR-EFI-PARTITIONS-UUID-HERE
            chainloader (${root})/Boot/bootmgfw.efi
    }
    

最后输入sudo update-grub。欢迎使用工作系统。


欢迎问Ubuntu!请花点时间阅读如何格式化答案。例如,您可能使用了编号列表,而不是手动编写“ step(number)”。
LiveWireBT

用户不想破坏他的Windows安装,但是您正在第一步中进行安装而没有警告。:(有一个工具,称为BCDboot的引导加载程序和正确的配置数据将安装到指定的目录。
LiveWireBT

难以遵循:删除启动文件夹,然后将启动文件夹从microsoft文件夹复制到Windows分区,然后删除microsoft文件夹,您能解释一下吗?/ boot / efi / EFI中是否有启动文件夹?我在那里看不到它,我也不相信我想删除/ boot / efi / EFI根目录
tomasb
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.