バックアップに使用する1TBポータブルハードドライブがあります。ドライブ全体()がファイルシステム/dev/sdb
としてフォーマットされています。ext4
btrfs
バックアップの利点(チェックサム、セルフリカバリなど)について読んでおり、このディスクをext4
から移動することを検討していますbtrfs
。
私はまだディスクサイズ(e2fsck -f /dev/sdb && resize2fs /dev/sdb 500G && fdisk /dev/sdb
または同様のもの)を調整できると確信しています。しかし、パーティションがないデバイスにパーティションを「インポートする」方法がわかりません。
これは可能ですか?それではどうですか?
(ファイルシステム自体(ext4
などbtrfs
)はほとんど関係ありません。問題は、純粋にファイルシステムなしで元々作成されたデバイスをパーティション化し、既存のファイルシステムを失うことなくそのようにすることです。
答え1
パーティションテーブル(最小MBRまたはGPTスタイル)はディスクの先頭および/または末尾にあるため、必要なスペースを確保できればインポートできます。
テラバイトディスクを使用している場合は、次のように進めます。
- セキュリティ上の理由から、ext4ファイルシステムのサイズを499Gに調整します。これにより、すべてのデータ、ファイルシステム構造などがディスクの最初の499Gブロック内に収まります。理想的には、ファイルシステムをできるだけ小さく保つ必要があり、後続のステップでコピーする必要があるデータ量が減ります。
dd
あるいは、同様のツールを使用して、ブロックをディスクの2番目の半分にコピーします。- ディスクを分割し、ファイルシステム(500G)より少し大きいパーティションを作成します。これにGPTを使用すると、ディスクの先頭と最後のブロックが上書きされるため、ディスクの先頭にあるファイルシステムのコピーが書き込まれます。
dd
再度または同様の方法を使用して、ディスクの2番目の半分から新しく作成されたパーティションに元のブロックをコピーします。手順2で行った操作に基づいてオフセットとサイズを計算する必要がありますが、目標は簡単です(/dev/sdX1
)。- すべてのパーティションを占有するようにファイルシステムのサイズを変更します。
次のようなものを使用してくださいddrescue
逆方向にコピーすることが可能です。少し単純化できます。
- 可能であれば、ソースファイルシステムのサイズを変更してください。
- (実際にはパーティションテーブルを作成せずに)最初のパーティションの開始位置を計算します。
- 最初のパーティションが始まった場所から始まるようにソースファイルシステムを構成するブロックを移動します。 (この時点からコピーを開始する必要があります。)
- ディスクを分割します。
- ファイルシステムのサイズを変更します。
関連するコピー量を考慮すると、データを他の場所にバックアップして復元する方が簡単になります。 ext4ファイルシステムの先頭を保存し、残りのデータを復元してコピー量を制限することができますが、これにはより慎重な記録が必要です。
答え2
データを失うことなく2TBドライブを正常に再パーティションしました。 GNU / LinuxシステムとWindowsシステムでバックアップを実行したかったので、EXT4パーティションを1TBに減らし、新しい1TBパーティションを作成し、NTFSファイルシステムにフォーマットしました。
私がしなければならなかったのは、UbuntuでGUIディスクアプリケーションを使用することだけでした。他のディストリビューションにもパーティション管理用の同様のGUIアプリケーションが必要です。 NTFSの代わりにBTRFSを使用しても問題ありません。
もちろん、端末でもパーティションを再度実行できる必要があります。
答え3
混乱しています。
ディスクがext4でフォーマットされたと言いましたが、もちろんパーティション。ディスクのパーティションテーブルがgptで、fdiskがそれをサポートしていないため、fdiskはそれを表示しない可能性があります。この場合、 parted を使用できます。
sudo parted -l /dev/sdb
これに加えて、ext4をbtrfsに変換することもできます。このArch Linuxガイドに記載されているように。