他のデバイスに移動できるように、ext4ファイルシステムで使用されている最後のセクタを識別する必要があります。
ファイルシステムは縮小され(resize2fs
)それを含むパーティションよりも小さいため、パーティション内の最後のセクタを見つける方法を尋ねられません。
完了しtune2fs -l
て確認しました。
Block count: 48934
First block: 0
Block size: 4096
これにより、ファイルシステムが48934 * 4096 / 512 = 391472セクタを使用し、dd
パーティションの最初のセクタから始めて多くのセクタを移動できると仮定します(報告されているようにgdisk
)。
そのブロック数にext4オーバーヘッドが含まれているか、考慮すべき追加のサイズがあるかはわかりません。私は読んだこの問題これは、考慮すべき余分なスペースがあることを意味します。
答え1
あなたは正しいです。問題はないはずです。
一部の計算を避けるために、その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