すべてのドライブをアンマウントしてノートブックをクリーニングしましたが、システムの電源を入れると起動メディアが見つからないというメッセージが表示されます。 Windows 10、Kali Linux、Ubuntuで3回起動しました。 UbuntuとWindows 10は標準のハードドライブにインストールされ、KaliはSSDにインストールされます。 UEFIブートパーティションを台無しにしましたか? UEFIブートパーティションは、以前は標準のハードドライブに設定されていました。 BIOS設定でUEFIブートをオンにしました。起動を元に戻すにはどうすればよいですか?また、BIOSにUEFIブートメニューを追加してみました。ところで、「メディアが見つかりません」と浮かびます。起動メニューを追加できません。
答え1
何かが間違っています。
/etc/fstab
カーネルブートオプション、initramfs設定、およびコンテンツに基づいて、すべてのブート時にすべてがマウントされるため、ファイルシステムをアンマウントするだけでは継続的な影響はありません。
BIOS起動設定を変更することが原因である可能性が高いと思います。また、一部のUEFIファームウェアは、古いブート変数がNVRAMを複雑にするのを防ぐために検出できなくなったディスクに関連するUEFIブート設定を消去するのに「役立ちます」。したがって、ノートブックからディスクを物理的に取り出し、ディスクを取り付けずにノートブックを起動すると、これが原因である可能性があります。
UEFIブート変数
デフォルトのUEFIブートスタイルを使用するには、特定のUEFIブート変数を正しく設定する必要があります。システムブートモードをレガシーBIOSからUEFIに切り替えたばかりの場合、これは発生する可能性はありません。これらの変数がない場合、UEFIファームウェアはEFIシステムパーティション(ESP)またはリムーバブルメディアのアクセス可能なFATパーティション内の特定の代替/リムーバブルメディアブートローダファイルのみを検索します。 64ビットx86ハードウェアでは、このブートローダファイル名は\EFI\BOOT\bootx64.efi
関連するFATパーティションのルートディレクトリに相対的です。
\EFI\BOOT\bootx64.efi
したがって、ディスクにUEFIブート変数がない場合、ディスクはUEFIデフォルトスタイルで起動できません。とても簡単です。現在そのファイルを含む利用可能なディスクがない場合は、No media found
エラーメッセージが表示されます。
UEFIブート変数は追加のブートローダーを指定でき、ESPパーティションの予想されるディレクトリ構造は複数のブートローダーが共存できるように設計されています。
たとえば、ほとんどのLinuxディストリビューションにはUEFIブートローダが含まれているか\EFI\<name of distribution>\shimx64.efi
(一般的なソリューションであるシムブートローダを使用してセキュアブートがサポートされている場合)、セキュアブート\EFI\<name of distribution>\grubx64.efi
サポートは必要ありません。 UbuntuとKaliの両方がこのモードを使用する必要があります。
Windows 10用のUEFIブートローダは\EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
。
修正と回避策
UEFIファームウェア設定(「BIOS設定」、UEFI BIOSを呼び出すのは少し間違った名前にもかかわらず)「ファイルから起動」オプションが含まれている場合は、上記のブートローダファイルのいずれかを選択して適切なオペレーティングシステムを起動できます。 。 .. ...しかし、それ自体は継続的な修正にはなりません。
これを行うと、UEFIブート変数が見つからない場合は自動的に再構築する「自己修復」機能があるように見えるので、最初にWindows 10を起動することをお勧めします。許可しない限り、オペレーティングシステムの他の起動変数を上書きすることもできます。 Windowsでは、Boot0000
独自の最初のUEFIブート変数(と呼ばれる)を予約します。または、Windows 10インストールメディアから起動し、[コンピュータの回復]を選択してUEFIブート変数を自動的に回復し、Windows UEFIブートローダが機能しないような場合は修正することもできます。
Windows 10が回復したら、UEFI設定(利用可能な場合)の「ファイルから起動」オプションを使用するか、Linuxインストールメディアから回復として起動するか、Linuxインストールを使用してLinuxインストールのいずれかを起動します。ライブブートメディア提供完全に独立した環境です。そこに到達すると、このefibootmgr
コマンドを使用してLinuxインストール用の不足しているブート変数を再生成できます。まず、マニュアルページをお読みください。ここに良い例がありますman efibootmgr
。
Windows 10には、UEFIブート変数を編集するための基本的なコマンドもありますbcdedit
。これを使用するには、管理者権限でコマンドプロンプトを実行する必要があり、Linuxより人間工学的ではないと思いますefibootmgr
(Linuxユーザーに対して偏見があるかもしれませんが)。しかしそれはできる仕事をしてください。
必須コマンドbcdedit
:
bcdedit /create /d "<description of your Linux boot option>" {fwbootmgr}
このコマンドは、次のすべてのコマンドで使用される長いGUID文字列を返します。次のように表示されます。<GUID>
bcdedit /set <GUID> device partition=S:
同じESPパーティションを使用してWindowsブートローダとLinuxブートローダを含めると、ESPがWindowsにデフォルトでインストールされていなくても、Windowsドライブ文字S:がESPに割り当てられます。 Linux用の他のESPを使用している場合は、このプロセスを開始する前にESPにWindowsドライブ文字を割り当て、partition=S:
それに応じてこのセクションを変更する必要があります。
bcdedit /set <GUID> path \EFI\<name of Linux distro>\shimx64.efi
これにより、ブート変数に関連付けられたブートローダパス名が設定されます。
bcdedit /set {fwbootmgr} default <GUID>
これにより、新しく追加されたブート変数がデフォルトのブートオプションに設定されます。これは、起動するオペレーティングシステムを選択するために使用できるGRUB起動メニューを提供する可能性が高いためです。