
私が探しているのは、Ubuntu OS 内にとどまりながらハード ドライブ (主に Windows パーティション) をクローンする方法です。ハード ドライブにパーティションを作成してそこから起動したり、ブート CD を使用したりしたくありません。それに近いものとして思いつくのは、Windows のデスクトップから実行できる 32 ビット バージョンの Ghost だけです。
clonezilla である必要はありませんが、これは私が使用した唯一の Linux クローン作成ソフトウェアであり、これを見つけて以来、ほぼ独占的に使用しています。デスクトップから clonezilla を使用する方法がない場合、代替プログラムを受け入れます。主な点は、ドライブをクローン作成し、Ubuntu 内から実行できることです。
よろしくお願いいたします
答え1
Clonezilla はdd
舞台裏で使用します。
ディスクとパーティションについて
ディスク全体は のようなデバイスです。/dev/sda
これは最初のディスク、2 番目のディスクは/dev/sdb
、3 番目のディスクは/dev/sdc
などです。IDE ケーブルで接続された古いディスクはhda
、hdb
、... のように名前が付けられます。ディスクは のように複数のパーティションを持つことができます/dev/sda1
。ディスクの 2 番目のパーティションは などです。イメージ (バイトの文字どおりのコピー) は、パーティションとディスクの両方から作成できます。ディスクの最初の 512 バイトには MBR (マスター ブート レコード) が含まれていることに注意してください。/dev/sda
/dev/sda2
イメージを作成または復元するときにはパーティションをマウントしないでください。マウントすると、パーティションからの読み取り時 (イメージの作成) にデータが失われたり、パーティションへの書き込み時 (イメージからの復元) に予期しない動作やデータが破損したりする可能性があります。
以下の例では、/dev/sda1
イメージを作成するパーティションです。
のパーティションとディスク デバイスは、/dev
スーパーユーザー (root) とdisk
グループのユーザーのみが書き込み可能です。すべてを root として実行するのは好きではないので、安全のため (たとえば、タイプミスがあった場合など)、グループを一時的に自分自身に変更して、読み取りと書き込みができるようにします。
sudo chgrp my_user_name /dev/sda1
上記のコマンドをスキップする場合は、以下のdd
コマンドの前に を付ける必要がありますsudo
。
基礎
パーティションからイメージを作成するための基本コマンドは次のとおりです。
dd if=/dev/sda1 of=disk.img
if
は「入力ファイル」を意味し、はof
「出力ファイル」を意味します。Linux では、デバイスも含めすべてがファイルです。
このようなイメージを復元するには、次のコマンドを実行します。
dd if=disk.img of=/dev/sda1
順序は重要ではありません。上記のように記述することdd of=/dev/sda1 if=disk.img
もできます。
圧縮画像
パーティションは一般的に大きいため、イメージに書き込む前にデータを圧縮することをお勧めします。
dd if=/dev/sda1 | gzip > disk.img.gz
of
これが機能するのは、 が省略された場合、出力が、圧縮プログラムへのパイプである「標準出力」に書き込まれるためですgzip
。その出力は に書き込まれますdisk.img
。
このような圧縮されたイメージを復元するには、次のコマンドを実行します。
gunzip -c disk.img.gz | dd of=/dev/sda1
ここで、gunzip
は gzip の逆コマンドです。-c
は、出力をコマンドへのパイプである標準出力に書き出しますdd
。if
では が省略されているためdd
、入力は の出力である「標準入力」から読み取られますgunzip
。
画像を復元せずに読み取る
圧縮されていないイメージはマウントして読み取ることができます。パーティション イメージを圧縮している場合は、まず解凍してください (disk.img.gz
は削除され、disk.img
が作成されます。十分なスペースがあることを確認してください)。
gunzip disk.img.gz
あるいは、画像自体に触れずに画像を解凍します。
gunzip -c disk.img.gz > disk.img
次に、ディスクをマウントできるディレクトリを作成し、イメージを読み取り専用でマウントします ( ro
)。
sudo mkdir /mnt/wind
sudo mount -o ro disk.img /mnt/wind
これで、 内のファイルを表示できます/mnt/wind
。完了したら、マウントを解除し、古いマウント ポイントを削除します。
sudo umount /mnt/wind
sudo rmdir /mnt/wind
サイズが小さく、CPU 使用率が高く、バックアップと復元の時間が長くなります
時間が問題でなく、保存スペースがあまりない場合は、圧縮形式を使用できます。上記の をにbzip2
置き換えるだけです。bzip2圧縮ファイルには拡張子を使用するのが一般的ですので、そのようにしてください。gzip
bzip2
.bz2
答え2
あるハードディスクを別のハードディスクにクローンしたいですか? それにはいくつかの方法があります。私は通常、dd コマンドを好みます。このコマンドを使用するには、sudo アクセスが必要になることに注意してください。
ハード ディスク 1 をハード ディスク 2 にクローンします。ハード ディスク 2 はハード ディスク 1 よりも大きいサイズである必要があります。ソース ハード ディスクが sda で、ターゲット ハード ディスクが sdb の場合、次のコマンドを使用して sda のすべての内容を sdb にコピーできます。
dd if=/dev/sda of=/dev/sdb
ハードディスク1全体をイメージにクローンするには、次のコマンドを使用します。~/disk1.imgは別のディスクに存在する必要があることに注意してください。
dd if=/dev/sda of=~/disk1.img
単一のパーティションをイメージにクローンするには、次のコマンドを使用します。イメージ ファイルは同じパーティション上に存在してはならないことに注意してください。
dd if=/dev/sda1 of=~/drive1.img
イメージを復元するには、次のコマンドを使用します。
dd if=drive1.img of=/dev/sda1 - For Partition dd if=disk1.img of=/dev/sda - For whole hard disk
画像ファイルを圧縮することでスペースを節約することもできます。
gzip disk1.img - This will generate disk1.img.gz bzip2 disk1.img - This will generate disk1.img.bz2