ノートパソコン起動時の startup.nsh エラーを解消する方法

startup.nshエラーは、OSがプリインストールされていないノートパソコンや、Windowsの再インストールに失敗した際によく発生します。OSの代わりに内蔵のUEFI Shellが起動してしまう問題です。このエラーを解消するには、起動順序の修正、シェル自体の無効化、またはWindowsブートローダーの修復が必要です。

方法1: UEFI ShellでEXITコマンドを使用する

これは、OSが正常にインストールされているにもかかわらず、起動優先順位が乱れ、誤ってUEFI Shellが最初に読み込まれてしまった場合の一時的な解決策です。このコマンドはシェルを終了させ、起動リスト内の次のデバイスに制御を渡します。

  1. 画面に Shell> プロンプトが表示されるのを待ちます。
  2. exit コマンドを入力し、Enter キーを押します。
  3. システムは次の起動デバイスを開始しようと試みます。Windowsが起動した場合は、次回の電源投入時にエラーが再発する可能性が高いため、以下の恒久的な解決策に進んでください。

方法2: BIOSで起動優先順位を変更する

問題の主な原因は、内蔵UEFI Shellが起動キューの最初に設定されていることです。OSがインストールされたディスクを最優先に設定し、UEFI Shellはリストの最後尾に移動させるか、完全に無効化する必要があります。

  1. ノートパソコンを再起動し、BIOS/UEFI設定に入ります。メーカーロゴ表示中に、DeleteF2F12、またはEscキー(デバイスによって異なります)を押してください。
  2. BIOSインターフェース内で、起動に関するセクションを探します。通常、BootBoot Priority、またはBoot Sequenceという名前です。
  3. 起動デバイスのリストから、システムドライブを示す項目(例: Windows Boot Manager、P0: ドライブ名、UEFI: ドライブ名)を見つけます。
  4. その項目をリストの一番上に移動します。通常、+/-キーまたはF5/F6キーを使用します。
  5. UEFI ShellまたはBuilt-in EFI Shellという項目を起動キューの最後尾に移動します。
  6. F10キーを押し(またはExitタブに移動し)、変更を保存して再起動を確認します。

方法3: BIOS設定でUEFI Shellを無効にする

シェルを完全に無効にすることで、いかなる状況でもシェルが起動しなくなります。このオプションは、最新のマザーボードのほとんどに存在します。

  1. 起動時にDeleteF2、またはF12キーでBIOS設定に入ります。
  2. BootAdvanced、またはSecurityセクションを探します。
  3. 内蔵シェルに関連するパラメータを見つけます。名前はLaunch EFI Shell from filesystem deviceBuilt-in EFI Shell、またはEFI Shell Supportなどです。
  4. このパラメータの値をEnabledからDisabledに変更します。
  5. F10キーを押すか(またはSave & Exitを選択)、設定を保存して再起動を確認します。

方法4: Windowsブートローダーを修復する

上記のいずれの方法でも解決しない場合、OSのブートローダーが破損している可能性が高いです。修復には、WindowsのインストールUSBメモリが必要です。

  • インストールメディアをノートパソコンに接続し、そこから起動します。
  • Windowsセットアップの最初の画面で次へをクリックし、左下にあるコンピューターを修復するを選択します。
  • 次の画面でトラブルシューティング、詳細オプション、コマンドプロンプトの順に選択します。
  • コマンドプロンプトウィンドウで、以下のコマンドを順番に実行し、各コマンドの後にEnterキーを押します。
diskpart
list disk
select disk 0 (システムがインストールされているディスクの番号を指定します。ディスクが1つしかない場合は通常0です)
list volume
exit

diskpartを終了したら、以下のコマンドでブートローダーを修復します。

bcdboot C:\Windows (ここでCはWindowsがインストールされたパーティションのドライブ文字です。前の手順で表示されたボリュームリストのサイズを参照して特定してください。普段見慣れた文字と異なる場合があります)

ブートファイルの作成が成功したというメッセージが表示されたら、コマンドプロンプトを閉じ、インストールメディアを取り外してノートパソコンを再起動します。

方法5: EFIパーティションから startup.nsh ファイルを削除する

startup.nshファイルは、UEFI Shellの自動起動スクリプトです。これが隠しシステムパーティションに存在すると、起動のたびにシェルが実行されます。このファイルを削除することで、問題を直接解決します。

  1. 方法4の1~3項で説明したように、Windowsインストールメディアから起動し、コマンドプロンプトを開きます。
  2. コマンドプロンプトで、diskpartユーティリティを起動します。
  3. list diskコマンドでディスクの一覧を表示し、システムディスクを特定します。
  4. select disk 00は該当する番号に置き換えてください)でそのディスクを選択します。
  5. list partitionコマンドでパーティション一覧を表示します。
  6. サイズが100~500MBでSystemタイプの小さなパーティションを見つけます。select partition NNはそのパーティション番号)で選択します。
  7. そのパーティションに、assign letter=Zコマンドで一時的なドライブ文字(例: Z)を割り当てます。
  8. exitコマンドでdiskpartを終了します。
  9. Z:と入力して、このドライブに移動します。
  10. dirコマンドでルートディレクトリの内容を表示します。startup.nshファイルがここにある場合は、del Z:\startup.nshで削除します。
  11. ルートにファイルがない場合は、ブートフォルダに移動して削除します。
cd EFI\Boot
dir (ファイルが存在することを確認)
del startup.nsh

diskpartコマンドで再度diskpartを起動し、該当ボリュームを選択し(select volume Z)、remove letter=Zコマンドでドライブ文字を削除し、パーティションを非表示に戻します。

作業を終了し、コンピューターを再起動します。

方法6: UEFI Shellコマンドで起動エントリを設定する

UEFI Shellのコマンドラインから、起動エントリを手動で管理(作成、削除、順序変更)できます。これは、BIOSインターフェースで目的の結果が得られない場合の代替設定方法です。

UEFI Shellが起動し、Shell>プロンプトが表示されるのを待ちます。

現在の起動エントリを表示するには、以下のコマンドを入力し実行します。

bcfg boot dump

コマンドの出力を確認します。bootmgfw.efiへのパスを持つWindows Boot Managerがシステムのブートローダーです。

Windowsのエントリをリストの先頭にするには、その現在の番号(例: 0002)を特定し、移動コマンドを実行します。

bcfg boot mv 0002 0

( 0002は実際のエントリ番号に置き換えてください)

Windowsエントリが存在しない場合は、以下のコマンドで手動追加します。

bcfg boot add 0 FS0:\EFI\Microsoft\Boot\bootmgfw.efi "Windows Boot Manager"

( FS0の代わりにFS1など、別のボリュームを指定する必要がある場合があります。mapコマンドでボリュームを調べてください)

不要なエントリ(UEFI Shell自体など)を削除するには、以下のコマンドを使用します。

bcfg boot rm 0001

( 0001は消去したいエントリの番号に置き換えてください)

すべての変更を加えた後、resetコマンドでノートパソコンを再起動します。

方法7: BIOSのリセットとCMOSのクリア

ファームウェア設定を工場出荷時状態にリセットすることで、問題の原因となった誤った設定を解消します。この操作は安全で、ディスク上のユーザーデータには影響しません。

  1. ノートパソコンを再起動し、BIOSに入ります。
  2. 設定リセットのオプションを探します。通常はメインタブかExitセクションにあり、Load Setup DefaultsLoad Optimized DefaultsRestore Defaultsなどと呼ばれます。
  3. このオプションを選択し、確認して、終了時に変更を保存します。
  4. ソフトウェア的なリセットが利用できない場合は、ハードウェア的なCMOSクリアを実行できます。ノートパソコンの電源を完全に切り、ACアダプタを外します。
  5. 底面カバーを開け、マザーボード上の丸く平らなボタン電池を見つけます。ソケットから慎重に取り外します。
  6. 3~5分間待ってから電池を元に戻し、カバーを閉じてノートパソコンの電源を入れます。

方法8: UEFI設定に従ったWindowsの正規インストール

誤ったシステムインストール(GPTディスクへのレガシーモードでのインストールなど)が、エラーの根本原因であることが多いです。正しいパラメータで再インストールすることで、UEFIと互換性のある正しいブートローダーが確実に作成されます。

  1. UEFIモードで動作するように設定されたWindowsインストールUSBメモリを作成します。これにはRufusなどのツールを使用できます。ISOイメージを選択し、「パーティション構成」でGPT、「ターゲットシステム」でUEFI(非CSM)を指定します。
  2. ノートパソコンのBIOSに入り、起動モードに関する設定を探します。パラメータ名はBoot ModeUEFI/Legacy BootCSM Supportなどです。
  3. モードをUEFI Only(またはUEFI)に設定し、CSMまたはLegacyパラメータをDisabledにします。
  4. インストール中の競合を避けるため、Secure Bootを一時的に無効化します。
  5. 設定を保存して再起動します。
  6. 作成したUSBメモリから起動します(起動メニューでは、UEFI:というプレフィックスが付いて表示されるはずです)。
  7. Windowsセットアップでインストール先パーティションを選択する際、ディスク上の既存のパーティションをすべて削除し、「未割り当て領域」の状態にします。
  8. この未割り当て領域を選択し、次へをクリックします。セットアッププログラムがEFIシステムパーティションを含む必要なパーティションを自動的に作成し、ブートローダーファイルを正しく配置します。

最新の説明書