Hisashi Morita ([info]hisashim) wrote,
@ 2006-02-19 23:53:00
Previous Entry  Add to memories!  Tell a Friend!  Next Entry
[Memo][Tip][Windows][SysAdmin] Knoppixとpartimageを使ったWindows PCの移行手順
Knoppixとpartimageを使ったWindows PCの移行手順
==============================================

Windows PCのハードウェアを入れ替えるときにOSをインストールし直すのは面倒。Knoppixとpartimageを使ってWindowsをパーティションごと移行するときの手順をメモしておく。

注意事項: 他の環境でもうまくいくとは限らないので自己責任で。あとライセンスに注意。

なお、移行元の古いほうのPCをoldpc, 移行先の新しいPCをnewpc、ファイルサーバをfileserverとする。WindowsのバージョンはWindows 2000 SP4で、パーティションの種類はNTFS(NTFSのバージョンは不明)。Knoppix 4.0 (ja), partimage 0.6.4を使用。

追記: Windows XP SP2でも試したものの、完全な成功例はなし。パーティションのリストアはできたもののブートできなかったり、リストア対象以外のパーティションが消去されたりというケースがあった。Windowsのインストールメディアで復旧インストールをすればブート可能になるケースもあるけれども、おすすめできない。Windows 2000からXPにアップグレードしたPCで成功した例があるそうなので、Windows XPのNTFSが新しすぎてpartimageが対応できていないという可能性を疑っている。ddを試すべきか。

前準備
------

  1. Windowsファイル共有でアクセスできるファイルサーバを用意する。

  2. 時間を節約するために、不要なアプリケーションをアンインストールするなどして、oldpcのデータを減らす。こういうときはディスク消費を視覚化してくれるSpaceMongerが便利(du, xduに相当)。

  3. partimageのNTFSサポートは現在まだ実験的なものなので、一応oldpcのディスクをデフラグする。

  4. 万一に備えてoldpcのデータを他の方法でバックアップする。必要ならnewpcにプリインストールされたデータもバックアップする。

  5. newpcのハードウェア構成を調べ、新しいハードウェアで起動した時のために、newpcのハードウェアをWindowsで使うための各種ドライバを集めてCD-Rに保存する。特にNICのドライバを忘れないように。ネットワークさえつながればあとはなんとかなる。

  6. 追記: Administratorのパスワードを紙に控えておく。復旧インストール等で必要になる可能性がある。


バックアップ
------------

  1. oldpcをKnoppixで起動する。起動プロンプトには次のように入力。
    knoppix noswap 2

    Linuxのスワップパーティションがあってもディスクにアクセスしてほしくなく、GUIが不要な場合はこう指定すればいいらしい。
    今回使ったKnoppixはなんだか無理に日本語を表示しようとして失敗しているようだったので、export LANG=Cして英語表示で作業をした。

  2. Knoppixで動作しているoldpcから、ファイルサーバfileserverをマウント。
    # smbmount //fileserver/jdoe /mnt -o username=jdoe

  3. 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 ...のように連番が付いたファイルに自動的に分割されて保存される。

  4. 問題なく書き込みが終わったらバックアップは完了。oldpcは終了してよい。
    120GB程度のパーティションに入った約8GBのデータを100BASE-TX経由で非力なファイルサーバに保存した場合で、1~2hくらいかかる。パーティションのサイズは問題ではなく、データサイズに左右される模様。あとネットワークの転送速度。


リストア
--------

  1. newpcをKnoppixで起動する。

  2. newpcからファイルサーバfileserverをマウント。

  3. partimageでパーティションをリストアする。
    リストア元のファイルは/mnt/oldpc-w2k-hda-yyyymmdd.000などと指定する。
    ここで/mnt/oldpc-w2k-hda-yyyymmddと指定すると、ファイルが見つからないと文句を言われるので注意。一番若い連番が付いたファイルを指定すること。残りのファイルは自動的に見つけて適当に処理してくれるので大丈夫。
    リストアには、バックアップとだいたい同じかやや短いくらいの時間がかかる模様。

  4. partimageでMBRをリストアする。
    MBRをリストアするという項目にチェックを付けて、リストア元のファイルとして/mnt/oldpc-w2k-hda-yyyymmdd.000を指定すればよい。
    ここでMBRをリストアしないと、Windowsがブートローダまでしか起動せず青画面になってしまう。最近のFDDなしのPCでは、Windowsの修復ディスクを用意しても読む手段がなく、修復インストールで強引に乗り切ることが難しいので注意。
    ディスクの種類やパーティションのサイズが違うが本気かと何度も念を押されるけれども、適当にYesと答える。

  5. パーティションとMBRを両方とも問題なくリストアできたら、リストア完了。Knoppixを終了する。

  6. Windowsでnewpcを起動して、ドライバ類を更新する。

  7. しばらく運用して問題なければ、oldpcを処分し、fileserver上のバックアップファイルを消去する。


以上。ほかにも途中いろいろ聞かれるけれども、適当に答えればたいがいOK. というか、何をどう答えても問題ないようにバックアップをしておけばよい。

最初はddあたりでやろうかと思っていたけれども、調べてみると自分にとっては少々プリミティブすぎるうえにNTFSを扱えるか不明だったし、かといってNorton Ghostの類を購入するのは少々大掛かりだと思っていたので、ちょうどよかった。

これまではこういう用事のためにbusyboxを積んだLinuxのインストーラCDを使ったりしていたけれども、Knoppixははるかに便利(当たり前)。



(Post a new comment)

ddとNTFS
(Anonymous)
2006-02-21 06:45 pm UTC (link)
>NTFSを扱えるか不明だったし

dd(この用途だとdd_rescueでもいいのかな)の場合はNTFSだとかFAT32だとかffsだとかext3は関知しないで、単純にif=から読んだデータをof=に流すだけなので、行ける筈です。

(Reply to this) (Thread)

Re: ddとNTFS
[info]hisashim
2006-02-22 12:46 am UTC (link)
ありがとうございます。おっしゃるとおりで、正しく書き直すなら「ファイルシステムにかかわらず処理できるか確信が持てなかったので」とかですね。

今回は移行元と以降先のディスクが全く別物だったことと、僕が算数に弱くてddに渡す正しいパラメータを計算できる自信がなかったことから、諸般よろしく計らってくれるpartimageに頼りました。でもローレベルで対処できるddにも慣れておきたいところです。

(Reply to this) (Parent)


Create an Account
Forgot your login or password?
Login w/ OpenID
English • Español • Deutsch • Русский…