間違いだらけの備忘録

このページの内容は無保証でありこのページの内容によって直接、または間接に損害を受けられたとしても私は責任を取りません。

シングルCPUからマルチプロセッサPCへの移行

WindowsXPでのHyperThreading有効化
http://www.orio-n.net/winxp_ht_enable.htm

現在、どのHALが使われているかは、デバイスマネージャで「コンピュータ」の項目が何になっているかで判別できる。

「ACPIユニプロセッサPC」として認識されている場合、デバイスドライバを「ACPIマルチプロセッサPC」へと変更することでHyperThreading対応HALへの変更が可能だが、それ以外の場合には、互換性の問題から、単純にはHALを変更することができない。ただし、「ACPI(Advanced Configuration and Power Interface)PC」として認識されている場合で、かつ、APICをサポートしているマザーボードなら、ややトリッキーな方法ながら、HyperThreading対応HALへの切り替えを行うことができる可能性があり、実際に、数台のPCにて変更に成功した事例がある。

ACPIユニプロセッサPC用のHALである halaacpi.dllと、ACPIマルチプロセッサPC用のHALである halmacpi.dllを準備する。WindowsXPのCD-ROMの i386フォルダ内に halaacpi.dl_ とhalmacpi.dl_として圧縮されているので、expandコマンドにて展開する。別途サービスパックを適用している場合、適用したサービスパックに対応する適用実行ファイルをコマンドプロンプトにて /xオプション付きで実行してファイルを展開すると i386フォルダ以下に halaacpi.dl_ とhalmacpi.dl_ が存在しているはずなので、同様にして expandコマンドで展開。
1.にて用意した halaacpi.dllと halmacpi.dllを、WindowsXPのシステムフォルダ(デフォルトならC:\WINDOWS\system32)へコピーする。
C:\boot.iniを編集。デフォルトでは隠しファイルとなっていて見えないが、「システムのプロパティ」→「詳細設定」タブ→「起動と回復」の「設定」ボタン→「編集」ボタンでboot.iniの編集を行うことができる。編集内容は以下の通り。
[operating systems]セクション以下、 「multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=...」となっている行を複製する。
複製した行の最後に「/hal=halaacpi.dll」を追加。ダブルクオートで囲まれた部分の記述を、元の行と区別するため変更しておくとよい。

HyperThreadingの記事だが、シングルCPUからX2への移行も同様に行えた。

このページにはhatena以外のサービスからのコンテンツが埋め込まれています。 hatenaによりGoogle AdSense 広告が埋め込まれています。