USBメモリを挿すたびに「自動再生」のダイアログが出たり、フォルダが勝手に開いたりして「毎回うるさいな…」と思ったことはありませんか?
Windowsには「自動実行(AutoRun)」という機能があり、接続したメディアのプログラムを自動的に起動する仕組みがあります。便利な反面、過去にはUSBウイルスの感染経路になったこともあり、セキュリティ上は無効にしておくことを推奨する専門家も多いです。
この記事では、USBの自動実行を止める3つの方法を紹介します。
そもそも「自動実行」ってなに?
「AutoRun」「AutoPlay」と呼ばれる機能で、USBメモリやCDなどを接続したとき、ルートフォルダにある autorun.inf というファイルを読み込んでプログラムを起動します。
Windows 7以降はAutoRunの自動実行はかなり制限されていますが、自動再生ダイアログ(AutoPlay)は依然として動作します。完全に止めるにはレジストリかポリシー設定が確実です。
3つの解決方法
【基本】Windowsの設定から自動再生をオフにする
設定アプリから操作できる、最も簡単な方法です。
- スタートメニュー → 「設定」(歯車アイコン)
- 「Bluetoothとデバイス」→「自動再生」
- 「すべてのメディアとデバイスに自動再生を使う」をオフ
Windows 10の場合:設定 → 「デバイス」→「自動再生」
【効率重視】PowerShellで一括設定
コマンド一発で有効/無効を切り替えられます。管理者権限で実行してください。
# 自動実行を全ドライブで無効にする(管理者PowerShell)
Set-ItemProperty -Path "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionPoliciesExplorer" -Name "NoDriveTypeAutoRun" -Value 0xFF -Type DWord
# 変更を即時反映(エクスプローラー再起動)
Stop-Process -Name explorer -Force
0xFF(255)は「すべての種類のドライブで自動実行を無効」を意味します。元に戻すには値を 0x91 に変更してください。
【参考】レジストリで直接設定する
グループポリシーがない環境や、設定値を細かく制御したい場合に使います。
レジストリエディタ(Win+R → regedit → Enter)を開き、以下のキーに移動:
| 値の名前 | 種類 | 値 | 意味 |
|---|---|---|---|
| NoDriveTypeAutoRun | REG_DWORD | 0xFF(255) | 全ドライブで無効 |
| NoDriveTypeAutoRun | REG_DWORD | 0x91(145) | Windows標準(リムーバブルのみ無効) |
| NoDriveTypeAutoRun | REG_DWORD | 0x00 | 全ドライブで有効 |
キーが存在しない場合は、右クリック→「新規」→「DWORD(32ビット)値」で作成し、名前を「NoDriveTypeAutoRun」にしてください。
- HKEY_LOCAL_MACHINEのキーなので、変更には管理者権限が必要です。
- レジストリ編集前には必ずバックアップ(ファイル→エクスポート)を取ってください。
- 設定はPC再起動後またはエクスプローラー再起動後に反映されます。
3つの方法を比較する
| 方法 | 難易度 | 対象 | おすすめな人 |
|---|---|---|---|
| 【基本】Windowsの設定 | ★☆☆ | 現在のユーザー | さっと設定したい人 |
| 【効率重視】PowerShell | ★★☆ | PC全体 | 完全に止めたい人 |
| 【参考】レジストリ | ★★★ | PC全体 | 細かく制御したい人 |
よくある質問
Q. 自動実行を無効にしたら、USBが使えなくなりますか?
A. 使えます。「自動でプログラムが起動しない」だけで、エクスプローラーから手動で開けば普通に使えます。
Q. 設定後もダイアログが出ることがあるのですが?
A. 設定の反映にエクスプローラーの再起動が必要な場合があります。それでも出る場合は、PCを再起動してみてください。
まとめ
USBの自動実行は便利な反面、ウイルス感染リスクにもなってきた経緯があります。特に不特定多数のUSBを挿す環境では、無効にしておくことをお勧めします。
NoDriveTypeAutoRun という一つのレジストリ値で、どのドライブ種別を制御するかを細かく設定できます。設定アプリの操作も、最終的にはこの値を変えているだけです。
