色々あってPCを変えることになったので、SSDを換装してWindows 11にアップグレードした。
CPUがIntelからAMDに変わるので、各種ドライバーも一斉に変更が必要になり、デバイスマネージャーで色々と消し、問題なさそうに動作していた。
でも、Windowsセキュリティのデバイスセキュリティで警告が表示されたままだった。
これはコア分離ができないからで、コア分離の詳細にある「メモリ整合性」がオンにできないのが原因だった。
結論からすると、コア分離をオンにできるような状態にはなったものの、
- 再起動するとコア分離がオフになる問題が解消できなかった。
- コア分離をオンにすると、仮想化エンジンが使えなくなる。
という2つの理由から、コア分離オフで運用することにした。
互換性のないドライバー
Windows 7の頃から一度もクリーンインストールをしておらず、過去に使っていた(一瞬使ったかな?というものも含む)ドライバが残っていた。
また、現役で使っているデバイスも一部が対応していないようだ。
具体的には、以下が互換性のないドライバーとして列挙されていたが、これらを読み込まない状態にできた。
ドライバ | ベンダー | 参考サイト | 備考 |
---|---|---|---|
BrUsbSib.sys | Brother | Brotherの家庭用複合機で使われているであろうドライバ。 USB接続していないので削除。 oem30.inf(元の名前:brpoi15a.inf)を削除。 | |
btmhid.sys | Motrola.inc | Bluetoothドングルを動作させるためのドライバ。 Motorola Bluetoothというアプリをアンインストールして削除。 | |
wacomvhid.sys | Wacom | ペンタブレットのドライバと思われる。 | |
AVer7231_x64.sys | AVerMedia TECHNOLOGIES, inc. | 多分、最初の筐体に付いていたビデオキャプチャーのドライバ。 oem61.inf(元の名前:aver7231.inf)を削除。 | |
AVerBDA716x_x64.sys | AVerMedia TECHNOLOGIES, inc. | 多分、最初の筐体に付いていたビデオキャプチャーのドライバ。 oem10.inf(元の名前:averbda6x_x64.inf)を削除。 | |
LVUSBS64.sys | Logitech | 多分、10年以上前に買ったWeb Camのドライバ。 oem38.inf(元の名前:ipro64v.inf)を削除。 | |
CamDrL64.sys | Logitech | 多分、10年以上前に買ったWeb Camのドライバ。 oem38.inf(元の名前:ipro64v.inf)を削除。 | |
LVUSBS64.sys | Logitech | 2つ目 oem19.inf(元の名前:lpro64s.inf)を削除。 | |
btmhid.sys | Motorola, inc. | 2つ目 Motorola Bluetoothというアプリをアンインストールして削除。 | |
btmusb.sys | Motorola, inc. | Bluetoothドングルを動作させるためのドライバ。 Motorola Bluetoothというアプリをアンインストールして削除。 | |
CamDrL64.sys | Logitech | 2つ目 止まっていたので、D:\tempに移動したら消えた。 | |
GEARAspiWDM.sys | GEAR Software inc. | PreSonus | 多分、最初の筐体に付いていたテレビチューナーのドライバ。 削除ツールをダウンロードして実行。 |
LVUSBS64.sys | Logicool Co., Ltd. | BLEEPING COMPUTER | 3つ目 動いている。 HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\LVUSBS64 を削除。 再起動後に C:\Windows\System32\drivers にあったファイルをD:\tempに移動したら消えた。 |
mcdbus.sys | MagicISO, inc. | よく覚えていないが、ソフトと一緒にインストールされたと思われる。 止まっていたので、D:\tempに移動したら消えた。 |
問題解消の手順
色々やった最後の方で、GUIである程度の対処ができることが分かった。
なので、まずはGUIでできそうなところから書いて、危なっかしいのは最後の方に書いていくことにした。
ドライバーの削除
この手順ではレジストリを削除していないので、レジストリだけに情報が残り、何らかの問題が発生するかもしれない。
オススメは多分だけど復元ポイントを作ってから作業すること。ウチでは問題発生していない。
リストアップされたドライバーをクリックすると、詳細な情報が表示される。
そこに「公開名」と「製品名」と書かれている。
公開名が書かれているのが、この節の処理対象。
デバイスマネージャーを開き、デバイス(ドライバー別)で表示させてみる。
この例は、BrUsbSib.sysがoem30.infとされていたので、プロパティ→ドライバの詳細で、実際にそのファイルが含まれていることを確認しているところ。
これを削除したところ、互換性のないドライバーから消えた。
アプリケーションの削除
この手順ではアンインストーラーを利用するので、レジストリから情報が削除されるだろう。
それでもアプリケーション側の不手際で情報が残ることもあるにはあるんだけれど。
この画面でいうと、製品名と書かれているのが、この節の処理対象。
この例では、btmhid.sysがMotorola Bluetoothという製品名が書かれていたので、アプリケーションの追加と削除で、製品名を探してみた。
そこにMotorola Bluetoothがあった。これ、以前購入したBluetoothドングルのドライバーで、今は使っていないのでアンインストールして問題なし。
再起動を求められたので、PCを再起動したところ、一覧から消えていた。
メーカー提供のリムーバーを利用
GEARAspiWDM.sysは、恐らく最初にPCを購入した時に付属していたテレビチューナー用のドライバーじゃないかと思う。
これは、メーカーに削除手順が書かれていた。
PreSonus / How to remove the Gear Burning Software that installs with Studio One from a Windows machine
レジストリを手で色々と操作して消していく手順だけれども、それを実行するメーカー提供のリムーバーがあった。
https://support.presonus.com/hc/en-us/articles/4415868379021-How-to-remove-the-Gear-Burning-Software-that-installs-with-Studio-One-from-a-Windows-machine
これを実行してドライバを削除したところ、一覧から消えていた。
ドライバの待避
この手順ではレジストリを削除していないので、レジストリだけに情報が残り、何らかの問題が発生するかもしれない。
駄目なら待避したファイルを戻す感じか。
mcdbus.sysは、製品名にMagicISOが表示されていた。
これって使ってたっけなぁ…記憶なし、記録なし、でもそこにあるという感じ。一瞬使ったのかなぁ。
アプリケーションの追加と削除でも、このアプリケーションを見つけることはできなかった。
そこで、
C:\Windows\system32\drivers\mcdbus.sys
を、D:\tempという一時フォルダに移動して、いわゆる「待避」状態にしてみたところ、一覧から消えた。
これはソフト付属のドライバで、PCに接続するデバイスはこのドライバを利用していないだろう。
移動できたということは、いまこのドライバは使われておらず、ただファイルが残っていただけと想定。
恐らく問題ないだろう。
レジストリから情報を削除
上記の手順を確立する前にやってしまった手順。
ドライバファイルを移動できない=何らか利用されている状態 で、これはレジストリの登録情報を消してみるか、と考えて実行している。
結果的にはうまく動いているけれど、もしかしたら大変なことになっていたかも?という手順なので、要注意。
まず、LVUSBS64.sysとCamDrL64.sysというのが複数表示されているのがおかしい、と考えた。
この線で情報を探していると、Brotherのドライバが参照している何かとIDが一致、的な情報があった。
→ 絡まり合って、必要ないのに読み込まれている?と予想。
もしかしたら、そのファイルを消したら読み込まれなくなるのでは?と考えて待避させようとしたけれども、エラーとなった。
そこで、レジストリにこの情報はないか?と LVUSBS64 検索してみたところ、以下が見つかった。
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class{4d36e96c-e325-11ce-bfc1-08002be10318}
- HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class{6bdd1fc6-810f-11d0-bec7-08002be2092f}
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{4d36e96c-e325-11ce-bfc1-08002be10318}
- HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class{6bdd1fc6-810f-11d0-bec7-08002be2092f}
- HKEY_LOCAL_MACHINE\SYSTEM\Setup\FirstBoot\Filters{4d36e96c-e325-11ce-bfc1-08002be10318}
- HKEY_LOCAL_MACHINE\SYSTEM\Setup\FirstBoot\Filters{6bdd1fc6-810f-11d0-bec7-08002be2092f}
- HKEY_LOCAL_MACHINE\SYSTEM\Setup\FirstBoot\Services\LVUSBS64
そこで、これらを片っ端から削除。
ただし、上の4つにはサブキーがあり(名前は忘れた)、これに対するアクセス権がなくて、中を見ることも削除することもできなかった。
そこで、サブキーにアクセス権を追加しようとしたけれど、それもできない。
んー…
サブキーを選択して 編集→アクセス許可、でダイアログが表示されるので、詳細設定ボタンをクリック。
すると、所有者が表示できない状態になっていることがわかった。
そこで、所有者をAdministratorsに変更して保存、その後にアクセス権を付けることで、アクセス権を得ることができた。
アクセス権を得てから、サブキーごと削除した。
これで、PCを再起動したところ、待避ができるようになっていた。
ドライバの操作色々
ドライバの一覧表示
ドライバの一覧の出し方を教えてくれた。
Windows Digital / How to See What Drivers Are Installed in Windows 11
管理者権限でコマンドプロンプトを開き、以下を実行。
> driverquery /FO CSV /V > D:\temp\driver.txt
driverqueryというコマンドは、今後どこかで使うことがあるかもしれないのでメモ。
ファイル検索
ドライバ一覧で見つからないファイル(AVer7231系)があって、検索してみたところ、
- C:\Windows\System32\DriverStore\FileRepository
- C:\OEM\Preload\Autorun\DRV
というところにファイルがあることが分かった。
C:\OEM\Preload\Autorun\DRVについて…
GatewayのPCとして購入し、HomeからProへのアップグレードをしたPCなんだけれど、リカバリーメディアはAcerので作られていた記憶があるし、きっとそういうディレクトリなのだろう。今となっては、もう、使われていないかなーと思われる。試しにフォルダの名前を変更してみたが、システム的に止められることもなく名前変更ができたから、多分これじゃない。
C:\Windows\System32\DriverStore\FileRepositoryについて…
このリポジトリからファイルを直接削除することは危険、と直感させてくれる名前ではある。
ファイル検索でドライバを削除するのは難しそうだ。
PnPユーティリティ
DriverStoreからドライバを削除する方法については、こちらで教えてくれていた。
上野家のホームページ / Windows10でのデバイスドライバーの削除
pnputil(PnPユーティリティ)を使用するらしい。
教えてくれたコマンドで表示をさせてみると、{4d36e96c-e325-11ce-bfc1-08002be10318}はAVer7231系のドライバ2つに割り当てられている値だと分かった。
>pnputil /enum-drivers > d:\temp\pnp-drivers.txt
… 公開名: oem61.inf 元の名前: aver7231.inf プロバイダー名: AVerMedia TECHNOLOGIES, Inc. クラス名: 不明 クラス GUID: {4d36e96c-e325-11ce-bfc1-08002be10318} ドライバー バージョン: 08/24/2009 2.1.64.36 署名者名: Microsoft Windows Hardware Compatibility Publisher 公開名: oem10.inf 元の名前: averbda6x_x64.inf プロバイダー名: AVerMedia TECHNOLOGIES, Inc. クラス名: 不明 クラス GUID: {4d36e96c-e325-11ce-bfc1-08002be10318} ドライバー バージョン: 08/05/2009 1.5.64.79 署名者名: Microsoft Windows Hardware Compatibility Publisher …
レジストリエディタで検索してみると、DriverDatabaseというディレクトリに入っていたりする。
レジストリをダイレクトに消すのはまずそうだと思ったので、コマンドでDriverStoreから削除してみる。
>pnputil /delete-driver oem61.inf >pnputil /delete-driver oem10.inf
これで、PCを再起動してみたら、リストから消えていた。
ここまできて、デバイスマネージャーでできることを、コマンドで実行しているのだと分かった。
ドライバ削除メモ
デバイスマネージャーで「デバイス(ドライバー別)」表示にしてみたところ、?マークが表示されているものがいくつかあった。
面倒になったので、?マークの付いたドライバを片っ端から削除してメモしたが、一つ一つ調べて不要なものだけを消すのが安全と思われる。
oem3.inf(元の名前:brimi15a.inf)に?マークが付いているのを発見。ドライバを削除してみた。
oem38.inf(ipro64v.inf)も削除。
oem31.inf(hdxgigavyte.inf)展開してみたら、Realtek(R) Audioで、?マークが付いていた。これは、削除する時に再起動を求められた。
このタイミングで、Logitech関連が1セット消えた。
oem72.inf(hdxrt.inf)も?になっているデバイスがぶら下がっているので、削除。これも、削除する時に再起動を求められた。
これは変化なし。
hdaudio.infに無効なデバイスがぶら下がるようになった(もしかして最初から?)。
ドライバファイルが不足っぽいようだったので、インストールを試みるも失敗。ということで、これも、削除する時に再起動を求められた。
再起動したところ、ドライバは復活した。消せなかった。
oem108.inf(nvhda.inf)も無効なデバイスがぶら下がっていた。削除。
oem11.inf(hdx_gigabyteext_rtk.inf)。削除したら再起動を求められた。何も変わらない。
oem19.inf(lpro64s.inf)のプロパティからドライバの詳細を見てみたところ、LVUSBS64.sysがあった。
これを消せば良さそうだ。
これで、ようやくコア分離にあるメモリ整合性をONにできるようになった。
コア分離は諦めた
新たに互換性の問題が発生
コア分離をオンにしたところ、再起動を求められたので、再起動してみると…
このene.sysというのは、システム照明のコントロールに使われる模様。
確かに、なんかマザーボードの色を変えられるようなことが書かれていた気はする。
特に使わない機能なので、C:\Windows\system32\driversにあったこのファイルをD:\tempに移動した。
コア分離が再起動でオフになる
ここまでの操作でメモリの整合性をオンにできたのだけれど、翌日にPCの電源を入れるとオフになっていた。
再度、メモリの整合性をオンにして再起動すると、コア分離はオンになる。
でも、PCを再起動するとコア分離がオフになる。
メモリの整合性がオフになる。
探したけれども、原因は突き止められていない。ただ…
コア分離を諦めた決定的な理由=仮想化エンジンが使えなくなる
コア分離をオンにして再起動、MSINFO32.exeで確認すると、
仮想化ベースのセキュリティ:実行中
となる。
ただし…CPU-Zで確認すると、AMD-Vがなくなる。
これでは、VMware Playerでゲストを起動する時、仮想化エンジンが使えない。
このPCでは、VMware PlayerでOpenStackを試したりもするので、仮想化エンジンは使いたい機能。
仮想化エンジンがなくてもOpenStack自体は動作するが、もう、全然使い物にならないほど遅くなってしまう。
これが理由でHyper-Vの同居を諦めているくらい。
このことは、コア分離をオフのままで使う決定的な理由となった。
さいごに
この節では…とか書いて、本節?と思って検索。あぁ、ホンブシですか、そうですね確かに。
検索結果に質の高そうな本節が並んでいたので、この節では表記とした。
周期的にUbuntuに移行しようかなって思ってしまう。
やりたいことは大体できる気がするから、移行してもいいかもしれないなー。
コメントはこちらから お気軽にどうぞ ~ 投稿に関するご意見・感想・他