如何从硬盘中删除GPT?


19

我有一台Asus K55VM-Sx027V笔记本电脑,并用Ubuntu对其进行了格式化,因为每当我尝试安装64位Windows 7时,由于我的硬盘具有GPT保护,它不会让我失望。

现在,我有了Ubuntu 12.10,如何从笔记本电脑上删除GPT保护?

Answers:


43

使用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

4

具有简单的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



2

GPT是GUID分区表,它是一种定义计算机上的分区(不是protection)的方法。如果Windows抱怨您使用GPT,则意味着Windows安装程序已以BIOS模式而不是(U)EFI模式启动。有两种方法可以解决此问题:

  • 以EFI模式启动Windows安装程序。这可能会或可能不会,取决于您的计算机。如果是新产品(在过去6到12个月内出售),则可能支持EFI模式引导。要以EFI模式引导,您可能需要弄弄固件设置以启用EFI模式引导。有时在启动时按一下按钮进入启动选项会产生两个启动CD的选项:一个处于BIOS(又名传统)模式,另一个处于EFI模式。
  • 转换硬盘以使用MBR分区而不是GPT。您可以使用GPT fdisk(gdisk)在“恢复和转换”菜单上使用其“ g”选项来执行此操作。但是,这种转换有很多注意事项和细节。有关详细信息,请参见GPT fdisk文档。完成后,Ubuntu将不再启动。您需要重新安装引导加载程序。(无论如何,在以BIOS模式安装Windows之后,您都需要执行此操作,因此最好将其推迟到安装Windows之后再进行。)

使用GPT进行EFI模式引导仍然很新,并且容易出现问题,但是将分区表从GPT转换为MBR也是一项相当冒险的工作。因此,我很难说哪种方法最好。当然,您甚至可能无法以EFI模式启动计算机,因此您可能必须通过转换分区表来完成。

任一种方法的替代方法是在VirtualBox或Linux下的某些其他虚拟化环境中运行Windows。这更简单,更安全,并且对于许多目的而言可能已经足够。如果您要运行视频密集型游戏,需要对硬件的低级别访问或者没有足够的RAM来支持足以满足您需求的虚拟化环境,则很可能是一个问题。

无论采用哪种方法(除了虚拟Windows之外),我都强烈建议您首先备份任何重要数据。划分表总是很危险。

编辑:Zolar1的评论建议将Ubuntu安装在BIOS模式下但使用GPT的可能性。在这种情况下,以EFI模式安装Windows将需要执行以下两项操作之一:

  • 将Ubuntu转换为以EFI模式而非BIOS模式引导
  • 切换启动模式(对于Windows是EFI,对于Linux是BIOS)

两者皆有可能。您可以通过添加EFI引导加载程序将Ubuntu转换为以EFI模式引导。如此处所述,有几个选项Ubuntu默认使用GRUB 2作为其EFI模式引导加载程序,但是恕我直言,这是一个糟糕的选择。

在计算机的EFI模式和BIOS模式启动之间切换通常很麻烦,但是有时启动选项开关(在启动时通过按F8,F12或某些其他键可以访问)可以做到这一点。另一个选择可能是安装rEFInd,它是一个EFI模式启动管理器,可以(从0.4.6版开始)将启动过程移交给BIOS模式启动加载器(或EFI启动加载器)。


0

我不确定计算机会允许您这样做。我自己有一个华硕K55a。每次我想安装任何版本的Linux,然后尝试回到Windows7时,Windows都会强制执行R / R,然后linux将无法正常工作。

我发现您可以从CD / DVD或如果您在闪存驱动器上使用Puppy来运行Linux。

也许您可以使用一种不错的病毒来删除所有分区?大声笑

但是此链接可能有帮助:

http://www.virtualvcp.com/linux-technical-guides/125-clearing-a-guid-partition-table-gpt-in-linux

您是否已在BIOS中关闭UEFI设置?我认为,只要启用该功能,您就可能无法摆脱该分区,并且仍可以使用计算机。

请注意:Win8随附的所有新计算机都必须始终打开UEFI,而无法禁用它。要爱微轴的贪婪。

如果每个人都向FTC.gov抱怨您使用您的硬件和合法许可软件的能力被盗,那么他们可能会介入并迫使垃圾邮件允许通过Linux双重引导。

我不知道Linux中有人为什么不编写自己的UEFI,而后者却提供了允许双重引导并替换微轴作用于每个人的选项的选项。

记住,您拥有硬件。Microsoft无权告诉您您可以使用它做什么。

关于Linux的更多信息-如果卸下装有win7的硬盘驱动器并安装ssd驱动器,然后在BIOS中关闭UEI,则可以毫无问题地安装linux。这是当我尝试添加带有uefi的Windows 7驱动器时出现问题的时候。Win7强制执行R / R,然后linux将无法启动。

也许Linux可以制作自己的uefi,像grub bootloader那样控制所有事情,而不用让Windows决定可以安装的软件和硬件。首先使用linux uefi,然后如果选择Windows,则将其踢到Windows C:partition。

另一个想法是做一些类似于小狗的事情。Puppy使用fat 2,但在其中创建了ext2文件系统。虽然不适合大文件。

linux如何使用UDF文件系统并将用户想要的任何文件系统写入该系统。

我不知道。我想我在这里由于无奈而无聊。

我想知道直接磁盘访问程序是否允许您更改gpt分区表?

这是您问题的另一种可能的解决方案:http : //www.linuxquestions.org/questions/linux-general-1/delete-gpt-partition-789112/


(U)EFI是在操作系统启动之前控制计算机的固件;没有“ Microsoft UEFI”或“ Linux UEFI”之类的东西。另外,Windows 8标签要求还需要UEFI及其安全启动功能。要求是,在x86和x86-64系统上,安全启动必须是disable-able
罗德·史密斯

-1

使用Ubuntu OS @partition向导窗口启动,删除所有分区,然后单击总可用空间,然后单击创建新分区表。


检查并告知您我们的反馈意见
Lakshmanan

2
这听起来很像,它将完全清除用户的硬盘驱动器。不要这样做!
Joshua Besneatte
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.