小さなヘッドレス サーバー (PC Engines APU 1D4) と Debian で遊んでいます。シリアル ポートのターミナルから制御しています。
通常、私は USB キーから OS をインストールしますが、そのプロセスは非常に長く、エラーが発生しやすくなります。
動作中の SSD から 2 つのパーティションを新しい SSD にクローンしようとしています。8 GB のクローン作成には、3 時間以上ではなく 12 分程度かかります。この時間を節約するために、インストール後にいくつかのパラメータを変更する価値はあります。
新しい SSD は、元の SSD と同様に、適切なパーティション (fdisk を使用) で準備され、最初のパーティションでブートがアクティブ化されています。パーティションが適切なブロックから始まっており、同じであることを確認しました。
ソースからコピー先の SSD に直接コピーすることはできないため、まったく同じ方法でパーティション分割された SD カードにコピーしました。次に、イメージを SD カードから新しい SSD に複製します。
私はddを使用しています:
dd if=/dev/sdaX of=/dev/sdcY bs=64K conv=noerror,sync status=progress
すべて問題なく警告もなくコピーされました。
しかし、新しい SSD をインストールした状態でユニットを起動すると、起動時に停止します。
PC Engines APU BIOS build date: Sep 8 2014
Total memory 4096 MB
AMD G-T40E Processor
CPU MHz=1001
Press F10 key now for boot menu:
drive 0x000f2a90: PCHS=16383/16/63 translation=lba LCHS=1024/255/63 s=488397168
Booting from Hard Disk...
handle_75
handle_02
handle
下部にある2 つのメッセージの意味をご存知ですか?
ここで何が欠けているのでしょうか?
答え1
grub
新しい SSD を起動可能にするには、インストールして設定する必要があります。
古いディスクのパーティションのみを新しいディスクにクローンしたので、パーティション外の grub の最初の部分は省略されています。代わりにディスク全体をクローンした場合は、ブートローダーを再インストールする必要はありません。ディスク全体をコピーするには、dd
次のようにします。
dd if=/dev/sda of=/dev/sdb
進捗状況を測定したい場合
dd if=/dev/sda |pv| dd of=/dev/sdb
上記のコマンドは、のようなパーティションではなく、sda
ディスク全体を にコピーすることに注意してください。sdb
sdaX
それ以外の場合は、2つのパーティションをクローンした後、任意のOS(できればクローンするOSと同じOS)のライブディスクを使用してシステムを起動します。chroot
クローンしたOSのルートディレクトリで再インストールします。grub
GPT
パーティションテーブルを使用している場合は、 Legacy BIOS
1MBのbiosboot
パーティションも必要です。「OSのGrub再インストール手順」を検索してください。
答え2
dd
代わりにこの用途には使用しないでくださいpartclone
。
partclone -b -s /dev/sda1 -o /dev/sdb1
いずれにしても、これを使用すると転送速度がはるかに速くなりますdd
。