如何创建EFI分区

背景:我有一台预装了Windows 8的台式电脑,现在想要卸载Windows 8并安装Ubuntu 12.10。我已经禁用了安全启动选项。通过引导菜单,我能够只通过Live DVD来启动Ubuntu,然后进入Ubuntu的手动安装菜单。但是在尝试安装Ubuntu 12.10时,我只能看到一个空白的屏幕。完全是黑屏。所以我认为问题可能是我没有创建EFI分区。如果我错了,请有人纠正我并提供帮助。
问题:我该如何创建EFI分区?我需要在Windows 8中进行这个操作吗?非常感谢任何给予我的帮助。
3个回答

由于您的台式机预装了Windows 8,我相信您已经有了一个EFI分区。 在Ubuntu的实时DVD会话中,尝试通过apt-get安装gdisk,并使用sudo gdisk -l /dev/sda列出分区。 这些分区很可能按照以下顺序排列:

  1. 一个小于1MB的分区,代码为EF02
  2. 带有代码EF00的EFI分区
  3. 一个Windows恢复环境分区,代码为2700
  4. 一个包含BCD的Windows系统保留分区,代码为MSR code 0C01
  5. 接着是操作系统分区,可能是代码0700

这些短代码是gdisk的内部代码,在GPT中它们有对应的GUID。

如果这是您已经拥有的分区方案,您可以保持前四个分区不变,然后缩小或删除Windows操作系统分区,为Ubuntu分区腾出空间。要缩小分区,您需要安装gparted,否则对于删除/创建操作,您可以继续使用gdisk。如果您删除了所有内容,请尝试在gdisk下重新创建此分区方案。
编辑:您也可以在Windows磁盘管理中进行分区,缩小Windows NTFS分区并创建Linux分区,将它们保持未格式化且没有分配的字母,然后在Ubuntu安装程序中为它们分配相应的挂载点、类型和格式。继续使用开始时使用的同一工具进行分区可能更安全。/编辑
关于您的黑屏问题,您可能使用的是仍在使用旧BIOS功能的显卡,请在安装过程中暂时启用BIOS兼容性,并确保您在UEFI下引导DVD。如果您在尝试进行EFI安装时在BIOS下引导DVD,可能会遇到GPT问题。
如果您使用grub-efi-amd64-signed安装Ubuntu,我相信您无需关闭安全启动。

在安装过程中,我应该如何临时启用BIOS?而且我不确定在手动安装的情况下如何通过apt-get安装gdisk,我相信它在grub中,并显示尝试Ubuntu而不进行安装、安装Ubuntu、OEM安装、检查光盘是否有缺陷等选项。 - Monie
一些主板固件可以让你启用UEFI,并且还可以让你“加载传统选项ROM”,这意味着驱动程序能够调用传统BIOS功能,而在EFI下启动的操作系统。在grub中选择“尝试Ubuntu而不安装”,你将能够使用Linux工具准备硬盘分区。在那里,你可以在实时会话内临时安装gdisk和gparted;如果你从光盘启动另一个会话,你将需要再次安装它们。 - Mike C.
有2个问题。我觉得遗留支持已被禁用。第二个问题是,当我尝试在不安装的情况下使用Ubuntu时,屏幕会变成空白/黑色。同样的情况也出现在安装Ubuntu时。 - Monie
你试过禁用EFI并启用BIOS看看是否能在这个主板上引导Ubuntu光盘吗?在从BIOS引导时,你仍然可以在GPT分区表上工作,只需注意使用哪些工具,gdisk可能是最安全的。请告诉我你的主板型号,我想查看他们的BIOS文档,看看他们是否有这个传统选项。在引导DVD时,尝试修改grub命令行(在选择'Try Ubuntu without installing'时按下TAB键),并从命令行中删除'quiet splash'选项,以查看引导消息。 - Mike C.

使用gparted创建一个标记为EFI的FAT分区。然后可以将grub2安装到该分区,并将其用作引导设备。

我在一张实时DVD上安装了Gparted。不过,为了让它正常工作,我必须使用启动菜单。我想是通过EFI引导的。Gparted显示了要启动哪个选项(默认设置、失败引导等等)。我选择了默认设置并按下回车键,然后屏幕变黑了。 - Monie
Gparted已经包含在Ubuntu的Live CD中,所以你可以将它放在一个USB闪存驱动器上,并从USB启动(应该有一个EFI引导选项)。打开Gparted。如果你的分区表还不是GPT格式,你需要将其转换为GPT格式。 - user530873

GPT fdisk(又称为gdisk)是一个与EFI和GPT相关的非常有用的工具。它是Rod Smith开发的实用程序(我相信他在AskUbuntu上回答问题)。你可以在这里找到这个实用工具:

http://www.rodsbooks.com/gdisk/

我相信它允许创建EFI系统分区(FAT)。