Knoppixとpartimageを使ったWindows PCの移行手順
========================================
======
Windows PCのハードウェアを入れ替えるときにOSをインストールし直すのは面倒。Knopp
ixとpartimageを使ってWindowsをパーティションごと移行するときの
手順をメモしておく。
注意事項: 他の環境でもうまくいくとは限らないので自己責任で。あとライセンスに注意。
なお、移行元の古いほうのPCをoldpc, 移行先の新しいPCをnewpc、ファイルサーバをfileserverとする。Wi
ndowsのバージョンはWindows 2000 SP4で、パーティションの種類はNTFS(NTFSのバージョンは不明)。Knop
pix 4.0 (ja), partimage 0.6.4を使用。
追記: Windows XP SP2でも試したものの、完全な成功例はなし。パーティションのリストアはできたもの
のブートできなかったり、リストア対象以外のパーティションが消去されたりというケー
スがあった。Windowsのインストールメディアで復旧インストールをすればブート
可能になるケースもあるけれども、おすすめできない。Windows 2000からXPにアップグレードしたPCで成功した例があるそうなので、Windo
ws XPのNTFSが新しすぎてpartimageが対応できていないという可能性を疑っ
ている。ddを試すべきか。
前準備
------
- Windowsファイル共有でアクセスできるファイルサーバを用意する。
- 時間を節約するために、不要なアプリケーションをアンインストールするなどして、oldpcのデータを減らす。こういうときはディスク消費を視覚化してくれるSpaceMongerが便利(du, xduに相当)。
- partimageのNTFSサポートは現在まだ実験的なものなので、一応oldpcのディスクをデフラグする。
- 万一に備えてoldpcのデータを他の方法でバックアップする。必要ならnewpcにプリインストールされたデータもバックアップする。
- newpcのハードウェア構成を調べ、新しいハードウェアで起動した時のために、newpcのハードウェアをWindowsで使うための各種ドライバを集めてCD-Rに保存する。特にNICのドライバを忘れないように。ネットワークさえつながればあとはなんとかなる。
- 追記: Administratorのパスワードを紙に控えておく。復旧インストール等で必要になる可能性がある。
バックアップ
------------
- oldpcをKnoppixで起動する。起動プロンプトには次のように入力。
knoppix noswap 2
Linuxのスワップパーティションがあってもディスクにアクセスしてほしくなく、GUIが不要な場合はこう指定すればいいらしい。
今回使ったKnoppixはなんだか無理に日本語を表示しようとして失敗しているようだったので、export LANG=Cして英語表示で作業をした。
- Knoppixで動作しているoldpcから、ファイルサーバfileserverをマウント。
# smbmount //fileserver/jdoe /mnt -o username=jdoe
- partimageを起動して、移行したいパーティションをファイルとして保存する。
# partimage
partimageはUIがまともなので、適当に操作していれば使えてしまう。
保存先のファイル名は何でもいい(例: /mnt/oldpc-w2k-hda-yyyymmdd)。
なお、保存先ファイルはデフォルトのまま2GB程度で分割する設定にしておいたほうがよい。1ファイルにすると途中でファイルが大きくなりすぎて失敗することがある。oldpc-w2k-hda-yyyymmddというファイル名を指定すると、oldpc-w2k-hda-yyyymmdd.000 oldpc-w2k-hda-yyyymmdd.001 ...のように連番が付いたファイルに自動的に分割されて保存される。
- 問題なく書き込みが終わったらバックアップは完了。oldpcは終了してよい。
120GB程度のパーティションに入った約8GBのデータを100BASE-TX経由で非力なファイルサーバに保存した場合で、1~2hくらいかかる。パーティションのサイズは問題ではなく、データサイズに左右される模様。あとネットワークの転送速度。
リストア
--------
- newpcをKnoppixで起動する。
- newpcからファイルサーバfileserverをマウント。
- partimageでパーティションをリストアする。
リストア元のファイルは/mnt/oldpc-w2k-hda-yyyymmdd.000などと指定する。
ここで/mnt/oldpc-w2k-hda-yyyymmddと指定すると、ファイルが見つからないと文句を言われるので注意。一番若い連番が付いたファイルを指定すること。残りのファイルは自動的に見つけて適当に処理してくれるので大丈夫。
リストアには、バックアップとだいたい同じかやや短いくらいの時間がかかる模様。
- partimageでMBRをリストアする。
MBRをリストアするという項目にチェックを付けて、リストア元のファイルとして/mnt/oldpc-w2k-hda-yyyymmdd.000を指定すればよい。
ここでMBRをリストアしないと、Windowsがブートローダまでしか起動せず青画面になってしまう。最近のFDDなしのPCでは、Windowsの修復ディスクを用意しても読む手段がなく、修復インストールで強引に乗り切ることが難しいので注意。
ディスクの種類やパーティションのサイズが違うが本気かと何度も念を押されるけれども、適当にYesと答える。
- パーティションとMBRを両方とも問題なくリストアできたら、リストア完了。Knoppixを終了する。
- Windowsでnewpcを起動して、ドライバ類を更新する。
- しばらく運用して問題なければ、oldpcを処分し、fileserver上のバックアップファイルを消去する。
以上。ほかにも途中いろいろ聞かれるけれども、適当に答えればたいがいOK. というか、何をどう答えても問題ないようにバックアップをしておけばよい。
最初はddあたりでやろうかと思っていたけれども、調べてみると自分にとっては少々プ
リミティブすぎるうえにNTFSを扱えるか不明だったし、かといってNorton Ghostの類を購入するのは少々大掛かりだと思っていたので、ちょうどよかった。
これまではこういう用事のためにbusyboxを積んだLinuxのインストーラCD
を使ったりしていたけれども、Knoppixははるかに便利(当たり前)。