LinuxをPCで起動しようとして立ち往生しています。私はさまざまなラップトップでOpenSUSEとUbuntuを何度も試してきましたが、どれも機能しません。 _update-grub
_を何回実行しても、実行されることはありません。
両方とも MS署名済みshims であるため、UEFIはそれらを適切にロードする必要がありますが、実際には_update-grub
_または_grub2-install
_の出力は、常にgrubが正常にインストールされたことを示します。
セキュアブートをオフにしてgrubを再度インストールしようとしましたが、まだ機能しません。私もオフにしました fastboot、fast startup、Intel SRT しかし、それも役に立ちません。
_boot-repair
_を試しましたが、エラーが表示されることは一度もありません。出力ログには次のように記載されています。
コンピュータがWindowsで直接再起動する場合は、BIOSで起動順序を変更してみてください。
BIOSで起動順序の変更が許可されていない場合は、Windowsブートローダーのデフォルトの起動エントリを変更してください。
たとえば、Windowsを起動してから、管理コマンドプロンプトに次のコマンドを入力できます。
_bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
_
したがって、UEFI設定で起動順序を変更するオプションはありません。BIOSのようにデバイスの起動順序のみを変更し、最後のコマンドを実行する必要があります。
今は動作しますが、そのようなWindowsブートローダーからgrubをチェーンロードしたくありません。新しいPCでLinuxだけを実行し、仮想マシンでのみWindowsを実行したいので、grubを直接ロードしたい。これに対する解決策はありますか?
Uefiシステムを使用している場合、技術的にはgrubはまったく必要ありません。
しかし、質問に答えるために、ファームウェアの起動時オプションから起動ターゲットを変更することさえできない場合、UEFIの実装は非常に制限されているように思われます。
efibootmgr
を使用して、Linuxからこれらのオプションを編集できます。 grub efiを最初のターゲットとして設定するだけで、grubを適切に構成すれば、そこからすべてを処理できるはずです。
不格好なAcerのUEFIで再び問題が発生しました。どういうわけか、efibootmgr
を実行してブートアイテムを編集すると、変更を保存できません。再起動後、すべてがリセットされたため、Linuxを起動できません。私は見つけました この実用的な答え これはMicrosoftフォルダの名前を変更し、別のエントリを追加します
su -c 'cd /boot/efi/EFI && gzip /boot/efi/EFI/Microsoft'
su -c 'mkdir /boot/efi/EFI/1Microsoft && mkdir /boot/efi/EFI/1Microsoft/Boot && mv /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/1Microsoft/Boot/bootmgfw.efi'
su -c 'efibootmgr -c -w -L Win7 -d /dev/sda -p 1 -l '\EFI\1Microsoft\Boot\bootmgfw.efi' -b 6'
それは役に立ちます...私がWindowsを更新するまで。だから私は掘り下げて別の方法を見つけました。
スタートアッププレス中 F2 UEFIセットアップに入り、[セキュリティ]タブに切り替えます。そこに "実行するために信頼できるものとしてUEFIファイルを選択する"オプションが表示されます。押す enter その上で、使用するブートローダーのefiファイルを選択します。希望の名前を入力し、はいを押して確認すると、そのファイルがブートメニューに追加されます。これで、必要に応じて[ブート]タブに切り替えて順序を変更できます。または単に押す F12 起動時にそのメニューを起動する