如何在Linux中查找未分配的空间

未分配空间是未划分为卷或驱动器的硬盘上未使用的空间。这是一个死空间,而不是分区。您可以将其格式化为分区,也可以使用它来扩展当前分区。

在本教程中,我们将向您展示一些有用的命令,以帮助您在Linux系统上找到未分配的空间以扩展现有分区或创建新磁盘。

什么是未分配空间?

不要将可用空间与未分配空间混淆。未分配空间意味着操作系统知道硬盘驱动器具有物理空间,但是未分配(未分配)到特定分区。特定驱动器或分区上的空间。

1)展示碟筒

使用fdisk命令, fdisk -l 输出是开始气缸和结束气缸。从标题 fdisk -l 在输出中,您还可以看到磁盘上的柱面数及其代表的字节数。通常,在分配了所有磁盘空间后,柱面值将彼此跟随。如果缺少任何值,则表示有未分配的磁盘空间。

考虑下面的例子

# fdisk -l /dev/sdf

Disk /dev/sdf: 12.9 GB, 12884901888 bytes, 25165824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7e5db80f

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1            2048     9766911     4882432   83  Linux
/dev/sdf2        18032550    25165823     3566637   83  Linux

你可以看到 /dev/sdf1 从扇区“ 9766911”开始 /dev/sdf2 从扇区“ 18032550”开始,而不是直接从以下值开始:这意味着磁盘上有未分配的空间,因为缺少范围’9766912-18032549’。要计算未分配空间:

  • 缺少扇区:18032549-9766912 = 82656378265637
  • 以字节为单位计算大小:82656378265637 * 512 = 4232006144字节〜4.2GB

请注意 /dev/sdf1 从扇区“ 2048”开始。在某些情况下,使用第一个默认分区是正常的。这也意味着之前几乎没有未分配的空间。

2)显示磁盘上的分区号

可以使用partx命令探查特定设备,并要求内核再次读取分区表。给定设备或磁盘映像,partx尝试解析分区表并列出其内容。您需要先获取磁盘大小信息 fdisk -l 命令

# fdisk -l /dev/sdf

Disk /dev/sdf: 12.9 GB, 12884901888 bytes, 25165824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x7e5db80f

   Device Boot      Start         End      Blocks   Id  System
/dev/sdf1            2048     9766911     4882432   83  Linux
/dev/sdf2        18032550    25165823     3566637   83  Linux

总容量12.9 GB。可以使用 partx -l 该命令允许您列出分区以查找已用空间并从总空间中减去。但是,所有数字都包含在512字节的扇区中。

# partx -l /dev/sdf
# 1: 2048-      9766911 ( 9764864 sectors, 4999 MB)
# 2: 18032550- 25165823 ( 7133274 sectors, 3652 MB)

#1和#2是分区数。在Linux上,当磁盘空间已准备好进行系统初始化时,其编号如下: fdisk -l 输出。因此我的服务器大约有4.2 GB的未分配空间。

代替 -l 可选,可以使用 -s 易于理解的选项,用于捕获详细信息。

# partx -s /dev/sdf
NR START         END SECTORS SIZE NAME UUID
 1 2048      9766911 9764864 4.7G 
 2 18032550 25165823 7133274 3.4G

3)使用分区操作程序

另一种选择是使用parted命令。您可以使用“ free”参数获取未分配的空间和磁盘分区。

# parted /dev/sdf print free
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdf: 12.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
        32.3kB  1049kB  1016kB           Free Space
 1      1049kB  5001MB  5000MB  primary  ext2
        5001MB  9233MB  4232MB           Free Space
 2      9233MB  12.9GB  3652MB  primary

关键词 Free Space 它没有提到概述中提到的可用空间,但确实确实引用了作为本主题主题的未分配空间。你可以看到第一个 Free Space 这是指先前为第一个默认分区描述的未分配空间。另请注意,未分配的空间未编号。

在以下示例中,硬盘没有分区,因此仅显示未分配的空间(可用空间)。确保没有编号

# parted /dev/sdg print free
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdg: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number Start   End     Size   Type  File system   Flags
       32.3kB  10.7GB  10.7GB       Free Space

默认情况下,不带参数的parted命令选择系统上第一个可用的硬盘驱动器。

要以特定单位打印可用空间,例如以GB打印:

# parted /dev/sda unit GB print free

4)显示磁盘分区表

您可以使用的另一个命令是cfdisk。这是一个基于curses的程序,用于对硬盘驱动器进行分区。分区部分始终显示当前分区表。在命令行中,您可以输入命令和文本。分区部分中分区表的格式从左到右分别是名称,标志,分区类型,文件系统类型和大小。

# cfdisk /dev/sdf

如何在Linux中查找未分配的空间

您可以在第一行看到节目 Free Space..有关更多信息,请选择“打印”,然后选择“扇区”并进行验证,您将获得以下结果

如何在Linux中查找未分配的空间

结论

在本教程中,您学习了如何使用Linux Terminal命令查找未分配的磁盘空间。在命令中,我认为分手命令是查找未分配空间的最简单解决方案。

感谢您的阅读,请在下面的评论部分中提供您的建议。

Sidebar