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

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

2TioドライブからSSDにデータを移動したい(120Gioのみ)。ドライブには約16Gioのみを含むパーティションが1つしかありません。 ddrescueを使用して転送するときにすべてのデータを取得するには、すべてのデータがパーティションの先頭にあることを確認したいと思います。これを行うツールはありますか? ;)

ベストアンサー1

関連する場合、ddrescueソースドライブは正常ではありません。この場合、コピーする前に何らかの方法で元のドライブを修正すると問題が悪化する可能性があるため、避けてください。

〜しない限りソースディスクが正常で、ソースディスクのファイルシステムタイプがファイルシステムの縮小をサポートします。まず、これを行うことができます。

ここでは、ファイルシステムの種類が重要です。 ext2/ext3/ext4 ファイルシステムの場合、縮小したいファイルシステムをアンマウントし、resize2fs <partition device containing the filesystem> 20Gファイルシステムサイズを 20GiB に縮小することができます。操作が不可能な場合、コマンドは変更なしでエラーを返します。ジョブが正常に完了すると、すべてのデータはそのパーティションの開始から20GiB以内に保証されます。その後、丸めエラーが原因でファイルシステムの端が切り取られるのを防ぐために、パーティションサイズを21GiB以上に調整できます。ファイルシステムを正常にコピーした後、resize2fsサイズパラメータを使用せずに、パーティションの現在のサイズと正確に一致するようにファイルシステムのサイズを自動的に調整できます。

他の種類のファイルシステムには、独自の特定のサイズ変更ツールがあります。つまり、resize2fsext2/ext3/ext4ファイルシステムファミリに固有のものです。

私が知っている限り、現在オンラインでもオフラインでもXFSファイルシステムを縮小するための本番クラスのツールはありません。

ddrescueソースからターゲットに正確な1対1のコピーを作成しようとします。これがすぐに行われることです。これを実行して2TiBドライブから120GiBドライブにすべてのアイテムをコピーすると、元のディスクの最初の120GiB程度の正確なコピーが得られます。

ファイルシステムの作成後にソースディスクで行われた唯一の作業が16GiBのデータをソースディスクに転送することであれば、一般的にすべてのデータが最初の120GiB内に完全に含まれることが可能だと言いたいと思います。ファイルシステムの種類と使用するブロック割り当て方法によって異なります。

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

おすすめ記事