LinuxでDDコマンドを使用する

LinuxでDDコマンドを使用する

ddPI4 MicroSD 64GBメディアにインストールされている実行中のLinux OSをイメージに複製するために使用したいと思います。 Raspberry PIであるため、PI4 OSが実行されていない場合は、USBスティックから(簡単に)起動してジョブを実行できません。コンソールログインを使用してこのような操作を実行すると、後で問題なく再起動できますか?dd実行中のシステム内のターミナルセッションでプライマリドライブ(/ dev / sda)の適切で回復可能なイメージを作成することは基本的に可能ですか?

ベストアンサー1

GNU / Linuxを別のハードドライブ、SDカード、またはフロッピーディスクに複製する一般的な方法は2つあります。 1つ目は、ファイルシステム全体とここに含まれるすべてを複製する場合、およびシステムに必要なすべてのファイルをコピーして他の場所で動作するように構成する場合です。

最初のもの:フルファイルシステムの複製

ddは、ファイルシステム全体を複製するための最も信頼性が高く、時代遅れの方法です。すべてのパーティションを含むディスク全体のイメージを作成するには、端末で行う必要があります。

dd if=/dev/sdX of=/path/backup_sdX.img 

それから

dd if=/path/backup_sdX.img of=/dev/sdY

イメージをsdYディスクに配布します。sudobackup_sdX.imgがフル.imgと同じサイズである必要がありますsdX。合計をlsblk計算するために使用されます。sdXsdY

ddコマンドを慎重に使用してください。オペレーティングシステムとすべてのデータが永久に削除される可能性があります。

dd には詳細なオプションはありません。パイプラインデータモニタを使用してddの進行状況を表示できます。PV。 pvがインストールされていることを確認してください(DebianまたはUbuntuの場合)。

sudo apt-get install pv

pv /dev/sdX | dd of=/path/backup_sdX.img

sudo移行pvとコマンドが必要な場合がありますdd。 Raspberry PIから他のコンピュータへのSSHアクセスが可能な場合は、次のことができます。

dd if=/dev/sdX | ssh username@hostname "dd of=/path/backup_sdX.img"

または

pv /dev/sdX | ssh username@hostname "dd of=/path/backup_sdX.img"

進行状況を確認してください。ホスト名は他のシステムのローカルIPアドレスにすることができます。 file.imgのサイズはsdXディスク全体と同じですので、受信サイズに十分なスペースがあることを確認してください。

システムにイメージをインストールすることもできます。

sudo mount /path/backup_sdX.img /mnt 

何かを変更したいときに役立ちます。何らかの理由で動作しない場合はお試しください。これ

このアプローチが気に入らない理由は次のとおりです。

  • ディスクの各ブロックをコピーするのに時間がかかることがあり、特にディスクが大きい場合にはさらにそうです。
  • sdYより大きくなければなりませんsdX
  • sdY同じパーティションを持ち、sdX単にsdXにサイズ変更されます(もちろん、後で変更できますが、データが失われる可能性があります)。
  • 混乱すると非常に失望する可能性がありますsdY

コマンドの使用の利点と欠点の両方を理解したら、またはなどのddより具体的なコマンドを試すことができます。clonezillapartclonepartimage


2番目のタイプ:設定のコピー

オペレーティングシステムに必要なファイルを複製して設定します。これはシステムを複製する高度な方法です。

  • gpartedまたは、別のプログラムを使用してターゲットpartedハードドライブにパーティションを作成する
  • 必要なすべてのパーティションをマウントします。
  • rsyncSSHまたはローカルDHCPネットワークを介してファイルを転送するために使用します。
  • /etc/fstab 変更
  • grubのインストール、アップデート、またはuefiの設定(使用する場合)chroot

これを行う方法の良いガイドを見つけることができます。ここ

おすすめ記事