Windows系は相変わらずインストールだけで時間かかりまくりんぐ。でも手間かかっただけに記録しておく価値がある?
職場のPCを1台、どこでも使えるようにと新調してきました(私が持ってきたわけじゃないけど)。
LenovoのG560という機種で、Core i3・ExpressCard・USB・IEEE1394abgnと、なにげに最新鋭のものです。そのくせ価格は4万6千という破格値。
まぁそれはいいのですが、職場で使っているあるソフトを動作させるのにWindowsXP以前でしか対応してないということで、先のことを考えてWindows7とXPのデュアルブートをできる状態にするようにしてくれ、という依頼が来ました。
まーこのXP化が大変で大変で。結果的にデュアルブートはできたものの、一筋縄ではいきませんでした。
結構長いので、ページ分割します。
参考サイト
- Lenovo G560 Windows7&XP デュアルブート – hikousekiの日記
- Windows XP SP1 のインストールが残り時間約 34 分で応答を停止する
- マルチブートの名前変更方法 | OVAL OFFICE
- Windows 7: ブート マネージャーの OS 表示順を入れ替える – Nire.Com
事前作業
- DドライブにあるWindows7用ドライバフォルダをUSBメモリ等にコピーしておく
- OneKey Recoveryからリカバリディスクを作成しておく(DVD*2)
- Windows7のシステム修復ディスクを作成しておく(CD*1)
必要なソフトウェア
- Windows7 Home Premium 64bit(G560プリインストール)
- Windows7 システム修復ディスク
- WindowsXP Professional 32bit
SATA AHCIドライバ・SP3をnLiteで含めたカスタムCDを作成(後述) - MiniTool Partition Wizard Home Edition
- Lenovo G560 WindowsXP用ドライバ
作業PC
- Fujitsu LOOX R/B70N
- Windows7 Professional 64bit
- XPmode+nLite(後述)
G560のパーティションを区切る
Windows7・WindowsXP・ストレージエリアの3つに区切ります。G560のデフォルトでは、
- Windows7 ブートセクタ(BCD):200MB
- Windows7 メイン:250GB
- LENOVOドライバ:30GB
- リカバリ領域:15GB
となっています。これを以下のように変更します。
- Windows7ブートセクタ(200MB)
- Windows7メイン:(40GB)
- WindowsXPメイン:(40GB)
- 共有ストレージ領域(200GB)
- リカバリ領域(15GB)
実はこれ、仕様なのか1つのHDDに基本パーティションは4つまでなんですが(コンピュータの管理からだとそのように言われる)、Partition Wizardで無理やり5つ以上のパーティションを作成してます。
パーティションの分割作業はすべてPartition Wizardで行ないます。作業フローとしては、
- Cドライブを選択して「Resize」
- パーティションサイズは「4095MB」
- Dドライブを選択して「Delete」
- 240G程度の未設定領域(Unallocated)が出るので、これを選択し「Create」
- パーティションサイズは「4095MB」(XP用)
- 残りのUnallocatedも「Create」しておく(サイズはすべて)
- 「Apply」ボタンをクリックして完了
中途半端なDドライブを消して、共有ストレージ領域に統一しています。Dドライブにあった領域はすべて消えるので、あらかじめあったドライバフォルダはUSBメモリ等に保存しておくようにしてください。
念のため、Windows7の入っているドライブに「Win7Home-64」等の名前をつけといたほうが、あとのXPセットアップでどのパーティションに入れたほうがいいかわかるようにしたほうがいいでしょう。
作業PC上でXPカスタムセットアップディスクを作成
次はいよいよXPのインストールと行きたいところですが、そう簡単にはいきません。引っかかったところと原因としては、
- セットアップ画面に移行する以前の段階でブルースクリーン
→XPがSATA AHCIドライバを読めないため。 - セットアップ残り34分でフリーズ
→有名らしい34分問題。USB関連の障害が主で、SP3で解決済み。 - プロダクトキーが通らない
→Vista・7でnLiteを使うと発生するため、XP機かXPmodeで作成する。
これらを踏まえ、XPカスタムセットアップディスクを作成します。
作業PCはWindows7 Professional 64bitだったので、上記3の問題が該当します。かといって別途XP機を用意するのも面倒なのでXPmodeから作成しました。
作業フロートしては以下のとおり。
Windows Updates DownloaderでSP3をダウンロード
- XPmodeにnLite・Windows Updates Downloader(WUD)をインストール。
- WUDを起動したまま、XPmodeのブラウザからWUD公式サイトに行き、Update Listsをクリック。
- languageは「Japanese」、product一覧の一番下「WindowsXP Service Pack 3」のダウンロードをクリック。
- 自動的にWUDのUpdate Listに追加される(Windows XP Service Pack 3 x86 JPN (2010-03-11)。
- 余計な障害を防ぐため、ダウンロードするのはService Pack 3のみにチェックを入れる。
※他のパッチも当てようとHotfix類をダウンロードして当てたところ、セットアップ画面が出た時点で強制再起動したため。
※ダウンロード先をWindows7側のドライブ(ネットワークドライブ扱い)でも大丈夫。 - SP3をダウンロード。
SATA AHCIドライバをダウンロード
- SATA AHCIをダウンロード。ダウンロード先は「Lenovo Support – Intel SATA controller AHCI driver for Windows 7 (32-bit), Vista (32-bit), XP – ThinkPad Edge 14, Edge 15, Edge E40, Edge E50, L412, L512」
- 自動解凍書庫形式なので、Universal ExtractorかWinRAR等で中身を取り出しておく。
nLiteで統合ディスク作成
- ドライブにWindowsXPのCDを入れ、VirtualPCの設定から光学ドライブを指定。
- nLiteを起動。
- 「参照」ボタンをクリックし、XPのCDが入っているドライブを指定。
- 直後に吸いだしたXPの保存先を指定するダイアログが開くため、適当な場所を指定。
※このときWindows7側のドライブを指定すると「空き容量が十分ではありません~」というメッセージが出るが、そのまま進めても大丈夫。 - プリセット画面はそのまま次へ。
- タスクの選択画面は「サービスパック」「ドライバ」「ブータブルISOイメージ」のみチェックして次へ。
- サービスパック画面でさっきダウンロードしたSP3を指定。処理完了後次へ。
- ドライバ画面では、追加→ドライバフォルダを選択し、ダウンロードして中身を取り出したSATA AHCIドライバの場所を指定。
universal extractorの場合「80sa08ww」というフォルダができるので、それを指定。 - 「統合フォルダの選択」ダイアログが表示されたら、「~{app}」の方を選択。
- ドライバ統合オプション画面で「Textmode 統合オプション」一覧の一番上、「Intel(R) 5 Series 4 Port SATA AHCI Controller」を選択し、OKをクリック
- あとは統合処理をしてISOイメージを作成し完了。
- できたISOイメージをImgBurn等でCDRに焼く。容量は700M程度なのでCDで十分。
XPカスタムセットアップディスクを使ってG560にXPをインストール
ここまで下準備すれば特に作業することなくG560に無事XPをインストールできます。ちなみにG560でのCD起動はBIOSチェック時点でF12キーを押すか、BIOS設定画面でブート順序をCD優先にしておきます。
XPをインストールすると、Windows7のブートセクタが上書きされ、この時点ではWindows7が起動できなくなります。
なので、あらかじめ作成した「Windows7のシステム修復ディスク」を使ってブート領域を復旧します。
Windows7のシステム修復ディスクを入れて起動すると、修復メニュー画面が表示されるので、「スタートアップ修復」をクリックすればOK。
BCDEDITで起動設定を変更する
これで最後のステップ。システム修復ディスクを使うと今度はXPが起動できなくなります。しかしXP自体は生きているので、ブート情報を編集するBCDEDITというコマンドを使って起動設定を編集します。
BCDEDITはコマンドプロンプト(DOS)画面で行ないます。管理者用DOSである必要があるため、「スタート」→「すべてのプログラム」→「アクセサリ」→「コマンドプロンプト」を右クリックし、「管理者として実行」をクリックで起動します。
OS選択画面にXPを追加
bcdedit -create {ntldr} -d "Microsoft Windows XP Professional SP3 32bit"
bcdedit /set {ntldr} device partition=\Device\HarddiskVolume1
bcdedit -set {ntldr} path \ntldr
bcdedit -displayorder {ntldr} -addlast
エラーなく入力が終了し、再起動してリストに「Microsoft Windows XP~」が出れば成功です。
登録された状況を確認するには、管理用DOSを起動し「bcdedit」と打てば表示されます。
ついでにWindows 7の名前も変更してみる
XPは長々と書いてるけど7は「Windows 7」としかなくて寂しいと気になってる方へ。
bcdedit /set {current} descripton "Microsoft Windows7 Home Premium 64bit"
OSの表示順序を変更する
Windows XP・Windows 7の順に表示したいとき。
bcdedit /displayorder {ntldr} {current}
bcdeditコマンドで一覧を出したときに表示される「identifier」の値をdisplayorderオプションを付けて指定すれば表示順が変わります。
ただし、起動優先順序が変わるわけではありません。
OSの起動優先順序を変更する
上の設定で表示順序を変えても、起動のデフォルトはWindows7のままです。これをWindowsXPにするには、「スタート」→「コンピュータ」右クリック→「プロパティ」→「システムの詳細設定」→「起動と回復」の設定ボタンをクリック。
規定のオペレーティングシステムをWindows7からWindowsXPに変えれば優先順序が変わります。
G560のWindowsXPドライバについて
私が対応したG560は「G560 0679」という機種で、同じ型番でも内部で使用しているチップが違ったりしています。今回の設定では以下のXP用ドライバを使用しました。
- Conexant オーディオ ドライバー Windows XP
- Intel Graphics Media Accelerator ドライバー Windows XP
- Intel オンボード グラフィックス ドライバー Windows XP
- Intel チップセット ドライバー Windows XP
- Intel マトリックス ストレージ マネージャー ドライバー Windows XP
- Intel マネージメント エンジン インターフェース Windows XP
- Lenovo OneKey Recovery Windows 7 32ビットXP
- Lenovo エナジー管理 Windows XP
- Ready Comm Windows XP
- Realtek USB 2.0 カード リーダー ドライバー Windows XP
- Realtek イーサネット ドライバー Windows XP
- Veriface Windows XP
- YOUCAM Windows XP
- カメラ ドライバー Windows XP
- タッチ パッド ドライバー Windows XP
- ワイヤレス Lan ドライバー Windows XP
XP用OneKey Recovery等のアプリケーション関係の動作確認はしていませんが、一応管理画面のデバイスは上記のものを入れることで全て解決しています。一部、.net Frameworkが必要なものもあり、導入する順序としては、チップセットドライバ・イーサネットドライバ・Microsoft Update・その他のドライバ・関連するアプリケーション類、としたほうがいいでしょう。
XP使用時の問題点
最後に、XP化した際に起きた問題点を書いておきます。
ネットワークの認識がちょっと遅い
OSが起動してからネットワークに繋がるまで、ちょっとしたラグがあります。ログをみてもよくわからないので原因不明。
Windows7のブートセクタがCドライブとして認識されてしまう
Windows7で使用しているブート用領域(200M)が、XPだと普通のドライブとして認識してしまいます。ドライバの展開先に勝手にCドライブを使うこともあり、ドライブレターの変更を試そうとしたのですが、OSが起動しなくなったりしたので現在は処置なしの状態です。
ブートを管理できるソフトがあるらしいのですが試していません。
作業お疲れ様です。
興味のある内容でした。