如何摆脱删除 Windows 启动分区后留下的零大小不可见分区

Sad*_*adi 4 partitioning gparted fdisk

预装 Windows 7 的计算机在磁盘的开头有一个小的“系统保留”引导分区,这不是真正必要的,因为 Windows 可以单独启动或与 Ubuntu 一起启动,没有这个。所以我决定从几台运行正常的机器中删除它(除了向左移动/调整分区大小的额外努力,有时还需要修复 Windows 启动管理器)。

然而,在其中一台机器上,我惊讶地看到GParted中的新分区编号从 2 开始。而 fdisk -l 的输出是这样的:

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb2   *        2048    52426751    26212352    7  HPFS/NTFS/exFAT
/dev/sdb3        52426752   942684159   445128704    7  HPFS/NTFS/exFAT
/dev/sdb4       942684160   976773119    17044480   12  Compaq diagnostics
Run Code Online (Sandbox Code Playgroud)

我花了一些时间才发现,这样做的原因是,在我删除该分区后,不知何故留下了一个零大小的不可见分区,如下面的 sfdisk -l 输出所示:

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          0       -       0          0    0  Empty
/dev/sdb2   *      0+   3263-   3264-  26212352    7  HPFS/NTFS/exFAT
/dev/sdb3       3263+  58679-  55416- 445128704    7  HPFS/NTFS/exFAT
/dev/sdb4      58679+  60801-   2122-  17044480   12  Compaq diagnostics
Run Code Online (Sandbox Code Playgroud)

除了不合时宜的分区编号之外,我很想知道如何摆脱这个奇怪的分区?

Rod*_*ith 7

你不能,因为它不存在。在 MBR 磁盘上,始终恰好有四个主分区条目,但其中一些可能未使用。sfdisk -l您使用的命令列出了所有这些条目,即使它们未使用。换句话说,sfdisk -l显示了一个“幽灵”条目——数据结构存在,但它们没有定义分区。您可以移动数字,以便获得分区 1-3 而不是 2-4,但随后使用sfdisk -l会显示类似的“幽灵”分区 #4。这不是错误、错误或问题;这只是 MBR 数据结构的定义方式。

我提到你可以移动分区号。AFAIK,用fdisk, sfdisk, or做这件事很尴尬,parted如果你尝试,你也会冒着使 Windows 无法启动的风险,因为 Windows 可能对它的分区很挑剔。因此,我不建议您尝试;只是接受您的分区以#2 开头的事实。但是,如果这给您带来了无法启动的 Windows 安装的风险,您可以尝试我的FixParts程序。它包括一个s对分区进行排序的选项;这应该将它们的数字向下移动 1。如果您尝试此操作并且 Windows 无法启动,但我无法帮助您,因为我不是 Windows 专家。