データをパーティションの先頭に移動する

データをパーティションの先頭に移動する

2Tio ドライブから 120Gio しかない SSD にデータを移動します。ドライブにはパーティションが 1 つしかなく、容量は 16Gio 程度しかありません。ddrescue で転送するときにすべてを確実に取得するには、すべてのデータがパーティションの先頭にあることを確認したいです。そのためのツールはありますか?;)

答え1

が関係している場合はddrescue、ソース ドライブの状態が必ずしも良好ではないことを示しています。その場合、問題が悪化する可能性があるため、コピー前にソース ドライブを一切変更しないでください。

ただし、ソース ディスクが正常であり、ソース ディスク上のファイル システム タイプがファイル システムの縮小をサポートしている場合は、まずそれを実行できます。

ここではファイルシステムの種類が重要です。ext2/ext3/ext4 ファイルシステムの場合、縮小するファイルシステムがマウントされていないことを確認してから、resize2fs <partition device containing the filesystem> 20Gファイルシステムのサイズを 20 GiB に縮小します。操作が不可能な場合は、コマンドは変更を加えずにエラーを返します。操作が正常に完了すると、すべてのデータが問題のパーティションの先頭から 20 GiB 以内であることが保証されます。次に、パーティションのサイズを調整します。丸め誤差によってファイルシステムの末尾が切り捨てられるのを避けるために、21 GiB 以上にするのが望ましいです。ファイルシステムが正常にコピーされたら、resize2fsサイズ パラメータなしで使用して、ファイルシステムのサイズをパーティションの現在のサイズと正確に一致するように自動的に変更できます。

他のファイルシステム タイプには、サイズ調整用の独自のツールがあります。これresize2fsは、ext2/ext3/ext4 ファミリのファイルシステムにのみ固有です。

私の知る限り、現在、オンラインでもオフラインでも、XFS ファイルシステムを縮小する実稼働レベルのツールは存在しません。

ddrescueは、ソースから宛先への正確な 1 対 1 のコピーを作成しようとします。これがその仕事です。2 TiB ドライブから 120 GiB ドライブにすべてをコピーするように実行すると、ソース ディスクの最初の 120 GiB 程度の正確なコピーが得られます。

ファイルシステムを作成した後、ソース ディスクで実行される唯一の操作が 16 GiB のデータの転送である場合、通常、すべてのデータが最初の 120 GiB 内に完全に含まれる可能性がかなり高いと言えますが、これはファイルシステムの種類と、それが使用するブロック割り当て方法によって異なります。

しかし、16 GiB のデータがコピーされる前にファイルシステムに 120 GiB 以上の何かが含まれていた場合、後で他のデータが削除されたとしても、現在の 16 GiB のデータはディスクの先頭から 120 GiB 以上離れた場所にある可能性があります。

関連情報