我需要确定 ext4 文件系统使用的最后一个扇区,以便我可以将它移动到另一个设备。
文件系统已经缩小(使用resize2fs)并且小于包含它的分区,所以我不是在问如何找到分区中的最后一个扇区。
我已经完成tune2fs -l并确定了
Block count: 48934
First block: 0
Block size: 4096
Run Code Online (Sandbox Code Playgroud)
由此我假设文件系统使用 48934 * 4096 / 512 = 391472 个扇区,并且我可以dd从分区的第一个扇区开始移动那么多扇区(如 所报告的gdisk)。
我不确定该块计数是否包括任何 ext4 开销,或者是否需要考虑额外的大小。我读了这个问题,这意味着还有额外的空间需要考虑。
你是对的。应该没有什么问题。
为了避免一些计算,您可以使用该bs选项并使用设备的分区名称,而不是从偏移量开始。
dd count=48934 bs=4096 if=/dev/sdxN of=...
Run Code Online (Sandbox Code Playgroud)
为了100%确定尺寸,您可以先测试一下。“模拟”一个较小的分区:
umount /dev/XYZ
losetup --offset N-BYTES --sizelimit $(( 48934 * 4096 )) /dev/loop1 /dev/XYZ
Run Code Online (Sandbox Code Playgroud)
mount或者fsckof/dev/loop1应该告诉你你是否把它做得太小了。resize2fs会告诉分区是否仍然太大,但没有dry-run。你也可以尝试一下fsadm -v --dry-run check/resize ...我从未使用过的东西。如果偏执,你应该使用losetup --read-only. losetup --detach完成后不要忘记。
| 归档时间: |
|
| 查看次数: |
1389 次 |
| 最近记录: |