高速無線LAN情報局

Partition Image (partimage)でOSのバックアップ

SATAバックアップに問題が…

筆者は仕事上、パソコンのOSのバックアップを取る機会が多くあります。例えば、Windowsの98SE、ME、2000、XP、Vistaをノートパソコンにインストールして、それぞれのOSで動作検証を行う場合、一度OSを入れてOSのバックアップのイメージを残して起きます。次回、また同じOSで動作検証するとき、そのイメージから戻せばすぐにOSの入れ替えが完了します。

これまでは「Acronis True Image 8」というバックアップソフトを使っていました。OSにインストールはせず、ソフトのインストールCDでCDブートし、バックアップを取ったり、リストア(復元)したりします。
ところが、筆者がこれまで使ってきた「Acronis True Image 8」はシリアルATAのハードディスクに対応していないため、シリアルATAのパソコンではバックアップが取れないことが多くなってきました。

正確に言うと、パソコンのBIOS設定で、シリアルATAのモードを「Legacy」とか「Compatible」とかいうモードにすれば「Acronis True Image 8」でもシリアルATAのハードディスクが認識できるのですが、読み書きの速度が異常に遅くなるため、作業にものすごく時間がかかってしまいます。

本来ならば、シリアルATAにちゃんと対応した「Acronis True Image 11」などのバックアップソフトを会社に買って貰えば済む話なのですが、この不況下では、高々1万円程度のソフトでもなかなか買って貰えません。
そこで仕方なく、いいフリーのバックアップソフトがないものかと探すことにしました。

最初は、週刊アスキーなどの雑誌でよく紹介されている「Paragon Drive Backup Express」というソフトを使おうかと思ったのですが、殆ど圧縮せずにイメージを取ったり、ダウンロードする際にメールアドレスの登録が必要で、そのあとメールが勝手に送りつけられてくるなど鬱陶しいソフトでしたので、使うのをやめました。
最終的に筆者が選んだのは、Linuxベースのソフト「Partition Image」です。

Partition Imageとは

「Partition Image」(partimage)は、Linux上で動作するバックアップソフトです。Linuxだと敷居が高いように思われますが、CDブートできる簡単なLinuxがあって、それに「Partition Image」が含まれているので、CDブートさえできれば、「Partition Image」は難なく使用することができます。

「Partition Image」を使えるCDブート対応のLinuxには次のふたつがあります。

「KNOPPIX」(クノーピクス)は独立行政法人の産業技術総合研究所が開発したDebianベースのLinuxディストリビューションです。
独立行政法人というと、官僚の天下り先で、職員が何の仕事もしないカス団体だとばかり思っていましたが、人の役に立つことをやっているとこもあるようです。

「SystemRescueCD」はGentoo LinuxベースのLinuxディストリビューションです。
基本的にコマンドでごちゃごちゃやるCUIのLinuxだと考えてください。

それぞれのLinuxにどのバージョンの「Partition Image」が入っているかで変わってきますが、どちらも似たようなものなので、ここではGUIで操作できる「KNOPPIX」での「Partition Image」の使い方を紹介します。

Partition Imageの起動

まずは「KNOPPIX」をダウンロードします。ISOイメージがサイト上にありますので、それをダウンロードします。
バージョンで5.3.1と6.0.1がありますが、ここではとりあえず起動が速くなったと評判のいい6.0.1を使うことにします。
ダウンロードしたISOイメージを、ライティングソフトを使ってCD-Rに書き込んでください。

作成した「KNOPPIX6.0.1」のCDをCDドライブに入れ、CDブートしてください。CDブートしない場合は、BIOSの設定でCDドライブの起動優先度を一番上にしてください。
CDブートしたら、あとは勝手にLinuxが立ち上がります。

Linuxが起動したら、まずはパーティションの確認とイメージの保存先パーティションのマウントを行います。
タスクバーにある「File Manager」などのWindowsでいうエクスプローラ風ウインドウを立ち上げてください。そこに、「XXGB ボリューム」という名前でハードディスクのパーティションが表示されるはずです。

図1

それをクリックしたり、右クリックから「ファイルシステムをマウントする」を選択すると、パーティションがマウントされ、中身のファイルやディレクトリを見ることができます。そのとき、ウインドウ上部のアドレスバーにパスが表示されます。バックアップ元のディレクトリのパスと、バックアップ先のディレクトリのパスを確認しておきましょう。
ここでは、バックアップ元が「/media/hdb1」、バックアップ先が「/media/hdb2」になります。これは、ハードディスクがプライマリIDEのスレーブだからhdb、1番目の2番目のパーティションということでhdb1、hdb2となっています。
Linuxでは、デバイス名は次のようになるようです。そのデバイス名の後に数字がついているものがパーティション名になります。

UATAプライマリマスタhda
スレーブhdb
セカンダリマスタhdc
スレーブhdd
SATAsda

パスの確認ができたら、OS がインストールされているバックアップ元(/media/hdb1)のパーティションはアンマウントし、イメージファイルを保存するバックアップ先(/media/hdb2)はマウントしたままにしておきます。
バックアップ元はマウントしたままでもバックアップすることはできますが(警告が出ます)、バックアップ先はマウントしていないとイメージファイルの保存ができないので注意してください。

次に、下のタスクバーのターミナルアイコンをクリックして、ターミナル画面を起動してください。
「Partition Image」は管理者権限で実行する必要がありますので、ターミナルで次のコマンドを入力して、ユーザをSuperUserに変更します。
(入力するのは$以降のsu -です)
knoppix@Microlnoppix:~$ su -

SuperUserになったら、「Partition Image」を実行します。ターミナルで次のコマンドを入力して、「Partition Image」を起動しましょう。
(入力するのは#以降のpartimageです)
root@Microlnoppix:~# partimage

なお、5.3.1以前の「KNOPPIX」は、起動時デフォルトで各パーティションが書き込み不可になっているため、バックアップ時はそのパーティションを書き込み可能にしなければなりません。ですから、「KNOPPIX5.3.1」以前では、パーティションのプロパティを開いて、「リードオンリー」のチェックを解除してください。

また、NTFSのパーティションをバックアップする場合、暗号化されていたり、大量にフラグメンテーション(断片化)が起こっている場合はバックアップできないようです。
NTFSの暗号化を使っている人はあまりいないと思いますが、デフラグをしていない人は大勢いると思います。バックアップ前には、バックアップ元のパーティションを予めデフラグしておくことをお勧めします。

まずはバックアップ

「Partition Image」を起動すると、次のような画面が表示されます。

図2

「Partition Image」で選択項目を移動するには、Tabキーを使います。

「Partition to save/restore」で、バックアップ元のパーティションを選択します。 ここでは、先ほど確認したとおり、hdb1のパーティションのイメージをhdb2にバックアップすることにするので、「hdb1」を選択します。

「Image file to create/use」には、バックアップ先(イメージファイルの保存先)を指定します。
ここでは、hdb2パーティションの「Backup」というディレクトリの下の「OS」ディレクトリに、WindowsXPSP3という名前で保存することにします。
ファイル番号を兼ねた拡張子があとで付けられますので、指定ファイル名に拡張子は不要です。
/media/hdb2/Backup/OS/WindowsXPSP3

「Action to be done」では、バックアップなので「Save partition into a new image file」を選択します。選択はスペースキーなどでできます。

バックアップ対象のパーティションを選択し、イメージファイルの保存先を指定し、バックアップを選択したら、F5キーを押して次に進みます。

図3

「Compression level」では、バックアップイメージの圧縮レベルを選択します。デフォルトは「Gzip」で、通常はデフォルトのままにします。
「None」にすると無圧縮になり、ファイルサイズは元のパーティションで使用されているサイズのままになりますが、バックアップが高速になります。しかし、高速で作業しなければならないほど忙しい人もいないでしょうし、無圧縮でいいなら「Paragon Drive Backup Express」のようなソフトを使えばいいでしょう。
「BZip2」はめちゃ遅くて、イメージがめちゃ小さくなると書いてありますが、それほど小さくなりませんし、MBR(Master Boot Record)のリストアができないので、とりあえずどんな場合でも「Gzip」を選ぶようにしましょう。

「Options」と「If finished successfully(成功して完了したとき)」は、デフォルトのままで構いません。

「Image split mode」では、イメージファイルの分割サイズを指定します。
デフォルトは「Into files whose size is ...」の2037MBになっており、FAT32などを考慮してか2GBずつ分割して保存するようになっています。
保存するイメージファイルをCD-RやDVD-Rに焼くのであれば、それに収まるようなサイズを指定すればいいでしょう。
それ以外に、USBの外付けハードディスクなどに保存する場合であれば、「Automatic split (when no space left)」を選択すれば、分割せずに1個のファイルでイメージが保存されます。
ここでは、分割せずに1個で保存するため、「Automatic split (when no space left)」を選択します。

ここまで設定したら、F5キーを押して次に進みます。

図4

「Partition Description」では、イメージファイルの説明を追加します。
OSの名前や日付等の覚え書きを入力してもいいですし、何も入力しなくても構いません。

イメージファイルの説明を設定したら、F5キーを押して次に進みます。

図5

バックアップ先のパーティションがNTFSだった場合、NTFSは試験的にしかサポートしていない旨が表示されますが、問題ないので「OK」を押します。

図6

バックアップ先のパーティションの構成が表示されるので、「OK」を押します。

図7

あとは自動でバックアップ作業が行われ、、進捗状況が画面に表示されます。完了するまでしばらく待ちましょう。
この作業時間はパソコンの性能に大きく左右されます。上図ではショボいノートパソコンでやったので、1分間に200MBずつしか処理できませんが、シリアルATAのハードディスクで高速なCPUの場合、600MB/min以上で作業されるため、待ち時間はパソコンによってまちまちになるでしょう。

図8

バックアップ作業が完了すると、成功した旨を示す表示が出てきますので、「OK」を押して「Partition Image」を終了させます。

続いてリストア

バックアップのときと同様に、ターミナルを立ち上げ、SuperUserになり、「Partition Image」を起動します。
knoppix@Microlnoppix:~$ su -
root@Microlnoppix:~# partimage

図9

「Partition to save/restore」で、リストア先のパーティションを選択します。

「Image file to create/use」には、バックアップしたイメージファイルを指定します。
ファイルが1個の場合でも、ファイルを分割している場合でも、拡張子が000のファイルを指定します。
/media/hdb2/Backup/OS/WindowsXPSP3.000

「Action to be done」では、リストアなので「Restore partition from an image file」を選択します。選択はスペースキーなどでできます。

リストア先のパーティションを選択し、イメージファイルの読み込み先を指定し、リストアの選択をしたら、F5キーを押して次に進みます。

図10

「Options」と「If finished successfully(成功して完了したとき)」は、デフォルトのままで構いません。
F5キーを押して次に進みます。
ちなみに、「Options」で「Simulation of the restoration (nothing is written)」を選択すれば、パーティションへの書き込みを行わないリストアのシミュレーションを行います。

図11

NTFSのパーティションをリストアする場合、NTFSは試験的にしかサポートしていない旨が表示されますが、問題ないので「OK」を押します。

図12

リストア先のパーティションの構成が表示されるので、「OK」を押します。

図13

本当にリストアするのかと念押しされるので、いいのであれば「Yes」を押します。

図14

あとは自動でリストア作業が行われ、進捗状況が画面に表示されます。完了するまでしばらく待ちましょう。

図15

リストア作業が完了すると、成功した旨を示す表示が出てきますので、「OK」を押して「Partition Image」を終了させます。

SystemRescueCDが必要なとき

バックアップもリストアも、非常に簡単な作業でした。パーティションのマウント、アンマウント、リードオンリーの解除さえ忘れなければ、通常は楽に作業を行うことができるでしょう。

ただ、「Partition Image」は問題ないのですが、実は「KNOPPIX」に問題が出る場合があります。

上の例では、「KNOPPIX6.0.1」を使いましたが、「KNOPPIX6.0.1」はグラフィックの解像度が普通のノートパソコンにしか対応しておらず、ネットブックのモニタなど、縦に狭い解像度になっているパソコンでは、「KNOPPIX」がまともに表示されません。
実際、HPの「HP 2133」で「KNOPPIX6.0.1」を動かしたところ、画面に表示されるのがデスクトップの左上4分の1くらいで、メニューなどが表示されないため、何もできない状況になってしまいます。(画面に表示されていない部分をマウスで探り当てて作業していくのは可能かも知れませんが…)

また、「HP2133」では「KNOPPIX5.3.1」で「Partition Image」を実行すると、バックアップが30%ちょっとまで進んだところでブラックアウトしてしまい、バックアップが正常に完了しませんでした。

「KNOPPIX」上の「Partition Image」でうまくいかない場合は、「SystemRescueCD」を使用しましょう。
「SystemRescueCD」も、「KNOPPIX」と同様にISOファイルをダウロードし、CD-Rに焼いてCDブートさせて使用します。

「SystemRescueCD」でも「Partition Image」の使い方は同じなのですが、「Partition Image」を実行するまでの前準備が異なります。
「SystemRescueCD」はCUIなので、自分でコマンドを叩いてバックアップ先、リストア元となるイメージファイルのあるパーティションをマウントしてやらなければなりません。

起動後、ntfs-3gというNTFSドライバを指定してバックアップ先、リストア元のパーティションをマウントしてください。
パーティションのパスは、次のコマンドで確認しましょう。
root@sysresccd /root % cat /proc/partitions

とりあえず、「/mnt/backup」にでもマウントすればいいでしょう。
root@sysresccd /root % mount -t ntfs-3g /dev/hdb2 /mnt/backup

あとは、コマンドを入力して「Partition Image」を起動します。
root@sysresccd /root % partimage

イメージファイルを指定する「Image file to create/use」でのパスが、上記でマウントしたパスになることに注意してください。
/mnt/backup/Backup/OS/WindowsXPSP3

ほかは「KNOPPIX」のときと同様です。

(2009.04.18)