C#でOutputDebugString()をキャプチャする
C#でOutputDebugStringをキャプチャするコードを書いたので置いておきます。
SysinternalsのDebugViewのコア機能をC#で書き直した形です。
普段はDebugViewやVisual Studioをアタッチしているのですが、DebugViewよりも使いやすいUIを構築したかったり、コマンドラインツールに組み込みたかったりしたので用意しました。
あと、コードは.NET 6で書きましたが.NET Framework 4.6を使っているプロジェクトでもnullable関連を数か所書き換えればコンパイルできます。
Swiss Tablesはどれくらい速いのか
2022年にMac mini (mid 2011)へWindows 10をインストールした記録
個人的メモ。
インストールする環境
ハードウェア
Mac mini (mid 2011)にはいくつかのモデルがあるが、試したのはこれ。
CPU: Intel Core i5 2520M
GPU: Radeon HD 6630M (見かけ上無効化されているが、Intel HD Graphics 3000もある)
macOS側
High Sierraだったが、Boot campアシスタントは使わなかった。
そして、今回はmacOSは削除することにした。
Windows
Windows 10 Pro 20H2
前準備
WindowsのISOイメージ入手とUSB起動ディスクの作成
2022年2月現在、20H2のISOファイルはMicrosoftのサイトから直接ダウンロードできないため、Rufusを使って入手する。
Rufusが生成するリンクはMicrosoftサーバー上のものなので安心。
ダウンロードしたISOはRufusでUSBメモリに書き込んでおく。
Boot camp Support Software (ドライバ)
Google検索すると「5.1.5621」を紹介しているサイトが引っかかるが、igdkmd64.sysがsystem_thread_exception_not_handledでブルースクリーンを連発してしまった。
いろいろ試したところ、うちのハードウェア構成だと正常に動くのは「5.0.5033」だった。
Boot Camp Support Software 5.0.5033 (日本)
ダウンロードしたzipを展開し、内容物をUSB起動ディスクのドライブ直下に配置する。
これを行っておくと、Windowsのインストール時にインストーラーが自動的に走る。

Mac miniのブートメニューを呼び出す方法の確認
Mac mini (mid 2011)の場合、Altキーを効かせるためにはヘッドホン端子に一番近いUSB端子にキーボードを接続する必要があった。USBハブなどは経由させず、ほかのUSBポートには何も挿さないこと。
参考リンク: How do I get into boot options with a non-mac keyboard? - Ask Different
インストール手順
詳細は割愛。
ブートメニュー経由でUSB起動ディスクからWindowsのインストールを始める。
パーティション選択画面では(macOSが入っているものを含めた)すべてのパーティションを削除し、全領域に対してボリュームを作成。
※macOSを生かしておきたい場合は、macOSを起動してディスクユーティリティからFATのパーティションを作成しておき、インストール時にそのパーティションを指定すればよい
Windowsの初回ログイン時にBoot campのインストーラーが起動してくるのでインストールを進める。再起動を促されたら再起動する。
Windows Update画面から20H2のアップデートを開始。
動かないもの
Radeon HD 6630M(デバイスが動作を停止してしまうのでドライバインストールに失敗する。はんだクラック現象を踏んでいる個体かもしれない)
適用してはいけないアップデート
Windows Update経由のIntel HD Graphics 3000ドライバ更新(Windowsが再起動ループに陥ってしまう)
詳しいやり方は「Windows Update からドライバーを除外する」でググる。
Re: Re: Re: Re: Re: Re: Re: Re: PCが突然再起動される現象に悩んでいた話
Ryzen 9 5900Xのマシンが不調な話です。
前回の記事で電圧を盛って様子見する話をしましたが、ダメでした。
ある程度負荷をかけた状態でPCをつけっぱなしにして外出し、帰ってきたら再起動していました。
イベントビューアーを見たらWHEA-LoggerのCache Hierarchy Errorが。

ただ、今までと違うのはエラーが立て続けに起こっていることです。
WHEA-Loggerの一つ下にあるエラーはRyzenMasterDriverV17のものでした。

普通に考えれば、まずハードウェア不調が発生してドライバがエラーを出力したのだと思いますが、念のためにRyzenMasterをアンインストールしてみます。


これで良くなるとは思えないけど、そうなるといいなぁ。
Re: Re: Re: Re: Re: Re: Re: PCが突然再起動される現象に悩んでいた話
前回の記事で解決したと書いたけれど、あれは嘘でした。
BattleField 2042を遊んでいるとPCが急に再起動することがあり、イベントビューアを開いたらWHEAのCache hierarchy errorが記録されていた。
このゲーム以外では全く問題が起こらないので、たぶん何かまずいパターンがまだあるのだと思う。
もうRMAするのが良い気がする(期限切れているかもしれない・・・)
どうやらこちらのブログで紹介されているように、高負荷時の電源制御に問題があるみたい。
CPU LLC は BIOS OC Tweaker メニューの下の方にある Voltage Configuration から変更可能。デフォルトの Auto だと Level5 になっていて、高負荷時の電圧降下 (Vdroop というらしい) への補正が一番弱い設定。
ここのレベルを Level4 にあげてやると安定するようになったので、高負荷状態が続くとCPUへの供給電圧が落ちてリブート、となっていたのではないかと推測。
この現象に遭遇してから電源回りは疑ってマザーボードを別メーカのものに交換したし、駆動電圧を盛ったりもしたけれど、これは知らなかった。これが効くなら朗報。
とりあえず設定して様子見しよう。
ASUS ROG X570-F GamingのBIOS(UEFI)では、Advanced ModeのAi Tweaker > DIGI+ VRM > VDDCR CPU Load Line Calibration に設定項目があった。
後述するように、AI Suite 3を使えばWindows上から設定可能。



とりあえずLevel 4に設定してみたけど、あとでAI Suite 3の存在を思い出して説明文を見たところ、少なくともROG X570-F GamingのデフォルトはLevel 5ではない気がする。Levelの数値が上がるほど電圧ラインが上がっていくため。


