Windows 2000 拡張カーネル v2.8f5 リリースについて
拡張カーネル v2.8f5 リリースしました
今回も微修正です
・Windows XP/Vista 以上の互換モードでadvapi32.dllを使うアプリケーションを起動したとき、クラッシュすることがある不具合を修正。
Windows 2000 Kernel32 改造計画【BM】
今回もファイルの差し替えで同じファイル名です
L77EAA537: mov ecx,[ebp-10h] mov fs:[00000000h],ecx pop edi pop esi pop ebx leave cmp word ptr [esp+02h],7949h <- ADVAPI32.DLL の上位アドレス + 1 jz L77EAA577 cmp word ptr [esp+02h],77E7h <- KERNEL32.DLL の上位アドレス + 2 dd L77E70224 jz L77EAA577 push eax mov eax,fs:[00000030h] cmp byte ptr [eax+000000A4h],05h jc L77EAA576 jz L77EAA56D L77EAA569: pop eax retn 0030h ;------------------------------------------------------------------------------ L77EAA56D: cmp byte ptr [eax+000000A8h],00h jnz L77EAA569 L77EAA576: pop eax L77EAA577: retn 002Ch |
ローカライズする場合の注意点です・ω・
いつものサンプル
背景が描画されない
マウスで動きます多分OK
新たに動くようになった
シンプルだけどこれでOK
うねうね動きます
これもOK
これもOK
動いてるけど、なんだか動作がおかしい気がするので「◎」にはしなかったサンプル
惜しい、もうちょっと
Windows 2000 hfslip RC15e 環境に v2.8f5G を関数無効化チェックを全部はずし自己証明を有効にして導入した環境でまたもVLCでトラブルです
mp4_h264_aac.mp4 を再生すると今度はCPU100%占有状態になります
v2.8f5G をアンインストールして再生するとCPUはほとんど使われません
オプションは本当に上記のみでDirectX10はビデオカードが対応してないのでチェックは入れていません
よほど日ごろの行いが悪いのか…………変なものばかり書き込んで申し訳ありません
関数無効にチェック入れて、どの関数が有効だと問題か判断できませんか?
BSoD(c000021a Unknown Hard Error)が出ます。
safeモードと回復コンソールも同じ症状です。
起動バーが伸びて通常のデスクトップ背景色になった当たりで突然電源LEDが消灯して青画面。
(f3までなら正常なのでハードウェア上の故障はないと思います)
非ゲーム2.8f3に非ゲーム2.8f5を上書き(必ず発生)
オプションは一切変更していません(いつもは関数無効のチェックを全て消して使っています=f3。
レポのために全デフォルトで試しましたが現象はかわりません)
青画面で全く操作が出来ずアンインストールも不可能なのでkernel32.dllを$NtUninstallKB935839-v28f5$からwinnt類に3カ所に上書き(win98使用)することで正常に起動、アンインストールできるようになりました。(7/15分に6/30上書き)
f4を試す前にf5がリリースされたのでf4に関してはわかりません。
>関数無効にチェック入れて、どの関数が有効だと問題か判断できませんか?
切り分けを行いました
ConditionVariable 系のみを有効にした場合の現象の再現を確認しました
逆に ConditionVariable 系のみを無効にした場合に現象が発生しない事を確認しました
f5ですが、
VistaMUI無効:チェックあり
自己署名有効:あり
QuerySystemProcess:修正しない
MSVCRT:6系列
COMCTRL:5.82
関数無効化:全てオフ
再起動後、ログイン画面の直前(ダイアログが出る前?)に落ちます。
SafeModeすら起動できない状態になり、仕方なく(何度も)Installし直す羽目に・・・・。
>SafeModeすら起動できない状態になり、仕方なく(何度も)Installし直す羽目に・・・・。
回復コンソールでファイルリネームして復元できるようにすると安心です。
もしかすると特定アプリでXP互換モード有効にしたままレジストリが残ってるのが原因かもしれません
関数無効化すべてオフにすると、Vista向けアプリが一部動作するようになりますが、2000用やXP
用アプリで障害が出ることがあるのであまりお勧めしません
それとゲーム非対応版は、Win2000の互換性無視した設定もあるので、安定して使う場合はゲーム対応版を使うようにしてください。
可能なら、ゲーム対応版で現象が起こるか見て頂けると切り分けがしやすくなります
よろしくおねがいします
ConditionVariable 系 のVista関数はイベント発生待ち処理する関数なのですが、
XP以降じゃないと完全な実装ができないので、障害が出る様なら無効にしてみてください。
CPU使用率が高くなるだけで、操作不能ではないのなら応急処置してみますが、
操作不能になっているなら対応が難しいです
>CPU使用率が高くなるだけで、操作不能ではないのなら応急処置してみますが、
>操作不能になっているなら対応が難しいです
ご返事ありがとうございます
現状としては搭載されたCPUをすべて占有するだけですね
その影響で音声だけ流れて画が更新されなかたりカクついたりはありますが不思議と操作不能にはならずマウス等もスムーズでした
なので当初はVLCが単純に異常動作をしたのかと思ってました
>回復コンソールでファイルリネームして復元できるようにすると安心です。
これについて、もう少し詳しく教えて頂けませんか?
1. PCに回復コンソールをインストールしておく
2. Dual Boot で適当に起動できるだけのOSを入れておく
3. Win2000起動ディスクを使う。
4. Windows PE の起動ディスクを作っておく。
2000の起動ディスクがあれば、バックアップフォルダから kernel32.dllをコピーしなおせば
復元可能ですが、フォルダの移動が初心者にはわかりにくいので操作的にやりやすいのは
2か4だと思います。
ゲーム対応版(f5G)にて
>f5ですが、
>VistaMUI無効:チェックあり
>自己署名有効:あり
>QuerySystemProcess:修正しない
>MSVCRT:6系列
>COMCTRL:5.82
>関数無効化:全てオフ
とやってInstallしてみたところ、
>再起動後、ログイン画面の直前(ダイアログが出る前?)に落ちます。
この問題は発生しませんでした。
一応報告まで。
今まで非ゲーム版しか使ったことがなかったのですがゲーム対応版f5Gは大丈夫でした。
オプションそのまま、関数無効チェック全て外しの2パターンで正常起動することを確認しました。
>1. PCに回復コンソールをインストールしておく
インストール済ですが今回の不具合に巻き込まれるとパスワード入力前のタイミングで自動リブートが掛かるので無理でした。
回復コンソールはインストールCDからもブートできるとMSは言ってますね
(私個人はCDからはやったことないですが)
https://support.microsoft.com/ja-jp/kb/229716
「 Windows CD-ROM でコンピュータを起動します。[セットアップへようこそ] 画面で、修復の R キーを押してから、キーボードを選択し、C キーを押して Windows 回復コンソールを起動します。修復するインストール済みの Windows に該当する番号を選択し、管理者のパスワードを入力し、Enter キーを押します。管理者パスワードがない場合は、何も入力せずに Enter キーを押します。 」