Windows 11 のマルチモニター環境で Copilot アプリが“2画面にまたがる巨大ウィンドウ”で起動してしまい、前回のサイズや位置を無視する――2025年8〜9月の更新以降に散発するこの症状を、原因仮説から現実的な回避策、恒久対処、検証手順までまとめて解説します。実務で再発させないための運用例や自動化レシピも含めて掲載します。
症状の全体像と前提環境
本記事が対象とするのは、次の条件で発生するウィンドウ挙動の不具合です。
- OS:Windows 11 Pro(最新更新適用)
- 表示環境:フルHD(1920×1080)×2のデュアルモニター構成、拡張表示
- 症状:Copilot アプリを Win+C またはタスクバーから起動すると、2画面にまたがる巨大ウィンドウで開く。直前に手動で調整したサイズ/位置を保持しない
- 再現履歴:2025年8月の更新適用後に一度発生、再起動で一時的に解消。2025年9月の累積更新(Patch Tuesday、
KB5065426)適用後に再発し、以後持続 - 無効だった対処:再起動、表示設定の変更、レジストリでの WindowMetrics 改変、Copilot 固有フラグ探索
重要なポイントは、「巨大化」「前回位置を無視」の2点が同時に起き、かつ OS の一般的なウィンドウ記憶の仕組みが効いていないことです。
技術的背景と原因仮説
Copilot は WebView2(Microsoft Edge ランタイム)を用いるアプリです。Win32/WinUI 純正アプリと異なり、ウィンドウの寸法・配置保持をアプリ側ロジックが握る場面があり、OS の既定の「前回位置を記憶」機構と噛み合わないことがあります。特に、複数モニター+異なるスケーリング(例:モニターA=100%、B=125%)の組み合わせで、仮想座標と物理ピクセルの変換にズレ(DPI 認識の不整合)が生じやすく、次のような現象を誘発します。
- マルチモニター境界をまたいだ「最大化に準ずる」サイズで開く
- ウィンドウ位置の保存が、片方のモニター境界外(仮想座標の負数や過大値)として書かれ、次回復元時に“巨大化”と判定される
2025年9月の累積更新 KB5065426 や同時期の Copilot 側更新でウィンドウ配置の初期化条件が変わった可能性があり、アプリ起動直後のウィンドウ状態が「スナップ候補」や「最大化の擬態」に誤判定されていることが疑われます。現時点では広範な既知問題としての周知は限定的で、恒久パッチが未提供の可能性が高い前提で、運用とワークアラウンドを組み合わせるのが現実解です。
最初に試すべき「一次対応」
アプリのリセットでウィンドウ設定やキャッシュを初期化し、位置記憶の破損を除去します。チャット履歴はクラウド同期のため通常は保持されますが、重要な会話は念のためバックアップを推奨します。
- 設定 → アプリ → インストールされているアプリ から Copilot を検索
- 詳細オプション → 修復 を実行(効果がなければ リセット)
- PC を再起動して動作確認
これで直らない場合は、次節の回避策を組み合わせます。
即効性が高い「回避策」:サイズ保持を学習させる
ユーザー報告ベースで再現性が高い手順です。OS 更新でリセットされることがあるため、効果が切れたら再実施してください。
- Copilot を起動し、巨大化したウィンドウのまま一旦モニター片側の領域に収まる寸法までドラッグで縮小します。
- 右上の最大化ボタンで全画面化します。
- 最大化のままアプリを終了します(Alt+F4)。
- 再度起動。最大化の記憶が優先されるため、その後に通常サイズへ戻して終了すると、以降はそのサイズが復元されやすくなります。
この手順は「最終状態を最大化→終了→通常化→終了」と段階を踏ませることで、内部の配置プロファイルを再学習させる狙いがあります。
OS 側の表示・スナップ設定を調整する
マルチモニターで位置記憶の整合性を取り戻すために、次の設定を確認します。
| 設定箇所 | 推奨 | 目的/効果 |
|---|---|---|
| 設定 → システム → ディスプレイ → マルチディスプレイ | 「モニターの接続に基づいてウィンドウの位置を記憶する」を一度オフ→オン | 位置記憶のリセットと再登録 |
| 設定 → システム → マルチタスク(スナップ) | 「ウィンドウをスナップする」オン。挙動が不安定なら一度オフ→オン | スナップ判定の再初期化/余計な吸着の抑制 |
| 設定 → システム → ディスプレイ → 拡大縮小 | 可能なら両モニターのスケーリング値を同一に(例:100%と100%) | DPI 不一致での座標ズレを回避 |
| 設定 → アクセシビリティ → テキストサイズ | 大きくし過ぎない(150%超で副作用が出る場合あり) | システム全体のレイアウト変動を抑える |
また、モニターの論理配置(設定上の左右関係や上端位置)が実物とずれていると、復元座標が境界外に飛びやすくなります。ディスプレイのレイアウト図をドラッグで実機と一致させてください。
高度な対処:WebView2 ランタイムとアプリキャッシュを整える
Copilot は WebView2 に依存します。ランタイムの更新やキャッシュ破損が引き金になる場合は、次の整備で改善します。
WebView2 ランタイムの更新/再配布
- 管理者の PowerShellを開く
- 次のいずれかを実行
winget upgrade --id Microsoft.EdgeWebView2Runtime --silent- 改善がない場合は
winget uninstall --id Microsoft.EdgeWebView2Runtime後、winget install --id Microsoft.EdgeWebView2Runtime
Microsoft Store キャッシュの初期化
- Win+R →
wsreset.exeと入力 → 実行 - 完了後に Copilot を一度起動→終了し、サイズ記憶を再学習
Copilot アプリ データの再生成(最終手段)
アプリの「リセット」で改善しない場合にのみ検討します。
- Copilot を終了
%LOCALAPPDATA%\Packagesを開き、名前に「Copilot」を含むフォルダーを見つける- その配下の
LocalStateやSettingsなどユーザー設定系フォルダーを一時的にリネーム(例:LocalState.bak) - Copilot を起動して挙動確認(改善したら .bak は削除)
※この操作はサインイン状態や一部のアプリ設定を初期化します。実施前に必要な情報を控えてください。
自動化で「起動時のウィンドウ位置を固定」する
恒久パッチが来るまでの間、AutoHotkey または PowerShell で「起動直後に位置を矯正」する実装は再現性が高く現実的です。以下は一例です。
AutoHotkey v2 版(推奨:軽量で安定)
次のスクリプトは、Copilot のウィンドウタイトルに「Copilot」を含むものを検出し、左モニターに幅 960×高さ 1080、左上(0,0)へ移動・固定します。自環境に合わせて座標・サイズを変更してください。
; AutoHotkey v2
#Requires AutoHotkey v2.0
#SingleInstance Force
; 配置したい座標とサイズ(例:左モニターの左上)
X := 0, Y := 0, W := 960, H := 1080
; Copilot 起動時・復帰時に監視(500ms間隔)
SetTimer(WatchCopilot, 500)
WatchCopilot() {
WinTitle := "Copilot"
if WinExist(WinTitle) {
WinActivate(WinTitle)
; ウィンドウを通常化してから移動(最大化中は移動できないため)
WinRestore(WinTitle)
WinMove(X, Y, W, H, WinTitle)
}
}
常駐させる場合は、上記スクリプトを shell:startup フォルダーにショートカット登録します。タイトル一致が弱いと誤作動するため、必要に応じて「ahk_exe」条件(例:ahk_exe Copilot.exe)へ変更してください(実行ファイル名はタスクマネージャーの「詳細」タブ→列の「コマンドライン」を表示すると確認できます)。
PowerShell 版(管理者不要)
PowerShell だけで SetWindowPos を呼び出し、タイトルに「Copilot」を含む最前面ウィンドウを強制移動する例です。
# PowerShell
Add-Type @"
using System;
using System.Runtime.InteropServices;
public class Win32 {
[DllImport("user32.dll")]
public static extern bool SetWindowPos(IntPtr hWnd, IntPtr hWndInsertAfter, int X, int Y, int cx, int cy, uint uFlags);
}
"@
# 目的のウィンドウを探す
$w = Get-Process | Where-Object { $_.MainWindowTitle -like "*Copilot*" } | Select-Object -First 1
if ($w -and $w.MainWindowHandle -ne 0) {
# SWP_NOZORDER(0x0004) | SWP_SHOWWINDOW(0x0040)
[Win32]::SetWindowPos($w.MainWindowHandle, [IntPtr]::Zero, 0, 0, 960, 1080, 0x0004 -bor 0x0040) | Out-Null
}
このスクリプトをショートカットにし、起動後の 1〜2 秒遅延で実行すると安定します(タスク スケジューラの「トリガー:ログオン後、遅延 5 秒」など)。
運用での再発抑止チェックリスト
| 確認項目 | 推奨値/手順 | 狙い |
|---|---|---|
| モニターのスケーリング | 両方 100% か、同一の倍率に揃える | DPI 不一致の排除 |
| レイアウト図の整合 | 設定のモニター配置を実機の物理配置と一致させる | 境界外復元の防止 |
| スナップ設定 | オン→オフ→オンで再初期化/必要な項目のみ有効 | 誤スナップの抑制 |
| アプリ終了の作法 | 一度「最大化で終了」→次回「通常化で終了」を行い記憶を定着 | 内部プロファイルの再学習 |
| WebView2 ランタイム | winget upgrade --id Microsoft.EdgeWebView2Runtime | ランタイム側の不整合排除 |
| 自動矯正スクリプト | AutoHotkey または PowerShell を常駐 | 起動直後の暴走寸法を強制是正 |
更新プログラムの扱い(ロールバックの是非)
2025年9月の累積更新 KB5065426 適用後に症状が持続するケースがあるため、検証用に一時ロールバックを行い「更新が原因か」を切り分けるのは有効です。ただし、累積更新には重要なセキュリティ修正が含まれます。業務端末では恒久ロールバックを避け、再発防止の運用+ワークアラウンドで凌ぐ方針を推奨します。
ロールバック手順(テスト用途)
- 設定 → Windows Update → 更新の履歴 → 更新プログラムをアンインストール
- 対象の
KB5065426を選びアンインストール - 再起動後、挙動を確認(改善したら、以後はスクリプト等で運用回避)
コマンドでのロールバック例(管理者)
wusa /uninstall /kb:5065426 /quiet /norestart
注意:wusa で削除できない構成もあります。その場合は DISM で対象パッケージ名を調査し、正確な名称で削除します。誤操作は OS を不安定化させるため、検証用端末で実施してください。
よくある質問とピンポイント対処
Q1. レジストリ(WindowMetrics 等)を書き換えても効かないのはなぜ?
Copilot は WebView2 ベースのため、一般的な Win32 アプリと異なり OS 既定のウィンドウ寸法ポリシーを無視する場面があります。アプリ側が保持する配置情報が優先されるため、アプリの修復・リセットや最大化→終了→通常化→終了の学習手順が有効です。
Q2. 片方のモニターだけ 125% 拡大にすると再発する
複数モニターで拡大縮小率が異なると、仮想座標の境界がずれ、復元時に隣のモニター領域へはみ出しやすくなります。同一倍率に揃えるか、AutoHotkey/PowerShell の強制移動を併用してください。
Q3. 全画面化で閉じても次回また巨大化する
最大化状態が正しく保存されないケースでは、ウィンドウを一度「通常化」に戻してから終了する、またはアプリの修復→再起動→最大化で終了の順に再学習させると改善します。常駐スクリプトで矯正するのが最も確実です。
Q4. そもそも Copilot を使わない/一時的に無効化したい
組織ポリシーで一時無効化したい場合はローカル グループポリシーやレジストリでの制御も考えられます。ただし業務要件と整合させ、OS 更新でポリシーが変わる可能性も踏まえて設計してください。
原因と対策のマトリクス
| 想定原因 | 観測される挙動 | 優先対策 | 再発抑止 |
|---|---|---|---|
| KB5065426 以降での初期化ロジック変更 | 巨大化+位置記憶の欠落 | アプリ修復/リセット → 最大化→終了→通常化→終了 | AutoHotkey/PowerShell で強制矯正 |
| DPI 不一致(100% と 125% の混在) | モニター境界をまたぐ初期配置 | 倍率を揃える/表示レイアウトを実機に合わせる | OS アップデート後に設定見直し |
| WebView2 ランタイムの不整合 | 初回起動のみ巨大化、2回目以降も不安定 | WebView2 のアップグレード/再配布 | 定期的なランタイム更新 |
| キャッシュ破損 | リセットまで改善しない | アプリのリセット/Store キャッシュ初期化 | 定期的なメンテナンス |
不具合の報告と情報提供
早期の恒久対応につなげるため、再現手順・動画・システム情報を添えた報告が効果的です。
Copilot からのフィードバック送信
- Copilot 右上のアカウントアイコンをクリック
- フィードバックを送信を選択
- 「デュアルモニターで巨大ウィンドウで起動する」「前回位置を保持しない」など、再現手順・発生頻度・更新履歴(例:KB5065426 適用日)を明記
Windows フィードバック Hub での詳細報告
- フィードバック Hub を起動(スタートメニューで検索)
- カテゴリは「デスクトップ環境」や「アプリと Windows 統合」等を選択
- 問題発生時の画面録画と、イベントログ・診断情報の収集を許可して送信
社内で複数端末の事例を集約し、発生バージョン/DPI 設定/モニター機種を併記すると、開発側の再現性検証が加速します。
現場で使えるトラブルシューティング手順(まとめ)
- 再現性の確認:どの起動手段(Win+C、タスクバー、スタート)でも巨大化するか記録
- DPI/スケーリングの整合:両モニターの倍率を揃え、レイアウト図を実機に合わせる
- アプリ修復・リセット:設定 → アプリ → Copilot → 詳細オプションで修復→リセット
- 学習手順:縮小→最大化→終了→通常化→終了
- WebView2 整備:winget でアップグレード/再配布、Store キャッシュ初期化
- 自動矯正:AutoHotkey/PowerShell を導入し、起動直後に位置を強制
- 検証のためのロールバック:KB5065426 を一時的に外し、原因切り分け(恒久ロールバックは非推奨)
- 報告:Copilot 内の「フィードバックを送信」またはフィードバック Hub で再現動画と環境情報を添付
運用テンプレート(チーム共有用)
IT 管理者やヘルプデスクがユーザーからの問い合わせに迅速対応するためのテンプレートです。コピーして社内ナレッジに貼り付けて使えます。
【問い合わせ要旨】
Copilot がデュアルモニターで巨大ウィンドウ起動。前回位置を保持しない。
【確認項目】
1. KB5065426 の適用日、OS ビルド
2. モニター解像度/スケーリング(両方 100% か?)
3. 表示レイアウト(設定の図が実機と一致しているか)
4. 発生手順(Win+C/タスクバー/スタート)
5. 他ユーザー/他端末での再現性
【標準対処フロー】
A. アプリ修復→リセット→再起動
B. 学習手順(縮小→最大化→終了→通常化→終了)
C. WebView2 を winget で更新/再配布、wsreset
D. AutoHotkey/PowerShell 導入(起動直後に位置矯正)
E. 再発時は動画+イベントログ採取のうえ報告
【備考】
ロールバックは検証用のみ。恒久対応はパッチ待ち+運用回避。
最後に:現実解は「矯正の自動化+設定の整合」
本件は、アプリ側のウィンドウ復元と OS のマルチモニター座標計算が特定条件で噛み合わないことが主因と考えられます。恒久修正が配信されるまでの間は、最大化→終了→通常化→終了の学習、DPI 整合、WebView2 整備、そしてAutoHotkey/PowerShell による起動直後の強制矯正を組み合わせるのが、最小コストで確実・再現性のある対処です。運用テンプレートやチェックリストをチームで共有し、再発時の初動を標準化しておくと、ユーザー影響と対応時間を大幅に削減できます。
付録:問題判定のためのミニ自己診断
次の表で「はい」が多いほど、今回紹介した対応で改善する可能性が高いケースです。
| 質問 | はい/いいえ |
|---|---|
| 2025年8月以降に最初の巨大化が起きた | はい/いいえ |
| 2025年9月の KB5065426 適用後から持続的に再発している | はい/いいえ |
| 片方のモニターだけ拡大縮小率が異なる(例:100% と 125%) | はい/いいえ |
| 最大化→終了→通常化→終了で一時的に直るが、更新後に戻る | はい/いいえ |
| 他の WebView2 ベースアプリでも位置記憶が乱れる | はい/いいえ |
付録:ショートカット&豆知識
- ウィンドウを画面内に戻す:タスクバーの Copilot を Shift+右クリック → 移動 → 矢印キーで復帰
- 左右モニターへ瞬時移動:Win+← / →(複数回押下で隣のモニターへ)
- スナップの設定に即アクセス:アドレスバーや「ファイル名を指定して実行」で
ms-settings:multitasking
まとめ
Copilot の巨大ウィンドウ問題は、更新(KB5065426 周辺)× WebView2 × マルチモニター/DPIの相互作用で起こる可能性が高く、アプリや OS の単独設定だけでは完全に抑え込めない場面があります。だからこそ、①学習手順で配置を再登録、②表示/DPI の整合、③WebView2 と Store キャッシュの健全化、④スクリプトで強制矯正、⑤適切な報告という多層防御を運用し、再発しても“数十秒で復旧”できる体制を整えることが実務上の最適解です。

コメント