Partition

為什麼 df -h 顯示的磁碟空間比 board 實際擁有的少?

  • December 6, 2020
# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       4.3G  1.9G  2.2G  47% /
devtmpfs        980M     0  980M   0% /dev
tmpfs           981M     0  981M   0% /dev/shm
tmpfs           981M   33M  948M   4% /run
tmpfs           981M     0  981M   0% /sys/fs/cgroup
tmpfs           981M     0  981M   0% /tmp
tmpfs           981M   16K  981M   1% /var/volatile
# fdisk -l
Disk /dev/mmcblk1: 7.3 GiB, 7818182656 bytes, 15269888 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
Disklabel type: gpt
Disk identifier:

Device         Start      End  Sectors  Size Type
/dev/mmcblk1p1 16384    24575     8192    4M unknown
/dev/mmcblk1p2 24576    32767     8192    4M unknown
/dev/mmcblk1p3 32768    69859    37092 18.1M unknown
/dev/mmcblk1p4 81920 15269854 15187935  7.2G unknown

圖像是用 yocto 建構的。

我希望 /dev/root 的大小為 7.2GB,但它只顯示 4.3GB。

誰能解釋為什麼df -h顯示 /dev/root 的磁碟空間比 board 實際擁有的磁碟空間少(與 相比fdisk)?

誰能解釋為什麼df -h顯示的磁碟空間/dev/root比 board 實際擁有的更少(與 相比fdisk)?

4.3G是安裝在 下的文件系統的大小/。是塊設備7.2G的大小,是(?)的分區。/dev/mmcblk1p4``/dev/mmcblk1

文件系統和塊設備是不同的概念(比較我的這個答案)。文件系統通常存在於某個塊設備中。它可能比塊設備小;這種情況是完全可能的,而且很可能是這裡的情況。

請注意,您的問題中沒有任何內容真正表明安裝在下面的文件系統/直接或間接存在於/dev/mmcblk1p4. df將它與/dev/root可能是符號連結的關聯/dev/mmcblk1p4;雖然它可能是別的東西。

在 和之間可能有一個附加層(或什至層)mmcblk1p4/dev/root例如 LVM。

檢查ls -l /dev/root。如果它顯示你root -> mmcblk1p4,那麼是的,安裝在下面的文件系統/直接存在,/dev/mmcblk1p4但它的大小更小。如果/dev/root是其他情況,則需要進一步調查。

這個答案的其餘部分假設/dev/root是一個符號連結到/dev/mmcblk1p4.

有一些工具可以擴大文件系統。首先,您需要知道文件系統類型。呼叫mount並檢查相關條目。它看起來像這樣:

/dev/root on / type <type> …

<type>會告訴你文件系統類型。下一個:

  1. 選擇正確的工具(resize2fs對於 ext2/ext3/ext4,btrfs filesystem resize對於 btrfs,…)。
  2. 閱讀手冊。
  3. 檢查該工具是否支持擴大已安裝的文件系統。btrfs filesystem resize 需要掛載文件系統。resize2fs 允許在放大時安裝。特定於其他類型的工具可能需要解除安裝文件系統;在這種情況下,您無法調整安裝為/.
  4. 擴大文件系統。如果需要,一些工具可以自動檢查底層塊設備的大小並使文件系統佔用所有可用空間。檢查手冊以獲取正確的語法。

我不能給你一個確切的放大命令,因為我不知道你的確切設置。無論如何,我對您提出的明確問題(“為什麼df -h顯示更少的磁碟空間?”)的回答是:因為df處理文件系統而fdisk處理塊設備;文件系統和塊設備是不同的概念。

引用自:https://unix.stackexchange.com/questions/623160