
ノートパソコンの内蔵 SATA ハード ドライブを 40G ドライブから 160G ドライブにアップグレードしています。SATA カードを搭載した Linux/Ubuntu デスクトップを持っています。実際に職場の CentOS と FreeBSD ボックスでも同じことをしたいのですが、同じ解決策があるようです。
使えると聞いたのですがDD40G パーティションを 160G ドライブにミラーリングするか、40G パーティションをローカル システムにイメージとして保存し、その 40G イメージを 160G ドライブにコピーすることができます。
誰かこれをどうやってやるのか説明してもらえますか?他のユーティリティなどが必要ですか?gparted
答え1
通常、私は「外付けエンクロージャを使用して 2 番目のハード ドライブを接続し、Linux CD から起動して、 などのコマンドを使用する」などの解決策を提案しますdd if=/dev/sda of=/dev/sdb bs=1G
が、仕事で同じ手法を使用したいので、もっと良い解決策があるかもしれません。
私のサーバーとラップトップはすべて職場でイメージ化されていますクローンジラ使用方法は 2 つあります。1 つは専用サーバーを使用する方法で、おそらく過剰ですが、もう 1 つはブート CD と外付けハード ドライブを使用する方法です。
アイデアとしては、Clonezilla CD で起動し、大きめの (ソース ドライブよりも大きい) 外付け USB ドライブを用意します。Clonezilla は、既存のドライブのイメージを作成する手順を案内します。その後、マシンの電源を切り、ドライブを交換し、Clonezilla を再起動して、データを復元する手順を案内します。
これにより、A) イメージをより大きなドライブに保存し、B) データのバックアップを保持できるようになります。
答え2
最初のタスクは、両方のディスクを既存の Linux システムに接続するか、新しいディスクを元のシステムに接続することです。
あなたはとても空のディスクを正常なディスクの上にコピーするのは非常に簡単なので注意してください。
ブートセクターなどをすべて取得するには、次のようにします。
dd if=/dev/hdx of=/dev/hdy
hdx
40G ディスクはどこにあり、hdy
は 160G ディスクです。 のようなパーティション番号がないことに気付くでしょう/dev/hdx1
。 これにより、ディスク全体、パーティション情報などすべてがコピーされます。
新しいディスクは古いディスクと同じように 40G 割り当てられます。ラップトップに戻すとすぐに起動するはずです。LVM を使用したでしょうか? そうでなければ、すべてのパーティションを使用していないでしょうか? このポイントを通過するには、さらに多くの情報が必要です。
もう 1 つの解決策は、個々のパーティションをダンプすることです。この場合、ブート情報を再作成する必要があるため、より多くの状況認識が必要になります。
これらはすべて、ハードディスクのアップグレードではなく、コンピューターのクローン作成に最適です。バックアップを使用して新しいインストールに復元する方がはるかに優れています。
答え3
あなたができるdd を使用してこのようにディスクをコピーすると、いくつかの欠点が生じます。
- 宛先はソースとまったく同じサイズかそれより大きくなければなりません
- コピー後、追加のスペースを使用するためにパーティションのサイズを変更する必要があります。
- 空き領域をコピーするのに時間を無駄にする
- 古いディスクに存在する断片化は保存されます
Ghost4Linux、partclone、clonezilla などのイメージング プログラムを使用すると、少なくとも 2 番目と 3 番目の問題は解決します。また、新しいディスクをフォーマットしてマウントし、すべてのファイルをcp -ax
(root として) コピーしてから、新しいドライブにブート ローダーを再インストールすることもできます。この方法には、上記の欠点はありません。
答え4
ddでどうやってやるかと聞かれましたが、私は出力をパイプする方がうまくいきました。ごみの中へ復元する情報源によると広告そしてターゲット広告:
$ mount /dev/ad2s1a /target
$ cd /target
$ dump -0Lauf - /dev/ad1s1a | restore -rf -
私はこれをFreeBSDで試してみましたが、実際にはFreeBSD フォーラム