我正在尝试编写一个脚本来验证磁盘的大小。所以我想我可以得到 NVMe 的总大小,并将该磁盘上完成的所有分区的大小相加。如果两个值匹配,那么我就可以说磁盘的大小是正确的。但在这个过程中,我发现在 nvme 驱动器上完成的分区大小总和不会等于 nvme 的总可用大小。分区总和将略小于总大小。
还有其他方法可以通过脚本验证磁盘大小吗?比如将参考值与fdisk -l
或的输出进行比较lsblk
?如何获取参考值?
下面是一个实例:当我将所有分区的大小相加(/dev/nvme0n1p1 的大小 + /dev/nvme0n1p2 的大小 +....)时,NVME 中所有分区的总大小为 255961081151 字节,但 /dev/nvme0n1 的实际大小为 256060514304 字节。
样本日志:
fdisk -l
Disk /dev/nvme0n1: 238.5 GiB, 256060514304 bytes, 500118192 sectors
单位:扇区 1 * 512 = 512 字节 扇区大小(逻辑/物理):512 字节 / 512 字节 I/O 大小(最小/最佳):512 字节 / 512 字节 磁盘标签类型:gpt 磁盘标识符:E8FB91BA-B2CF-A14D-AE9B-75943FA10290
**Device Start End Sectors Size Type**
/dev/nvme0n1p1 17094664 500118143 483023480 247308021760 Microsoft basic data
/dev/nvme0n1p2 22533 55300 32768 16777216 ChromeOS kernel
/dev/nvme0n1p3 8706056 17094663 8388608 4294967296 ChromeOS root fs
/dev/nvme0n1p4 55301 88068 32768 16777216 ChromeOS kernel
/dev/nvme0n1p5 317448 8706055 8388608 4294967296 ChromeOS root fs
/dev/nvme0n1p6 16448 16448 1 512 ChromeOS kernel
/dev/nvme0n1p7 16449 16449 1 512 ChromeOS root fs
/dev/nvme0n1p8 88072 120839 32768 16777216 Microsoft basic data
/dev/nvme0n1p9 16456 18503 2048 1048576 Microsoft basic data
/dev/nvme0n1p10 18504 18504 1 512 ChromeOS reserved
/dev/nvme0n1p11 64 16447 16384 8388608 unknown
/dev/nvme0n1p12 251912 317447 65536 33554432 EFI System
并且增量并不是固定的。