Windows11が勝手に再起動する原因と止め方【夜中・放置時の対策】

Windows11で「夜中に勝手に再起動される」問題に悩んでいました。
夜中にPCをつけっぱなしにしていたら、朝には再起動されていたという状況になり
かなりストレスになりました。

こちらは、Windows Updateとスリープ復帰が組み合わさることで発生する“仕様に近い挙動”になります。
私も実際に発生し、レジストリ設定では止まらず苦労しましたが、
特定のWindows Updateとwaketimerを無効化することで止めることができました。
この記事では、同じ問題を止める方法をまとめています。

Windows11が勝手に再起動する主な原因
・Windows Updateの自動再起動
・タスクスケジューラ(UpdateOrchestrator)
・スリープ復帰(waketimer)

特徴
・管理者権限でも無効化できない
・SYSTEM権限が必要
・PsExecを使う必要がある

実施内容
・Updateタスク(Schedule Scan / Wake)を無効化
・waketimerを無効化
・必要に応じてSYSTEM権限で制御
・レジストリの変更

こんな人向け
・夜中にPCをつけっぱなしにしている
・作業中に勝手に再起動されて困っている

① Windows Updateの自動再起動を止める方法(タスク無効化)

手順

(1)スタートをクリック
(2)検索欄に入力→ taskschd.msc
(3)「taskschd.msc」をクリックし実行

(4)左ツリーを順番に開く
タスクスケジューラ ライブラリ
→ Microsoft
→ Windows
→ UpdateOrchestrator

(5)下記を無効化する
Schedule Scan(最重要)
Schedule Wake To Work
USO Orchestrator
USO_UxBroker

「操作を実行しているユーザーアカウントに、
このタスクを無効にするためのアクセス許可がありません。」
と表示され無効化できない場合の対処法

1.Microsoft公式から「PsExec」をダウンロードしZIPファイルを解凍する。

PsExec - Sysinternals
リモート システムでプロセスを実行します。

2.コマンドプロンプトを管理者として実行する。

3.コマンドプロンプトで「PsExec64.exe」の保存場所に移動し「PsExec64.exe」を実行する。
(32bit対応PCの場合はPsExec.exeを使用)

同意するかのウィンドウが出てきた場合、Agree(同意)を選択する。

4.新規でコマンドプロンプトが開かれるため「whoami」と入力する。
「nt authority\system」と表示されたら成功。
SYSTEM権限の取得に成功している状態になります。

そのままその画面で「taskschd.msc」を実行する。

「taskschd.msc」を実行することで新しくタスクスケジューラが起動するため、
(4)と同じ手順で「UpdateOrchestrator」を開く。

中央上部の一覧から下記を選択し無効化する。
Schedule Scan(最重要)
Schedule Wake To Work
USO Orchestrator(あれば)
USO_UxBroker(あれば)

念のために下記も実施する。

② スリープ中(または放置中)に勝手に起動する原因と対策(waketimer無効化)


(6)コマンドプロンプトの管理者権限で下記を入力する。

▼設定コマンド
powercfg /SETACVALUEINDEX SCHEME_CURRENT SUB_SLEEP RTCWAKE 0
powercfg /SETDCVALUEINDEX SCHEME_CURRENT SUB_SLEEP RTCWAKE 0
powercfg /SETACTIVE SCHEME_CURRENT
▼確認コマンド
powercfg /waketimers

PCを再起動して完了。

Windowsはアップデート等でタスクを勝手に戻すことがあるため、
タスクを戻されていたら再設定する必要があります。

時間が経つと忘れるので月1くらいで設定を確認しておくと良いかと思われます。

③ 手動でのWindows update方法

自動updateを止めているため手動updateは必要になります。

手順

(1)スタートをクリックし「設定」を開く
(2)「Windows Update」をクリック
(3)「更新プログラムのチェック」をクリック
(4)更新が出たら「ダウンロードしてインストール」をクリック
(5)終わったら手動で再起動を実施

同じ症状で困っている人の参考になれば幸いです。

■追加

Windows Updateが発生したのでレジストリに設定を追加しました。

レジストリに「NoAutoRebootWithLoggedOnUsers = 1」と「AUOptions = 4」を設定

手順

(1)[Win + R]を押し表示されたウィンドウの入力欄に「regedit」と入力してOKボタンを押す
(2)レジストリエディターが起動したら左側ツリーから「AU」を開く(無ければ作成する)
(3)「NoAutoRebootWithLoggedOnUsers」を値=1で作成する
(4)「AUOptions」を値=4で作成する
(5)PCの再起動を実施する

(1)[Win + R]を押し表示されたウィンドウの入力欄に「regedit」と入力してOKボタンを押す

(2)レジストリエディターが起動したら左側ツリーから「AU」を開く(無ければ作成する)
HKEY_LOCAL_MACHINE
└ SOFTWARE
└ Policies
└ Microsoft
└ Windows
└ WindowsUpdate
└ AU

(3)「NoAutoRebootWithLoggedOnUsers」を値=1で作成する
右側の何もないところで右クリックし「新規」→「DWORD (32 ビット) 値」を選択する
「新しい値 #1」が作成されたら、右クリック→名前の変更で「NoAutoRebootWithLoggedOnUsers」に名前を変更する
「NoAutoRebootWithLoggedOnUsers」をダブルクリックし[値のデータ]を「1」に設定する

(4)「AUOptions」を値=4で作成する
右側の何もないところで右クリックし「新規」→「DWORD (32 ビット) 値」を選択する
「新しい値 #1」が作成されたら、右クリック→名前の変更で「AUOptions」に名前を変更する
「AUOptions」をダブルクリックし[値のデータ]を「4」に設定する

NoAutoRebootWithLoggedOnUsers設定

AUOption設定

レジストリが作成されていることを確認

(5)PCの再起動を実施する

コメント

タイトルとURLをコピーしました