WindowsXPからWindows7への大量展開

今後の自分、あるいはココへたどり着いた方へのメモを記します。

今回のプラクティス

  • WindowsXPからWindows7へ100台↑規模の展開・データ移行を行う
  • 移行の主な内容はMyDocument、デスクトップ、お気に入りフォルダ。OutlookExpressはWindowsLiveMailへ、Outlook2003はOutlook2010へそれぞれ移行。
  • マスターとなるアカウントを設定されたマスターPCを受領し、それをイメージ展開する

ポイント

  • Winodws7は展開後SIDの複製が必須。
  • スクリプト等で自動化した部分は最終的なチェックは目視で必要。
  • 移行元PCが健全でない(ファイル、OE等)も考慮し、あらかじめ対応に合意を得る。
  • 7のマイピクチャ、ミュージックなどはXPと扱いも表示も違う。
  • 2011/10/03追加:展開に必要な再イメージング権を使う為ボリュームライセンスを最低限数購入する必要アリ。
  • 2011/10/03追加:Windows7のマスタPCはプリインストールではなく、一度VL媒体からインストールしなおしたOSを使う事(ライセンス規約より)

ワークフロー

  1. 依頼元と作業要件の合意
  2. マスターとなるPC(アカウント)を作り込む
  3. Sysprepを用いてマスターの配布準備(一般化、Generalizeと表記される)
  4. 市販のイメージ配布ツールで大量展開
  5. OS及びOffice等MS製品の認証
  6. バッチ及びスクリプトでデータ移行を実施
  7. データが正しく移行されたかを検証する
  8. 後処理

工程の詳細

1.
依頼元からの要件を吟味し、それぞれの項目についてお互い合意する。
それぞれの項目についてイレギュラー発生の場合の対処を相談、決定しておく(元ファイルが読めない、構造の破損など)

2.
依頼元がおこなう。

3.
XPでは容認されていたSIDの重複(単純なイメージコピーにより起こる)が、Windows7ではMicrosoftサポート対象外となる。SID複製の主な手段は二つ

  • MS Sysprepによるマスターの一般化(SIDの初期設定プロセスを走らせる)
  • Norton Ghost Walkerやその他ツールによるSIDの変更

sysprepはマイクロソフトが唯一認めるSIDの変更手段である。マスタイメージ取得直前に”\Windows\System32\sysprep\sysprep /generalize /oobe /shutdown”を実行、そのイメージを展開する事で展開後の各クライアントでSIDの生成処理(OOBE内にて)が実行される。ただし今回は作り込まれたアカウントに何らかの要因があり、sysprep後リブートを繰り返す事となった。後述。

今回はもう一つのNorton Ghost Walkerを使用。過去XP時代には他のSID変更ツールも有ったみたいだけど探す限り今はこれだけらしい。ただしNorton自身もSIDの変更にはSysprepを推奨。これも後述。

4.
Norton Ghostを使用。どれか1台をサーバ役としてGhostCastとDHCPサーバ(JumboDog)をインストール。クライアントは今回CDでDOSブート。NICの認識結果によりDOSかWinPEを選択するが、WinPEの方が書き込み速度は速そう。Ghost WalkerでSIDを変更する場合は配布後にWinPE上で行う必要あり。DOS版のGhstwalk.exeや展開後のOS上でGhWalk32.exeでやってもダメ。
GhostのLAN配布(GhostCast)についてはSymantec Ghost & XP sysprep | 徒労日記参照。

Symantec Enterprise Support>マニュアル>Symantec Ghost 実装ガイド(Ghost_imp_guide.pdf)

5.
VA3.0により、OS及びOffice製品は再認証が必要。今回はMAKを使用。MAKライセンス数はVLSC(ボリューム ライセンス サービス センター)又はVMAT(参考:ボリューム アクティベーション 2.0 – MAK ライセンス認証について – Ask CORE – Site Home – TechNet Blogs)により確認できる。足りない場合はVLSC又は電話にて追加できるが、過去120日以内に追加した場合などは電話では追加できず、米国へのメールによる追加申請を言い渡される。その場合5営業日かかるので注意が必要。アクティベーションの猶予は最初3日あり、その後30日となる(条件不明)

6.
WindowsXPからWindows7への大量展開(バッチ編) | 徒労日記

7.
移行処理でデータを欠落させている可能性がある。作業後にその確認を必ず行う。

  • ファイルコピーではクラスタの破損等により読み飛ばしが起こる。ログを取り確認を行う
  • OutlookExpressの問題は後述
  • Outlookは.pstさえ移せば割とまともに移る。

8.
端末個別の設定、プリンタの再設定など。プリンタ定義をrundll32を使って引き継ぐ方法は今は使えない模様。最後に作業のクロージング。依頼元の望む完了の形については開始前に打ち合わせておく。チェックリストなどを必ず用意し、成果物や残作業などに漏れがない様チェックを行う。

問題点と対策

・Sysprepの失敗と対応

今探したら修正プログラムが出ている模様。

別のコンピューター上のイメージを展開しようとすると、Windows 7 または Windows Server 2008 R2 イメージ展開プロセスを停止します。


Windows 7 または Windows Server 2008 R2 では、システム準備ツール (Sysprep.exe システム イメージを作成する) を実行します。その後、別のコンピューター上のシステム イメージを展開してみてください。ただし、他のコンピューターの最初の再起動後直ちにイメージ展開プロセスを停止します。また、次を示すダイアログ ボックスが表示されます。

Windows は、システムの構成を完了できませんでした。

メモこの問題は、元のオペレーティング システムには、8 KB より大きい、レジストリ キーが含まれている場合に発生します。

もう少し早く見つけていれば・・・。今回使用したSID変更ツールもごく希に下記の題問が発生する模様。完全には変更しきれないという事なのかも。

一 時プロファイルを使用して、Windows Vista ベースまたは Windows 7 ベースのコンピューターにログオンすると、エラー メッセージ:”のユーザー プロファイル サービスは、ログオン失敗しました。 ユーザー プロファイルをロードできませんできません」

対策:
基本的にはSysprepを使用し、それが出来ない場合は問題となるプロファイルについてどうするか依頼元と相談が必要。

・OutlookExpressの不健全性
今回一番の問題となった。

■OutlookExpressのデータ破損
OEの設計自体に問題がある為、移行元データが健全で無い場合を必ず考慮する必要がある。

.dbxが2GBを超える場合、件数が5000通をこえる場合、古いメールがある場合、インポートが失敗している可能性がある(完了のメッセージは出るが、実際は数が減っている)。

対策:
フォルダの件数が多すぎ・大きすぎな場合、数個のサブフォルダに分割すると上手くいく事が多い。それでもドロップする場合、元フォルダに駄目なメールがあり、それが癌となっている。分割をどんどん細かくしていき、駄目なメールを突き止めそれを避ければ移行はできる。
ただし読めないデータはどうしようもないので移行出来ないデータの取り扱いを予め合意を得る。

■アドレス帳のデータ移行不良
アドレス帳(.wab)移行はウィザードで行うが、移されない項目があり調整はできない。又、同じレコードが重複して何件か入ったり、/などの記号が入ったレコードは名前が途切れたりと改変される。元と先で件数が合わない(あらかじめ取り除く事により、移行件数が増える事もある)

対策:
CSV形式で全てのレコードをはき出す事はできる。その場合グループが無くなる為、どちらを優先するか予め決定しておく。

■OutlookExpressとLiveMailの違い

LiveMailへインポートしたデータは「インポートされたフォルダ」に入り、フォルダ構造も引き継がれる。ただし、それをそのまま受信フォルダの下へd&dで移動する事はできない(製品の仕様)。また、振り分けルールの移行は出来ない(製品の仕様)。アドレス帳に「フォルダ」は移行されず、グループのみが「カテゴリ」として引き継がれる(製品の仕様)

対策:
フォルダ構成の再構成とデータの移動操作が必要。手作業の為、かなり工数が増加するので事前に取り決める(人により山のようにフォルダを作っている為、かなり時間を消費する。
アドレス帳のフォルダは事前にグループに変更する必要がある。これも手作業の為同上。

まとめ

何回も合意合意と書いているが、結局は「どこまでやるか」に関係してくる。全てを対応していては工数は雪だるま式に増えて行くばかりだからだ。
コピー&自己チェック機能がある専用のツールなどを開発できれば別の話だけど。

2 thoughts on “0

  1. 身近でsysprepを使った事例見たことなかったので参考になった。

    お客様からOEのメールが移ってないって言われるのは5000通の問題なのね。
    受信トレイ下に別フォルダ作ってメールをコピーして移行したら成功しやすい。

    先日Windows転送ツール使ってみたけどうまくいかないね。
    Winxp→Win7
    OE→WindowsLiveメール

  2. ▽ootomo
     5000通なのが悪いワケではないね。ただ添付ファイルの関係で今回は
    5000通超えたフォルダ(.dbxファイル)が2GBに近づいてる事例が多かったと。
    単にサブフォルダに分けて上手く行く事もあれば、一通の不良元メールにより
    それ以降のインポートが中断される場合もあった。

    転送ツールでフォルダが引き継がれないかもテストしてみたけどダメだった。
    あと試すとすればOE(XP)→Outlook2003(XP)→Outlook2010(7)→LiveMail(7)
    くらいかな。あほくさw