为什么创建 ext4 分区后磁盘大小会减小?

Dip*_*bey 2 partitioning mount hard-drive

我将一个新的 200 GB 卷附加到我的计算机上并创建了一个ext4文件系统。

\n

但现在我只能获得约 185GB 的可用空间。为什么我不能使用全部 200 GB 空间?

\n

这是输出lsblk

\n
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT\nloop0         7:0    0 55.5M  1 loop /snap/core18/1997\nloop1         7:1    0 33.3M  1 loop /snap/amazon-ssm-agent/3552\nloop2         7:2    0 32.3M  1 loop /snap/snapd/11588\nloop3         7:3    0 70.4M  1 loop /snap/lxd/19647\nnvme1n1     259:0    0  200G  0 disk \n\xe2\x94\x94\xe2\x94\x80nvme1n1p1 259:1    0  200G  0 part /media/Data\nnvme0n1     259:2    0   20G  0 disk \n\xe2\x94\x94\xe2\x94\x80nvme0n1p1 259:3    0   20G  0 part /\n
Run Code Online (Sandbox Code Playgroud)\n

这是输出df -h

\n
Filesystem      Size  Used Avail Use% Mounted on\n/dev/root        20G  1.3G   19G   7% /\ndevtmpfs        7.8G     0  7.8G   0% /dev\ntmpfs           7.8G     0  7.8G   0% /dev/shm\ntmpfs           1.6G  788K  1.6G   1% /run\ntmpfs           5.0M     0  5.0M   0% /run/lock\ntmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup\n/dev/loop1       34M   34M     0 100% /snap/amazon-ssm-agent/3552\n/dev/loop2       33M   33M     0 100% /snap/snapd/11588\n/dev/loop0       56M   56M     0 100% /snap/core18/1997\n/dev/loop3       71M   71M     0 100% /snap/lxd/19647\ntmpfs           1.6G     0  1.6G   0% /run/user/1000\n/dev/nvme1n1p1  196G  1.4G  185G   1% /media/Data\n
Run Code Online (Sandbox Code Playgroud)\n

正如您所看到的,仅使用了 1% 的驱动器,但我仍然只获得了 185 GB 的可用空间。为什么 ?

\n

先感谢您!

\n

HuH*_*uHa 8

您的 SSD 总共有 200 GiB(基于 1024 个单元!)的磁盘空间。使用 ext4 格式化后,还剩 196 GiB;ext4 需要一些磁盘空间来存储它自己的元数据,例如 i 节点和保留块。

/dev/nvme1n1p1这 196 GiB 是安装在 的分区的净容量/media/Data。与往常一样,其中一些空间是为root用户保留的,为普通用户留下 185 GiB。

如果它是重要的系统分区(例如根文件系统),则为根用户保留一定百分比是有意义的;但对于像这样的纯数据盘来说则不然。但它仍然mkfs.ext4这样做,因为它无法知道您打算对该文件系统做什么。

为 root 保留一些磁盘空间的原因是,如果磁盘已满,系统管理员有机会使用文件系统工具;如果由于某些用户完全填满系统分区而导致剩余零块,则很难对此采取任何措施,因为某些工具还需要一些磁盘空间才能正常操作。

但是您可以使用以下命令使这些保留的百分比可供普通用户使用tune2fs

sudo tune2fs -r 0 /dev/nvme1n1p1
Run Code Online (Sandbox Code Playgroud)

也可以看看man tune2fs