问题描述
我有一台 Asus K55VM-Sx027V 笔记本电脑,我用 Ubuntu 对其进行了格式化,因为每当我尝试安装 Windows 7 64 位时,它都会不允许我安装,因为我的 HDD 有 GPT 保护。
现在我已经有了 Ubuntu 12.10,如何从笔记本电脑上删除 GPT 保护?
最佳回答
使用 gdisk
而不是 fdisk.
默认情况下未安装它,因此可以使用以下命令获取它:
sudo apt-get install gdisk
然后umount
驱动器并调用gdisk
设备:
sudo gdisk /dev/sdX
它会提示您选择分区:
Found valid MBR and GPT. Which do you want to use?
1 - MBR
2 - GPT
3 - Create blank GPT
选择 GPT 之一。就我而言,为 2
。使用?
命令打印命令列表。输入 x
作为专家选项,然后输入 z
以清除 GPT 表和光盘上的所有数据:
Command (? for help): x
Expert command (? for help): z
About to wipe out GPT on /dev/sdx. Proceed? (Y/N): y
GPT data structures destroyed! You may now partition the disk using fdisk or
other utilities.
Blank out MBR? (Y/N): y
次佳回答
在更改分区格式之前,您可以使用 wipefs
从设备中删除所有常见 id 块。
sudo wipefs -a /dev/sdx
第三种回答
用一个简单的Python函数!
def clear_gpt(target):
'''
According to http://en.wikipedia.org/wiki/GUID_Partition_Table - GPT
stores partition data in the first and last 34 LBA blocks. A LBA sector
is normally 512 bytes.
'''
fd = open(target, "w+")
fd.seek(0)
fd.write('\0' * 34 * 512)
print "done nuking data at the beginning of disk", target
fd.seek(0, 2) # SEEK_END is 2
disk_size = fd.tell()
fd.seek(disk_size - 34*512)
fd.write('\0' * 34 * 512)
print "done nuking data at the end of disk", target
从以下位置获取完整示例:
http://blog.gnub.net/2009/03/die-gpt-die.html
第四种回答
GPT 是 GUID Partition Table,,它是一种在计算机上定义分区(而不是保护)的方法。如果 Windows 抱怨您使用 GPT,则意味着 Windows 安装程序已在 BIOS 模式下启动,而不是在 (U)EFI 模式下启动。有两种方法可以解决此问题:
-
以 EFI 模式启动 Windows 安装程序。这可能可行,也可能不可能,具体取决于您的计算机。如果它是新的(在过去 6-12 个月内出售),它可能支持 EFI-mode 启动。要以 EFI 模式启动,您可能需要修改固件设置以启用 EFI-mode 启动。有时,启动时按下按钮进入启动选项会产生两个用于启动 CD 的选项:一个在 BIOS(也称为传统)模式下,另一个在 EFI 模式下。
-
将硬盘转换为使用 MBR 分区而不是 GPT。您可以通过使用“恢复和转换”菜单上的 “g” 选项来对 GPT fdisk (gdisk) 执行此操作。然而,这种转换有很多注意事项和细节;有关详细信息,请参阅 GPT fdisk 文档。完成后,Ubuntu 将不再启动;您需要 re-install 引导加载程序。 (无论如何,在 BIOS 模式下安装 Windows 后,您都需要执行此操作,因此您最好将其推迟到安装 Windows 之后。)
使用 GPT 启动的 EFI-mode 仍然是非常新的,并且可以是 trouble-prone,但是将分区表从 GPT 转换为 MBR 也是一项相当冒险的尝试。因此,我很难说哪种方法最好。当然,您甚至可能无法以 EFI 模式启动计算机,因此您可能必须通过转换分区表来完成此操作。
这两种方法的替代方法是在 VirtualBox 或 Linux 下的其他虚拟化环境中运行 Windows。这更简单、更安全,并且可能足以满足许多目的。如果您想要运行 video-intensive 游戏,如果您需要对硬件进行低级访问,或者您没有足够的 RAM 来支持足以满足您需求的虚拟化环境,那么这很可能是一个问题。
无论您采用哪种方法(除了虚拟化 Windows),我强烈建议您首先备份所有重要数据;破坏分区表总是有风险的。
编辑:Zolar1 的评论表明 Ubuntu 可能以 BIOS 模式安装但使用 GPT。在这种情况下,以 EFI 模式安装 Windows 将需要执行以下两项操作之一:
-
将 Ubuntu 转换为以 EFI 模式而不是 BIOS 模式启动
-
切换启动模式(Windows 为 EFI,Linux 为 BIOS)
两者皆有可能。您可以通过添加 EFI 引导加载程序将 Ubuntu 转换为以 EFI 模式引导。有几个选项,如所述 here. Ubuntu 默认使用 GRUB 2 作为其 EFI-mode 引导加载程序,但恕我直言,这是一个糟糕的选择。
在计算机的 EFI-mode 和 BIOS-mode 启动之间切换通常很尴尬,但有时启动选项开关(可在启动时按 F8、F12 或其他键访问)可以使这种情况可以忍受。另一个选择可能是安装 rEFInd,,它是一个 EFI-mode 引导管理器,可以(从版本 0.4.6 开始)将引导过程移交给 BIOS-mode 引导加载程序(或 EFI 引导加载程序)。