tar を使用してドライブ全体のアーカイブを作成する

tar を使用してドライブ全体のアーカイブを作成する

新しいコンピュータのドライブ全体をバックアップしたいです。

私は次のコマンドを試しました。

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には、ドライブを識別し、バックアップ時に正しいドライブからデータを読み取り、復元時に正しいドライブにデータを書き込むのに役立ついくつかのチェックポイントがあります。

関連情報