有效删除可启动分区

有效删除可启动分区

我想知道当您使用 gparted 删除分区时从技术上讲会发生什么。

我想以有效的方式删除我的 Windows 分区。但是,删除还是格式化更好?此外,我是否需要编辑任何启动文件以让 grub 知道不再有 Windows 分区?

答案1

磁盘(无论是旋转磁盘还是固态磁盘)存储空间由逻辑扇区组成,这些扇区从零开始编号到某个大数字。在 Linux 中,这个完整的空间例如被视为/dev/sda

在大多数情况下,磁盘包含分区表,它将这个空间划分为称为分区的连续部分。(某些操作系统和软件程序更喜欢使用术语“磁盘标签”而不是分区表。)即使您想将所有空间用作一个完整的块,仍然建议在磁盘上放置分区表,即使它只描述一个分区;这是因为大多数软件都希望磁盘包含分区表。继续这个例子,分区在 Linux 中将显示为/dev/sda1/dev/sda2等等。

广泛使用的分区表有两种,一种是膜生物反应器(用于主引导记录)和另一个谷氨酰胺磷酸酶(对于 GUID 分区表;GUID 是全局唯一标识符)。

  • 用于在 BIOS 模式下启动系统的启动盘(在系统配置屏幕中有时被视为“传统模式”)必须使用 MBR 分区方案。

  • 启动盘,用于引导系统UEFI模式必须使用GPT分区方案。

  • 容量高达 2 TB 的数据磁盘可以使用 MBR 或 GPT,由管理员决定。

  • 超过 2 TB 的数据磁盘必须使用 GPT 分区方案(因为 MBR 分区表无法可靠地描述超过 2 TB 限制的分区)。

删除分区意味着删除分区表中的一个条目。(实际上,该条目并没有真正被删除,因为分区表的大小是固定的;该条目被标记为未使用。)

当您删除一个曾经包含可启动操作系统的分区时,您必须告诉引导加载程序停止尝试启动它。在 Linux 中,您可以使用它update-grub来实现此目的。如果系统以 UEFI 模式启动,那么您还必须告诉 UEFI 固件停止尝试启动现已删除的分区;具体操作取决于您拥有的特定计算机系统。

请记住,分区是连续的磁盘空间的部分。删除分区时,您可以立即将其空间分配给左侧的邻居,因为该邻居所要做的就是更新其结束边界。如果您想将空间分配给右侧的邻居,则必须使用能够移动现有数据的专用实用程序,因为分区中的空间是从零开始寻址的。

例如,假设我们有四个分区占用磁盘空间,如下所示:

+-----------+-----------+-----------+-----------+
| /dev/sda1 | /dev/sda2 | /dev/sda4 | /dev/sda3 |
+-----------+-----------+-----------+-----------+

(请注意,分区号不是按顺序排列的;这是故意的,为了表明磁盘上分区的位置和其编号之间没有必然的关系。)

假设我们删除分区2。磁盘空间变为:

+-----------+-----------+-----------+-----------+
| /dev/sda1 | (Unused)  | /dev/sda4 | /dev/sda3 |
+-----------+-----------+-----------+-----------+
  • 我们可以延伸/dev/sda1到未使用的空间;这很容易而且直接。

  • 如果我们想分配磁盘空间,/dev/sda4那么我们必须移动 /dev/sda4到未使用的空间;这需要时间并且需要专门的软件。

  • 如果我们要分配磁盘空间,/dev/sda3那么我们必须首先移动/dev/sda4而不改变其大小,并且然后搬入/dev/sda3新空间。

相关内容