新しいコンピュータのドライブ全体をバックアップしたいです。
私は次のコマンドを試しました。
sudo tar -czvf disk.tar /dev/nvme0n1
だが1秒で終わった。
アーカイブのnvme0n1ファイルは0バイトです。
ここに問題がありますか?
編集する:
以前は、パーティションからこのコマンドを常に実行していたため、削除されたファイルはありませんでした。
dd if=/dev/zero of=moh bs=100M
rm moh
答え1
tar
ファイルのバックアップに使用する必要があります。ディスクの正確な状態をバックアップするには、を使用する必要がありますdd
。
だから、1つが欲しいなら精密ドライブのコピーは次のものを使用します
dd if=/dev/nvme0n1 of=/mnt/some_other_drive/copy_of_the_first_drive
。
より良い方法は圧縮を使用することです。 (新しいコンピュータのディスクの場合、無差別代入圧縮が可能です。)dd if=/dev/nvme0n1 | bzip2 > /mnt/some_other_drive/copy_of_the_first_drive.bz2
他の多くのオプションも可能です。
- トンネルを使用
nc
またはssh
作成し、トンネルを作成すると、バックアップを別のシステムに転送できます(システムに2番目のディスクがない場合)。 tar
完全な状態ではないファイルだけが必要な場合は使用できます。rsync
ファイルのみが必要で、使用可能な2番目のディスクがない場合に使用できます。
答え2
まず、/mnt などのディレクトリにインストールする必要があります。その後、コマンド(tar czvf somebackup.tar.gz /mnt)を使用できます。とにかくrsyncを使用することをお勧めします。状態全体を別のハードディスクに転送するには、ddコマンドを使用する必要があります。そうでない場合は必要ありません。
答え3
tar
ファイルレベルで動作するように設計
これを使用して、tar
圧縮するかどうかにかかわらず、ディレクトリとファイルのアーカイブを作成できます。
この方法でルートパーティションの内容をバックアップできます。/システムに存在できる他のパーティション。
はい(USBフラッシュドライブからの起動など、他のシステムの実行中に実行)
sudo mkdir /mnt/sd1
sudo mkdir /mnt/sd2
sudo mkdir /mnt/sd3
sudo mount /dev/nvme0n1p1 /mnt/sd1
sudo mount /dev/nvme0n1p2 /mnt/sd2
sudo mount /dev/nvme0n1p3 /mnt/sd3
sudo tar -cvzf root.tar.gz /mnt/sd1
sudo tar -cvzf home.tar.gz /mnt/sd2 # optional
sudo tar -cvzf data.tar.gz /mnt/sd3 # optional
特に、アーカイブが圧縮されていない場合、個々のバックアップファイルにアクセスするのは簡単です。これはいいですね。
ただし、パーティションテーブル(およびBIOSブートローダ(BIOSモードで起動するために必要))はいいえバックアップしてください。
Clonezillaはドライブ全体で動作します。
あなたはそれを使用することができますクローン属、パーティション、ブートローダなど、ドライブ全体のコンテンツの[圧縮]イメージを複製または作成するツールです。
- Clonezilla isoファイルをダウンロードし、
- USBブートドライブを作成し、
- それから起動します
- Clonezillaが代用します。
Clonezillaはファイルシステムで使用されているブロックだけをコピーし、空き領域をスキップするのと同じくらいスマートです。また、画像を圧縮するので、速度が速く、はるかに小さい画像が生成されます(たとえば、純粋なレプリカと比較してdd
)。イメージはファイルではなくファイルセットを含むディレクトリであり、Clonezillaを使用してイメージから復元できます。
Clonezillaには、ドライブを識別し、バックアップ時に正しいドライブからデータを読み取り、復元時に正しいドライブにデータを書き込むのに役立ついくつかのチェックポイントがあります。