ここから本文です

この知恵ノートを「知恵コレクション」に追加しました。

追加した知恵ノートはMy知恵袋の「知恵コレクション」ページで確認できます。

知恵コレクション」に登録済みです。

再登録しました。

追加に失敗しました。

ノートに戻り、もう一度やり直してください。

すでに1,000件のノートが登録されています。

新しく追加したい場合は、My知恵袋の「知恵コレクション」ページで登録されているノートを削除してください。

追加できませんでした。

ノートは削除されました。

Pentium4マシンにWindows8.1をインストールする方法

ライターさん(最終更新日時:2015/3/11)投稿日:

  • ナイス!:

    5

  • 閲覧数:2055

印刷用のページを表示する

一般論としてsocket478のPentium4にインストールできるのはWindows7の32bit版までという事になりますがパッチで動いたとの話があります。

 

後半にBIOSやチップセットの関係でHAL_INITIALIZATION_FAILEDまたは窓マークで止まるのを回避するヒントを書いています。よければ読んでみて下さい。

  

1台目のマシンは865PE、メモリ1GBを搭載した478マザー
PAE、NXに対応しないPentium M 735が載っています。
グラフィックはGeforce FX5200 128MBです。
HDDは普通のSATA320GBです。

C:にXPが入っていてD:にWindows8.1を入れるのですがWindows Vista以降でないとセットアップできません。非対応マザーなのでセットアップDVDの起動でPAEエラーが出ます。

 

<セットアップDVDが起動しないのを回避>
windows7のPE(コマンドラインとメモ帳が使えます)
からセットアップするような形を取ります。

 

Windows7AIKでPEイメージを作る
それをUSBメモリから起動する
Windows8.1セットアップUSBメモリを挿す
notepadとタイプするとメモ帳が起動する
オープンダイアログからセットアップUSBのsources\setup.exeを
右クリックし管理者でWindows8.1のセットアップします。

 

<コピー終了後の再起動でPAEに引っかかるのを回避>
HDDを対応マザーに取り付けてセットアップを最後まで進める。
終わったら目的のPCに戻す

 

<Windows 8 Patches V1.4でパッチをあてる>
XPでOKです。
オリジナルのntoskernel.exeとwinload.exe
を別フォルダーにコピー
念のためオリジナルを削除
ツールのバックアップのチェックを外して
Remove PAE check-->winload.exe
Remove winload patchguard x86-->winload.exe
Remove SSE2 and NX check -->ntoskrnl.exe

 

<デジタル署名のチェックを無効化する>
PEから起動してWindows8.1のBCDを書き換えます。
Windows8がインストールされた\system32にあるbcdedit.exeを使います。
bcdedit /set {default} NoIntegrityChecks Yes
bcdedit /set {default} RecoveryEnabled No

 

<セーフモードを有効にしましょう>
bcdedit /set {default} BootMenuPolicy Legacy
OS起動選択画面でWindows8.1を選択して8を押すとクラシックメニューが立ち上がります。

 

<最後にファイルを置き換えます>
メモ帳(notepad)を2個開き改造したntoskernel.exeとwinload.exeをD&Dで移動します。

 

<bootmgrとbcd>
BCDはBootMgrの設定ファイルであり256kBの構造を持ったバイナリです。
セットアップDVDは\boot\bcdが読み込まれます。

 

WIMを改造するにはntoskernel.exeとwinload.exeの他にセットアップディスク起動のBCDと初回起動用のBCDを弄る必要がありそうです。

 

システムストア以外のBCDを書き換えるときはStoreオプションを使います。

bcdedit /store e:\winpe\media\boot\bcd
bcdedit /store e:\winpe\media\boot\bcd /set {default} nointegritychecks yes
bcdedit /store e:\winpe\media\boot\bcd /set {default} recoveryenabled no

 

WIMファイルの解凍は7-ZIP(ベータ版)が便利です。

再圧縮はWIMを7-ZIP開いてD&Dで置き換ます。

 

<Imagexを使っても構いません>

Windows7AIKに含まれるNeutral.cabをクリックしてF1_imagexを取り出しimagex.exeにリネームします。

 

imagex /capture E:\temp2\boot E:\temp2\result\boot.wim "ImageFile" /boot /compress max

imagex /capture E:\temp3\install E:\temp3\result\install.wim "ImageFile" /boot /compress max

 

■XPに比べるとやはり重くなります
不要なサービスを止めれば多少軽く出来そうです。
用途によっては512MBでも問題無さそうです。
ビデオドライバーはVista用が使えるようです。
サウンドとLANドライバーはXP用で正常に動作しました。

  

ドカタでWindows8.png

 

 

 

ドカタでWindows8_2.png

■Windows 8 Patches V1.4の技術的な事

 

Winload.exeを逆アセンブルしてみます。
カーネルはアタッチ出来ないらしいのでパッシブにXDWINを使ってみます。

バイナリエデッタと逆アセンブラはうさみみのPEにも付属していますので
編集はこちらを使うのがよいでしょう。

 

0F84C1000000 -->909090909090に書き換えているようです。
405480  50               PUSH    EAX
405481  56               PUSH    ESI
405482  57               PUSH    EDI
405483  E8 1C080D00      CALL    _004D5CA4
405488  F64424 24 40     TEST    byte  ptr[ESP+24h],40h
40548D  0F84 C1000000    JZ      _00405554
405493  6A 08            PUSH    08h

 

PAEエラーで0xC0000260が出る所です。
405554  834B 08 40       OR      dword ptr[EBX+08h],+40h
405558  B8 600200C0      MOV     EAX,C0000260h
40555D  8943 04          MOV     dword ptr[EBX+04h],EAX
405560  5F               POP     EDI
405561  5E               POP     ESI
405562  5B               POP     EBX
405563  8BE5             MOV     ESP,EBP
405565  5D               POP     EBP
405566  C2 0400          RET     0004h

 

CPU情報を読み取るルーチンだと思います
4D5CA4  53               PUSH    EBX
4D5CA5  56               PUSH    ESI
4D5CA6  8B4424 0C        MOV     EAX,dword ptr[ESP+0Ch]
4D5CAA  8B4C24 10        MOV     ECX,dword ptr[ESP+10h]
4D5CAE  0F               DB      0Fh
4D5CAF  A2 8B742414      MOV     byte  ptr[1424748Bh],AL
4D5CB4  8906             MOV     dword ptr[ESI],EAX
4D5CB6  895E 04          MOV     dword ptr[ESI+04h],EBX
4D5CB9  894E 08          MOV     dword ptr[ESI+08h],ECX
4D5CBC  8956 0C          MOV     dword ptr[ESI+0Ch],EDX
4D5CBF  5E               POP     ESI
4D5CC0  5B               POP     EBX
4D5CC1  C2 0C00          RET     000Ch  

 

単に改変しただけではチェックサムが合わないので怒られます。

回避するにはチェックサムを計算してPEヘッダーに書き込む必要があります。

やり方はうさみみハリケーンのUMPEを起動し
PE Editorを起動して編集をクリック
開くをクリックしてWinload.exeを選択
チェックサムを再計算して表示をクリック
書き込み実行をクリックします。

 

■440BXにセットアップを試みるも
Windows8 Developer PreviewはHAL_INITIALIZATION_FAILEDが出ます。
Windows8 Customer Previewは金魚マークでフリーズしたようになります
Windows8.1製品版も窓マークでフリーズしたようになります。
vmwareの古いバージョンでも同じ現象が起きるようです。
技術的にはWindows8が440BX~82371をサポートしなくなった
ためで新しいバージョンを使うかBIOS.440.ROMをアップデートすれば良いらしい。

 

開発者向けのリリース以降エラー画面を省略しているのかもしれません。IGP320や440BXといった古いチップセットで使うにはどうすればよいでしょうか?

 

■HALはある意味マザーボードのドライバーです
一種の仮想マシンと呼んでもよいでしょう。マザーボードごとに異なるハードウェアを抽象化しWindowsの動作に必要なデバイスを提供します。

 

8DP
934e2cdf3e087d84afebd8087ccecb01
934e2cdf3e087d84afebd8087ccecb01

 

8.1
b64db101952c115d392ffa55ab499afc
b64db101952c115d392ffa55ab499afc

 

Windows8系のHALとHALMACPIは同一のファイルのようです。              

 

■AthlonXPのFMV-NB16CAにインストールしてみる

まずhal.dll/halmacpi.dllを調べてみます。

HalpInterruptInitSystem
800476BB                 push    5Ch
HalpDpStartProcessor
80049239                 push    5Ch
HalpPiix4Detect
8004A637                 push    5Ch
HalpInterruptSwapProcessorIdentifiers
8004ACD0                 push    5Ch
HalpAddDevice
8004E2C9                 push    5Ch
HalpReportResourceUsage
800578A8                 push    5Ch
HalpPiix4Detect
80058174                 push    5Ch

HalpAcpiInitializePmRegisters
8005A3FB                 push    5Ch

 

Windows8は82371AB(PIIX4)をサポートしなくなったといわれますがIGP320+M1535チップセットも同様にHAL_INITIALIZATION_FAILEDが出ます。

 

HalpPiix4Detectの所をPush 50に書き換えるとPAGE_FAULT_IN_NONPAGED_AREAに変わったので場所は特定できました。

 

85c078408b9d54fffffff6c301 を検索して0003298D-909090909090と書き換えて保存します。チェックサムを再計算して書き込みます。

 

書き換え場所.PNG

call   HalpGetChipHacks@16; HalpGetChipHacks(x,x,x,x)
test    eax, eax
js      short loc_8004A5C4
mov     ebx, [ebp+var_AC]
test    bl, 1
jnz     loc_8004A626 (0F8593000000 --> 909090909090)
test    bl, 2
jz      short loc_8004A59F
mov     _HalpDisableHibernate, 1

 

セットアップDVDをコピーしたUSBメモリの

bcdedit /store e:\boot\bcd /set {default} BootMenuPolicy Legacy
bcdedit /store e:\boot\bcd /set {default} nointegritychecks yes
bcdedit /store e:\boot\bcd /set {default} recoveryenabled no

を済ませておきます。

 

改造したHALまたはHALMACPIは7-ZIPで開いたe:\sources\boot.wimの\windows\system32にD&Dで上書きします。

 

■セットアップ画面が出ました

 windows8DPがNB16CAで動いた.jpg

初回起動で失敗するのでEnterを押しOS選択画面のF8でDisable Driver Signature Enforcementを選択すれば起動できます。

 

 win8dp_athlonxp.png

 

とりあえずインストールできましたがWindows8以降機能が強化されたため正常に動かない可能性を考え検出した段階で動作を止めるようにしているのかも知れません。

このノートのライターが設定した関連知恵ノート

このノートに関するQ&A

このノートに関するQ&Aは、まだありません。

このノートについて質問する

このノートについてライターの方に質問できます。

※ライターの方から必ず回答をいただけるとは限りません

※別ウィンドウで開きます

ピックアップ

ピアスに関する正しい知識講座 ...
さて、予備知識も蓄えた所で早速本題!ピアスを開けてみまし...
目のクマの本当の原因、その解...
血行不良の原因は?「目のクマ」の原因を探すとすぐに「血行...
大学生必見!年収・生涯賃金の...
大学生の時、何を基準に就職したい会社を決めるかは難題です...
本文はここまでです このページの先頭へ