Ext4
如何找到 ext4 文件系統使用的最後一個扇區?
我需要辨識 ext4 文件系統使用的最後一個扇區,以便將其移動到另一個設備。
文件系統已經縮小(帶有
resize2fs
)並且小於包含它的分區,所以我不是在問如何找到分區中的最後一個扇區。我已經完成
tune2fs -l
並確定了Block count: 48934 First block: 0 Block size: 4096
據此,我假設文件系統使用 48934 * 4096 / 512 = 391472 個扇區,並且我可以
dd
從分區的第一個扇區開始移動那麼多扇區(如 所報告的gdisk
)。我不確定該塊計數是否包括任何 ext4 成本,或者是否需要考慮額外的大小。我讀了這個問題,這意味著需要考慮額外的空間。
你說的對。應該沒有問題。
為了避免一些計算,您可以使用該
bs
選項並使用設備的分區名稱,而不是從偏移量開始。dd count=48934 bs=4096 if=/dev/sdxN of=...
要 100% 確定您之前可以測試的尺寸。“模擬”一個較小的分區:
umount /dev/XYZ losetup --offset N-BYTES --sizelimit $(( 48934 * 4096 )) /dev/loop1 /dev/XYZ
mount
或者應該告訴你如果你把它做得太小了fsck
。會告訴分區是否仍然太大但沒有. 你也可以玩我從未使用過的。如果偏執,你應該使用. 完成後不要忘記。/dev/loop1``resize2fs``dry-run``fsadm -v --dry-run check/resize ...``losetup --read-only``losetup --detach