2013年4月14日 星期日

硬碟或是隨身碟 format 為 EXT4 格式,解決安全保留容量 5% 的方法

2013-04-14 貼出 本文文字版權沒有,圖片可能是 GPL 授權。



這是 format 8 GB 隨身碟之後的樣子,已經有 527.6 MB 已經使用 (心理想,這怎麼可能!全新 format 的怎麼可能已經使用 527.6 MB)


這是 format 3TB 外接硬碟後的樣子,已經有 139.9 GB 已經使用 (心理想,這怎麼可能!全新 format 的怎麼可能已經使用,而且是 139.9 GB 這麼多,等於好幾個 16 GB 的隨身碟)
沒錯,這是阿原一直以來的問題,直到昨天高高興興將新買來的 3 TB 備份用硬碟 format 之後 (請見外接 3 TB 硬碟的開箱照) ,被吃掉 139.9 GB。就再也受不了。先發信請教 ezgo 的伙伴,但是實在是等不及,就上網查,找到這些資料


http://askubuntu.com/questions/131516/new-ext4-partition-and-used-space

http://askubuntu.com/questions/48488/ext4-partition-size-free-space-discrepancies

http://askubuntu.com/questions/168310/why-do-i-get-more-free-space-than-ext4-after-formatting-in-xfs

原來 format 成 ext4,為了安全,會保留 5% 的硬碟空間,適合給主硬碟 (開機用硬碟) 使用。但是我們要用外接硬碟或是晶片碟,不需要保留 (免責聲明我不確定會不會有不良結果)。


A. 先找出目標硬碟的代號 (阿原總是搞不清楚硬碟代號)

使用指令 df -h 找出目標硬碟的代號,對,就是那個 2.7 TB 的那個,代號是 sdb1

xx@xx:~$ df -h
檔案系統            容量  已用 可用 已用% 掛載點
/dev/sda1             450G  273G  155G  64% / (這是阿原筆電的硬碟)
none                  1.5G  364K  1.5G   1% /dev
none                  1.5G  5.9M  1.5G   1% /dev/shm
none                  1.5G  296K  1.5G   1% /var/run
none                  1.5G     0  1.5G   0% /var/lock
none                  1.5G     0  1.5G   0% /lib/init/rw
/dev/sdb1             2.7T  201M  2.6T   1% /media/Seagate_3TB (這是新買的外接硬碟)


B. 去除保留的 5% 的空間

此時使用另一個指令 tune2fs -m 0  (0 代表保留 0% 的硬碟空間)
xx@xx-laptop:~$ sudo tune2fs -m 0 /dev/sdb1
tune2fs 1.41.11 (14-Mar-2010)
Setting reserved blocks percentage to 0% (0 blocks)



此時從已經使用 139.9 GB 剩下 201.0 MB。至於為何還有這 201.0 MB 已經使用....這要去問高手。





2 則留言:

  1. 跟你的inodes有關係
    sudo mkfs.ext4 -i 1048576 -n /dev/sdb1
    加 -n 不會實際執行,-i 是指定一個inode的大小,1048576是1M的意思
    你可以先試試

    回覆刪除
  2. 忘記說,可以加上 -m 0 把super user保留的5%變0%,跟你用tune2fs的 -m 0 是相同效果的,變以下這樣
    sudo mkfs.ext4 -i 1048576 -m 0 -n /dev/sdb1
    另外你也可以用 -T largefile 取代 -i 1048576

    回覆刪除