Linux

為什麼 resize2fs 告訴我錯誤的資訊

  • May 8, 2021

下午好!我正在嘗試縮小 ext4 分區,我在網上找到了很多教程來實現這一點,但是,在實現實際更改時,resize2fs 告訴我錯誤資訊!這是場景:

# parted -s /dev/sdb unit GB print
Model: Hitachi HTS725050A7E630 (scsi)
Disk /dev/sdb: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
1      0.00GB  0.64GB  0.64GB  primary  ext2         boot
2      0.64GB  500GB   499GB   primary  ext4

現在我嘗試首先將文件系統減少 30GB:

# resize2fs /dev/sdb2 469G
resize2fs 1.42.13 (17-May-2015)
The containing partition (or device) is only 121940394 (4k) blocks.
You requested a new size of 122945536 blocks.

分區未掛載,從輸出中可以看出,我實際上從總大小中減少了 30GB(499 - 30 = 469)。當我應用一個單位(在這種情況下為 GB)時,這怎麼可能?我錯過了什麼嗎?

469G就是46910241024k,也就是491782144k。122945536 個 4k 塊也是 491782144k。

Parted 使用 G 表示 1000,而不是 1024。嘗試使用 parted 的單位 Gi。

就我而言,當我將GB更改為G時它起作用了

root@ubuntu:/home/ubuntu# resize2fs /dev/ubuntu-vg/root 100GB
resize2fs 1.42.13 (17-May-2015)
resize2fs: Invalid new size: 100GB

root@ubuntu:/home/ubuntu# resize2fs /dev/ubuntu-vg/root 100G
resize2fs 1.42.13 (17-May-2015)
Resizing the filesystem on /dev/ubuntu-vg/root to 26214400 (4k) blocks.

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