
私はLinuxに初めて触れ、いくつかの問題に取り組んだ。
目的:Debian 9 Stretchを実行している2台のコンピュータがあり、そのうちの1つを別のコンピュータに複製したいと思います。
私が最初にしたことは、外付けハードドライブを最初のコンピュータに接続し、次のコマンドを使用してすべての内容をここにコピーすることでした。
sudo dd if=/dev/sda1 of=/dev/sdb1 bs=10M && sync
これがコピーする正しい方法なのか、それとも出力を.imgと同じにするのかはまだわかりません。
とにかく、外付けハードドライブを2台目のコンピュータに接続し、次のddコマンドを実行しました。
sudo dd if=/dev/sdb1 of=/dev/sba1 bs=10M conv=noerror,sync
I / Oのエラーは引き続き発生しましたが、最終的に完了してほぼ終了するまでにメモリ不足というメッセージが表示されました。新しいパーティションが作成され、内部ドライブがいっぱいです。
/etc/rc.local ファイルを確認してみると破損しているようです。再起動後、起動時にrc.localを含む複数行が表示されました。
私は回復モードで起動することに決めました、そして何らかの理由で同じディレクトリとすべてのエントリを使って最初のコンピュータのように起動しました。
私のddコマンドを振り返ると、次のように入力しなければならなかったと思います。sda変えるsda1
ddコマンドを再実行して変更する必要がある可能性があることに気づきました。sdb1到着深セン開発銀行しかも。
30秒ほど過ぎて命令を止めてラインを修正してみました。
行を再実行すると、分割エラーと呼ばれる応答が表示されます。
それ以降に入力するコマンドはすべてこの応答を提供します。
その後、再起動が行われ、EFIシェル画面に移動しましたが、今は停止しています。
この問題を解決するために私ができることはありますか?
答え1
これはシステムを複製する良い方法ではありません。/dev/sda1
にコピーする場合は、/dev/sdb1
ドライブの最初のパーティションをsda
ドライブの最初のパーティションにコピーしますsdb
。ブートローダや他の何もコピーしません。またsdb
、ドライブに実際にパーティションテーブルがない場合(またはsdb
ドライブのパーティションが正しく設定されていない場合)でも、正しい操作は実行されません。
両方のドライブが同じ(または少なくともまったく同じサイズの場合)、実際に使用するにはdd
コピーする必要があります。/dev/sda
/dev/sdb
両方のドライブが同じでない場合は、次のものを使用することをお勧めします。クローン属クローンシステムClonezillaはブートローダとパーティションテーブルを正しく処理し、ソースシステムとターゲットシステムのドライブサイズの違いを考慮します。
また、外部ドライブの内容を2番目のシステム(コピーするシステム)のdd
システムハードドライブにコピーする方法については言及していません。実際に2番目のシステムを起動し、外部ドライブの内容をシステムのハードドライブにコピーしてこれを実行したい場合(システムが実行されている間)、説明によれば、おそらくこれを行った可能性があります。システムの実行中は、2 番目のシステムのファイルシステムが破損します。これを正常に実行するには、別のソース(リムーバブルメディアのライブLinuxディストリビューションイメージなど)から2番目のシステムを起動し、そのソースから起動している間にdd
これを行う必要があります。