見出し画像

Windows起動時システム音のボリュームが最大になる問題を解決した話

Windows11PCで発生した問題🔊

Windows11のシステムアップデートが先日あり、PCを起動するとシステム音だけが最大音量100となる事象が発生するようになりました。

解決方法を調査🔎

問題の起点がWindowsUpdateであることは明らかであるものの、原因が特定できないのでUpdate前の状態に完全に戻すのはセキュリティ面を考えてもリスクがあります。現時点で解決方法がないか調査し、試していくこととしました。
結果、以下の手法が主な手段として挙がっているものの、問題解決には至りませんでした。
・「Realtek HD Audio Universal Service」をスタートアップアプリから外す
・システムのサウンドの詳細設定からスピーカーを選択し、プロパティ画面の通信タブにある「他のすべてのサウンドを80%下げる」を「何もしない」に変更

解決方針の変更(NirCmdツールの使用)🧰

設定による解決ができないのなら、PC起動時にシステム音を強制的に小さくする方針とし、NirCmdツールを使用することとしました。
NirCmdツールは比較的簡易なコマンドでPCを操作できる強力なツールです。
セキュリティの脆弱性を突破して悪意のある第三者にPCが乗っ取られる(この時点で手遅れでしょうが)と容易にPCが操作される危険性があることを認識したうえで利用してください。

NirCmdツールのダウンロード🛜🧰

まず、「NirCmd 64 ビット」を下記リンク先の最下部「Download NirCmd 64-bit」をクリックしてダウンロードします。

ダウンロードしたファイル「nircmd-x64.zip」を解凍すると「nircmd-x64」フォルダが作成されます。
「nircmd-x64」フォルダは任意のフォルダに格納しましょう。
画面では格納先を「D:\nircmd-x64」にしております。

解凍したフォルダを格納

実行ファイルの作成📂

実行ファイル(ファイル名の最後が「.bat」のファイル)を任意のフォルダ(画像は「nircmd-x64」フォルダにしてます)に作成します。
名前も適当で良いので便宜的にここでは「SysytemVolume.bat」とします。
ファイルの種類は「Windows バッチ ファイル」となることを確認します。

ファイルの種類確認

作成した「SysytemVolume.bat」ファイルを右クリックし「メモ帳で編集」または「編集」を選択します。
開いたファイルに以下のコマンドを記載し保存します。

@rem システム音 ボリューム制御
@rem 環境変数 NIR を宣言
SET NIR_CMD="D:\nircmd-x64\nircmd.exe"

@rem NIR による実行
%NIR_CMD% setappvolume SystemSounds 0.08

各コマンドを説明すると
「@rem」から始まる行はメモ書きでプログラム実行はされません。
「SET NIR_CMD="D:\nircmd-x64\nircmd.exe"」は環境変数「NIR_CMD」の宣言文です。コマンドで「%NIR_CMD%」と入力することで「"D:\nircmd-x64\nircmd.exe"」を実行できるようになります。
最後の行の「%NIR_CMD% setappvolume SystemSounds 0.08」は宣言した「NIR_CMD」でシステム音のボリュームを8%に設定する命令文になります。

「SysytemVolume.bat」をダブルクリックし、最大音量の8%(私のサウンド設定では8)になればバッチが正常に実行されることとなります。
私はPCを再起動した際のシステム音の音量を25(%)にしたいので

%NIR_CMD% setappvolume SystemSounds 0.25

にしました。

バッチファイルの格納🗂️

バッチファイル「SysytemVolume.bat」は下記フォルダのどちらかに格納するとPC起動時に実行されるようになります。

C:\Users[ユーザー名]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp

上段のフォルダの[ユーザー名]は、PCにログインしているユーザーIDに置き換えます。
例えば、使用しているPCのユーザーIDが「Abcde」なら

C:\Users\Abcde\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

となります。
1台のPCを複数ユーザで使用している場合、ユーザーIDが「Abcde」でログインした場合バッチファイルが実行されます。
下段はユーザーIDに関係なくPC起動時にバッチファイルが実行されます。
画像はユーザIDに関係のないフォルダに格納したものです。

バッチファイル格納前
権限についてのメッセージ表示は「続行」を選択
バッチファイル格納後

通常「C:\Users[ユーザー名]\AppData\」「C:\ProgramData」は見えませんが、PCの起動や実行するうえで重要となるフォルダ、ファイルを誤って書き換えたり削除しないようWindowsの初期設定で見えなくしております。
表示させるにはエクスプローラー上部にある「…」マークをクリックし「オプション」選択してください。

隠しファイルを表示しない

表示タブにある「ファイルとフォルダの表示」欄に「隠しファイル、~表示しない」を「隠しファイル、~表示する」に変更すると見えるようになります。

隠しファイルを表示するを選択
📁マークが薄くなっている箇所が隠されていたフォルダ

私の場合、誤操作によるトラブルを防ぐため、普段は「隠しファイル、~表示しない」を選択しております。

再起動した結果

再起動前
再起動後

再起動してシステム音量「100」が「25」になっていることを確認できました。
本記事が、同じように困っている方々の一助になれば幸いです。
それでは、またの機会に。

いいなと思ったら応援しよう!