Ext4

如何找到 ext4 文件系統使用的最後一個扇區?

  • October 5, 2016

我需要辨識 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

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