如何在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
您可以在第一行看到节目 Free Space
..有关更多信息,请选择“打印”,然后选择“扇区”并进行验证,您将获得以下结果
结论
在本教程中,您学习了如何使用Linux Terminal命令查找未分配的磁盘空间。在命令中,我认为分手命令是查找未分配空间的最简单解决方案。
感谢您的阅读,请在下面的评论部分中提供您的建议。