ある日突然、コマンドプロンプト(cmd.exe)がまったく開かなくなり、「Windows コマンド プロセッサ」がタスクマネージャーに現れない──この状態になると不安になりますが、多くは設定やシステムファイルの不具合であり、落ち着いて対処すれば自力で復旧できるケースがほとんどです。このページでは、AMDドライバー更新で困っている場合も含め、原因の切り分けから復旧手順までをまとめて解説します。
コマンドプロンプトが開かないときの典型的な症状
まずは、現在の症状がどのパターンに当てはまるかを整理します。
- スタートメニューから「コマンド プロンプト」や「cmd」と入力しても何も起きない/一瞬だけウインドウが出てすぐ閉じる
- タスクマネージャーに「Windows コマンド プロセッサ(cmd.exe)」が全く表示されない
- AMDのドライバー更新ツールから「cmdが見つからない」「Windowsコマンドプロセッサが起動できない」などのエラーが出るように見える
- 別のユーザーアカウントやセーフモードでは起動する/しない、など環境によって挙動が違う
こうした症状の多くは、次のいずれかが原因になっていることが多いです。
- AutoRunやグループポリシーによるcmdの起動禁止設定
- 環境変数(ComSpec / PATH)の破損
- システムファイルの破損(cmd.exe や関連DLL)
- セキュリティソフトや「コントロールされたフォルダーアクセス」によるブロック
- ユーザープロファイルの破損や、OS全体の不整合
重要ポイント:AMDドライバー更新にcmdは必須ではない
まず押さえておきたいのは、AMDのGPUドライバー更新は基本的に「コマンドプロンプト不要」だという点です。cmdが壊れていても、以下のいずれかの方法でドライバー更新だけなら対処できます。
| 方法 | 手順の概要 | メリット | デメリット |
|---|---|---|---|
| AMD Software: Adrenalin Edition | AMD公式サイトから自動検出インストーラーをダウンロードし実行する | GPUとOSを自動判定し、最適なドライバーを提案してくれる | インターネット接続とある程度の容量を必要とする |
| Windows Updateのオプションの更新 | 設定 > Windows Update > 詳細オプション > オプションの更新プログラム からドライバーを適用 | OS標準の仕組みだけで完結するため安全性が高い | 常に最新バージョンが出るとは限らない |
| デバイスマネージャー | デバイス マネージャー > ディスプレイアダプター > GPUを右クリック > ドライバーの更新 | 細かくデバイスを指定して更新できる | ドライバーの自動検索で見つからない場合もある |
まずは上記のいずれかでAMDドライバー更新という「目先の困りごと」だけ解消し、そのうえで本題の「cmdが開けない根本原因」をゆっくり切り分けていくと精神的にも楽になります。
原因切り分けと解決手順の全体像
この記事では、次の順番で切り分け・復旧を進めることをおすすめします。
| ステップ | 内容 | 難易度 | 対象 |
|---|---|---|---|
| A | Windowsターミナル / PowerShell と cmd.exe の存在確認 | 低 | すべてのユーザー |
| B | AutoRun設定やグループポリシーの解除 | 中 | 管理者権限あり |
| C | 環境変数(ComSpec / PATH)の修正 | 中 | 管理者権限あり |
| D | DISM / SFCによるシステムファイル修復 | 中 | 管理者権限あり |
| E | Windows セキュリティ・対策ソフトのブロック確認 | 中 | すべてのユーザー |
| F | セーフモード / 回復環境からの修復 | やや高 | トラブルが深刻な場合 |
| G | 新しいユーザープロファイルでの再現確認 | 中 | ユーザープロファイル破損疑い |
| H | インプレースアップグレード / このPCをリセット | 高 | その他すべてがダメな最終手段 |
上から順番に試していくことで、無駄な作業を減らしつつ安全に復旧を目指せます。
ステップA:簡単な確認(UI操作でできるチェック)
Windowsターミナル / PowerShell は起動できるか?
まず、コマンドプロンプトだけがダメなのか、コンソール全般がダメなのかを確認します。
- スタートボタンを右クリックします。
- 表示されたメニューから「Windows ターミナル(管理者)」または「Windows PowerShell(管理者)」をクリックします。
ここでPowerShellが正常に起動する場合は、後述のレジストリ操作やDISM / SFCなどのコマンドをすべてPowerShellから実行できます。逆にPowerShellまで開けない場合は、システムの破損がより深刻な可能性が高く、ステップF以降(セーフモードや回復環境)を優先的に検討してください。
cmd.exe の所在を直接確認する
次に、実行ファイルそのものが残っているかを確認します。
- エクスプローラーを開き、アドレスバーに
C:\Windows\System32と入力してEnter。 - 一覧の中から
cmd.exeを探し、ダブルクリックします。
ここでのチェックポイントは以下の通りです。
- ファイルが存在しない場合:何らかの理由で削除・隔離されている可能性があります(後述のSFCやセキュリティソフトを要確認)。
- 存在はするがダブルクリックしても全く反応がない/一瞬だけ開いてすぐ閉じる場合:AutoRunやポリシー、環境変数の問題が疑われます。
- 右クリック > プロパティ > デジタル署名タブで Microsoftの署名が付いているか:不審な署名や署名自体が無い場合はマルウェアの可能性もあります。
ステップB:AutoRun やポリシーでブロックされていないか確認
AutoRunによる即終了設定を解除する
マルウェアや一部ツールによって、「cmdを起動した瞬間に別コマンドを実行して即終了する」ようなAutoRun設定が入っていることがあります。これをリセットしてみます。
PowerShell(管理者)を開き、次のコマンドを順に実行します。
# ユーザー単位の AutoRun を無効化
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Command Processor" -Name "AutoRun" -ErrorAction SilentlyContinue
# PC 全体の AutoRun を無効化
Remove-ItemProperty -Path "HKLM:\Software\Microsoft\Command Processor" -Name "AutoRun" -ErrorAction SilentlyContinue
エラーが表示されなくても問題ありません(該当項目が元々なかっただけの可能性があります)。実行後、PCを一度再起動してから、再度cmd.exeを開けるか確認してください。
「コマンド プロンプトへのアクセスを禁止する」設定を解除
企業PCなどでは、グループポリシーでコマンドプロンプトが禁止されている場合があります。Windows 11 Home ではローカルグループポリシーエディターが使えませんが、レジストリから同じ設定を解除できます。
PowerShell(管理者)で以下を実行します。
# ユーザー単位の DisableCMD を「未構成相当」にする
New-Item -Path "HKCU:\Software\Policies\Microsoft\Windows\System" -ErrorAction SilentlyContinue | Out-Null
Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\System" -Name "DisableCMD" -Type DWord -Value 0
# PC 全体の DisableCMD を「未構成相当」にする
New-Item -Path "HKLM:\Software\Policies\Microsoft\Windows\System" -ErrorAction SilentlyContinue | Out-Null
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\System" -Name "DisableCMD" -Type DWord -Value 0
Windows 11 Pro / Enterprise 環境では、ローカルグループポリシーエディターから以下のように設定してもOKです。
- ローカル グループ ポリシー エディターを起動
- [ユーザーの構成] > [管理用テンプレート] > [システム]
- 「コマンド プロンプトへのアクセスを禁止する」を未構成または無効に設定
設定を変更したら、一度サインアウトまたは再起動を行い、再度cmdが起動するか確認します。
ステップC:環境変数 ComSpec / PATH の破損をチェック
環境変数 ComSpec には、「cmd.exeがどこにあるか」が記録されています。これが誤って消えたり、別のパスを指していると、Windowsがcmdの場所を見失ってしまいます。また、PATH に C:\Windows\System32 が入っていないと、他のコマンドにも影響が出ることがあります。
PowerShellから環境変数を確認する
PowerShell(管理者)で次のコマンドを実行し、値を確認します。
$env:ComSpec
($env:Path -split ';') | Select-String -SimpleMatch "C:\Windows\System32"
$env:ComSpecの結果が空、またはC:\Windows\System32\cmd.exe以外になっている場合は修正が必要です。- 2つ目のコマンドで何も表示されない場合、PATHに
C:\Windows\System32が含まれていないことを意味します。
システム環境変数から正しい値に修正する
GUIから環境変数を修正する手順は以下の通りです。
- 設定 > システム > バージョン情報 を開く。
- 右側の「関連リンク」から「システムの詳細設定」をクリック。
- 「システムのプロパティ」ウインドウで「環境変数」をクリック。
ここで、次の内容を確認・修正します。
- 「システム環境変数」の一覧から ComSpec を探す
- 変数名:ComSpec
- 変数値:C:\Windows\System32\cmd.exe
- 同じく「Path」を選択し、編集ボタンをクリック
- C:\Windows\System32
- C:\Windows
設定後、PCを再起動してから、再度cmdが起動するか確認してください。
ステップD:DISM / SFCでシステムファイルの破損を修復
ここまでで改善しない場合、cmd.exe本体や関連するシステムファイルが破損している可能性があります。Windows標準の修復コマンドでチェックしてみましょう。
PowerShell(管理者)から修復コマンドを実行
PowerShellを管理者で開き、次の順番でコマンドを実行します。
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
- DISM:Windowsのコンポーネントストアを修復し、SFCが使う「修復用の元データ」を正常な状態に戻します。
- SFC:システムファイルをチェックし、破損や変更があれば自動で修復します。
処理にはある程度時間がかかる場合がありますが、基本的には放置して構いません。完了メッセージが出たらPCを再起動し、cmdが開くかどうかを確認してください。
ステップE:Windows セキュリティや対策ソフトによるブロック確認
セキュリティ強化のための機能が、意図せずcmd.exeの実行を妨げているケースもあります。
コントロールされたフォルダーアクセスの確認
Windows Defenderの「コントロールされたフォルダーアクセス」が有効な場合、cmdを含む一部アプリがブロックされることがあります。
- 設定 > 更新とセキュリティ > Windows セキュリティ を開く。
- 「ウイルスと脅威の防止」をクリック。
- 「ランサムウェアの防止」 > 「コントロールされたフォルダーアクセス」を選択。
ここで次のいずれかの対応を行います。
- 一時的に「コントロールされたフォルダーアクセス」をオフにして挙動を確認する
- 「アプリをコントロールされたフォルダーアクセス経由で許可する」から
C:\Windows\System32\cmd.exeを許可アプリとして追加する
変更後に再度cmdが起動するか確認してください。
サードパーティ製セキュリティソフトの影響
一部のサードパーティ製セキュリティソフトや、エンドポイント保護ツールがコマンドラインツールを制限する設定を持っている場合があります。次のような点を確認してみましょう。
- 対策ソフトの一時停止機能がある場合、一時的に停止してcmdを起動してみる
- 「アプリケーション制御」「ふるまい検知」「ランサムウェア防止」などの機能でcmdがブロックされていないか設定を確認する
セキュリティソフトを完全にアンインストールするのではなく、まずは停止・除外設定から試すのが安全です。
ステップF:セーフモード・回復環境からの修復
通常起動ではPowerShellすら立ち上がらない、あるいはそもそもログインもままならない場合は、Windowsの回復環境(WinRE)やセーフモードからの修復を行います。
回復環境(WinRE)からコマンドプロンプトを起動する
- Shiftキーを押しながら「再起動」をクリックします。
- 「オプションの選択」画面で「トラブルシューティング」を選択。
- 「詳細オプション」から「コマンド プロンプト」を選択。
回復環境のcmdは、通常のcmdとは別経路で起動するため、通常環境が壊れていても起動できるケースが多いです。ここで次のような操作が可能です。
sfc /scannowを実行してシステムファイルを修復- 問題が発生する前の日付のシステムの復元を試す
セーフモード(ネットワークあり)で起動する
セーフモードは、最小限のドライバーとサービスだけでWindowsを起動するモードです。多くの常駐ソフトやカスタマイズが無効になるため、原因の切り分けに役立ちます。
- 設定 > システム > 回復 を開く。
- 「PCの起動をカスタマイズする」から「今すぐ再起動」を選択。
- 再起動後、「トラブルシューティング」 > 「詳細オプション」 > 「スタートアップ設定」から「再起動」をクリック。
- 起動オプションが表示されたら「4」(または「5」でネットワークあり)を押してセーフモードに入る。
セーフモードでログインできたら、これまで紹介した B~E の手順(AutoRun・ポリシー・環境変数・DISM/SFC・セキュリティ設定)をあらためて実施してみてください。
ステップG:新しいユーザープロファイルで再現するか確認
ここまで試しても改善しない場合、現在のユーザープロファイルだけが壊れている可能性があります。その切り分けとして、新しいローカルユーザーを作って動作を確認します。
- 設定 > アカウント > 家族とその他のユーザー を開く。
- 「その他のユーザーをこのPCに追加」をクリック。
- 「このユーザーのサインイン情報がありません」→「Microsoftアカウントを持たないユーザーを追加」でローカルアカウントを作成。
- 作成したユーザーをクリックし、「アカウントの種類の変更」から管理者に変更。
新しいユーザーでサインインし、「cmd」と検索してコマンドプロンプトが開くか確認します。
- 新しいユーザーでは正常に起動する場合:
- 元ユーザーのプロファイル(レジストリやAppData配下の設定)が壊れている可能性が濃厚です。
- 必要なデータ(ドキュメント、デスクトップ、ブラウザのプロファイルなど)を新アカウントに移行することを検討してください。
- 新しいユーザーでも同じ症状が出る場合:
- OS全体の問題、またはセキュリティソフト・ドライバーなどシステムレベルの問題である可能性が高く、ステップHの検討に進みます。
ステップH:最終手段としてのインプレースアップグレード / このPCをリセット
どうしてもcmdが復旧しない場合、Windows自体を上書き修復することで解決するケースが多いです。
インプレースアップグレード(上書き修復インストール)
インプレースアップグレードとは、現在のWindowsの上から同じバージョン(または新しいバージョン)のWindowsをインストールし直す方法です。
- 個人用ファイルやインストール済みアプリを保持したまま、システムファイルや設定を初期化できる
- システムファイルの破損やレジストリの不整合を一気にリセットできる
おおまかな流れは以下の通りです。
- Microsoft公式サイトからWindows 10 / 11のインストールメディア作成ツールをダウンロード。
- ツールから「このPCを今すぐアップグレードする」またはISOをマウントして setup.exe を実行。
- 「個人用ファイルとアプリを引き継ぐ」を選択してインストールを進める。
処理には時間がかかるため、電源が切れないようAC電源接続の上で実行してください。
「このPCをリセット」での再インストール
インプレースアップグレードでも改善しない場合は、「このPCをリセット」が最後の選択肢となります。
- 設定 > システム > 回復 > 「このPCをリセット」
- 「個人用ファイルを保持する」を選択すると、ユーザーデータを残したままWindowsを入れ直せます。
ただし、インストール済みアプリは再インストールが必要になる場合があります。事前に必要なライセンス情報やインストーラーの入手手段を確認しておきましょう。
よくある落とし穴チェックリスト
ここまでの内容を、チェックリストとして整理します。
- [ ] cmd.exe自体が削除・置換されていないか
- ファイルのプロパティでMicrosoftのデジタル署名を確認しましたか?
- [ ] AutoRunレジストリで悪さをしていないか
- ステップBのコマンドでAutoRunを削除しましたか?
- [ ] ComSpec / Path が壊れていないか
- ComSpecが
C:\Windows\System32\cmd.exeを指していますか? - Pathに
C:\Windows\System32とC:\Windowsが含まれていますか?
- ComSpecが
- [ ] セキュリティソフトやコントロールされたフォルダーアクセスが遮っていないか
- Windows セキュリティの設定を見直しましたか?
- サードパーティ製対策ソフトを一時停止して確認しましたか?
- [ ] DISM → SFCの順で修復を試したか
- 管理者権限のPowerShellから実行しましたか?
- [ ] 新規ユーザーや回復環境で再現するか確認したか
- 新しいユーザーでは正常に動く場合、プロファイル破損の可能性大です。
PowerShellで実行する代表コマンドまとめ
記事中に登場した代表的なコマンドをまとめておきます。いずれもPowerShellを「管理者として実行」したうえで入力してください。
cmd.exe の存在・属性確認
Get-Item "C:\Windows\System32\cmd.exe" | Format-List FullName,Length,Attributes,LastWriteTime
システムファイルの修復
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannow
環境変数の確認
$env:ComSpec
$env:Path -split ';'
AutoRun・DisableCMD 設定のリセット
# AutoRun 無効化
Remove-ItemProperty -Path "HKCU:\Software\Microsoft\Command Processor" -Name "AutoRun" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path "HKLM:\Software\Microsoft\Command Processor" -Name "AutoRun" -ErrorAction SilentlyContinue
# DisableCMD を未構成相当へ
New-Item -Path "HKCU:\Software\Policies\Microsoft\Windows\System" -ErrorAction SilentlyContinue | Out-Null
Set-ItemProperty -Path "HKCU:\Software\Policies\Microsoft\Windows\System" -Name "DisableCMD" -Type DWord -Value 0
New-Item -Path "HKLM:\Software\Policies\Microsoft\Windows\System" -ErrorAction SilentlyContinue | Out-Null
Set-ItemProperty -Path "HKLM:\Software\Policies\Microsoft\Windows\System" -Name "DisableCMD" -Type DWord -Value 0
注意:レジストリ操作を行う前には、可能であれば復元ポイントの作成や重要データのバックアップを行い、操作内容をメモしておくことをおすすめします。
トラブル再発を防ぐためのポイント
一度cmdが起動しなくなるトラブルを経験すると、「また同じことが起きないか?」と不安になります。最後に、再発防止のためにできる工夫をいくつか紹介します。
- 怪しい「高速化ソフト」「レジストリクリーナー」を安易に使わない
- これらのツールがComSpecやAutoRunを勝手に書き換えてしまうケースがあります。
- 定期的に復元ポイントを作成する
- 大きなアップデートやドライバー更新の前に、手動で復元ポイントを作っておくと安心です。
- セキュリティソフトの警告をよく読む
- 「cmd.exeをブロックしました」といったメッセージを見逃さず、必要に応じて除外設定を行いましょう。
- 管理者権限での作業は必要なときだけに絞る
- 誤操作のダメージを減らすため、普段使いは標準ユーザー、作業時のみ管理者に昇格する運用も有効です。
コマンドプロンプトは、トラブル対応や高度な設定で今もなお重要なツールです。今回紹介した手順を順番に試していけば、「cmdが開かない」「Windows コマンド プロセッサが動作しない」といったトラブルでも、落ち着いて原因を絞り込み、復旧までたどり着けるはずです。

コメント