私はLenovo y500を使用していますが、250GBのSamsung SSDを購入した後、Arch LinuxとWindows 8.1で構成されたデュアルオペレーティングシステムを使用することにしました。起動の問題を防ぐために、後でArchをインストールしました。 UEFIを使用し、インストールのためにsystemd-bootを選択しました。 Linux ブートローダが正常に動作します。しかし、何らかの理由でブート画面が私の画面と正しく整列しておらず、私の検索によると、問題がファームウェアに関連していたので、BIOSを更新することにしました(問題を解決できなかったので後悔しています)。
その後、起動オプションでLinuxブートローダを見ることはできません。 Windowsブートローダ専用です。 EFIパーティションを確認したところ、systemd-bootファイルが変更なしで存在することがわかりました。
コンピュータがLinuxブートローダを表示できない理由を理解できません。インターネットにもこれに関する情報はありません。だから私の質問は次のようになります
- BIOSアップデートがEFIブートにどのような影響を与えますか?
- 実際にアップデートに問題がある場合は、ロールバックを試す必要がありますか?
- 私の質問については、Arch Linux Live USBを使用してEFIを修正できますか?それではどうですか?
BIOSアップデートがセキュアブートを再度有効にすると言う必要があると思います。無効にしましたが動作しません。セキュアブートが再度有効になると、アップデートはEFIに若干の影響を与える可能性がありますが、わかりません。
答え1
systemd-bootにも同じ問題があります。最近のBIOSパッチの後 msi gs40、systemdブートローダがBIOSオプションから消えました。ただし、grub2(Ubuntu用ローダー)とms-boot(Windows用)はまだ正常に検出されます。 systemd-bootアップデート、セキュアブート切り替え、またはBIOSの他のランダムクリックも役に立ちませんでした。あなたの質問について:
- BIOSアップデートがEFIブートにどのような影響を与えますか? この問題は、新しいEFI BIOSバージョンのsystemd-bootサポートに関連しているようです。バグトラッカーにはまだ問題がなく、怠惰なので問題を作成できません。
- 実際にアップデートに問題がある場合は、ロールバックを試す必要がありますか? いいえ、私が経験したところによると、古いBIOSバージョンを更新すると、ラップトップがレンガのように変わることがあります。特別な方法がなければ、BIOSファームウェアを復元することはできません。プログラムメーカー。必ずしもそうではありませんが、リスクを負うわけではありません。
- 私の質問については、Arch Linux Live USBを使用してEFIを修正できますか?それではどうですか? grub2などに切り替えます。ブートローダー。 Archlinux usb livecdはまだUEFIモードで起動する必要があります。 @younesの答えがいいでしょう。詳細については、次を参照してください。ウィキペディア
編集する:
まあ、ついにsystemd-bootから起動できました。私にとっては、efi構造を再構築することが何らかの魔法の理由で役に立ちました。修正手順は次のとおりです。
- すべてのLinux livecdから起動します(archlinuxによって実行されます)。
- ブートパーティションをマウントし、その中のすべてのデータをどこかにバックアップします。
- ブートパーティション内のすべてのファイルを削除する(ファイルのみを削除し、パーティションに対して何もする必要はありません)
bootctl install
efi モードで起動し、起動パーティションがマウントされたので、systemd 起動を再インストールします。sync
キャッシュを更新してBIOSから再起動するコマンドを実行します。 systemdの起動がUEFIローダーに表示されます。最初にマークしてください。これで、再起動後にシステム起動を使用できるようになります!- livecdから古いUEFI構造を復元します。 (バックアップされた/bootをパーティションに新しくインストールされたファイルにコピーして上書きします。)
- 再起動してシステムから起動します。
これがあなたに役立つことを願っています。
答え2
管理者特権のコマンドプロンプトを開き(クリックWindows Key
>タイプCMD
>コマンドプロンプトを右クリック>選択Run as administrator
)、次のように入力します。
bcdedit /set {bootmgr} path \EFI\<<LINUX OS>>\grubx64.efi
(上記のコマンドで <<LINUX OS>>
debian
Debianオペレーティングシステムとubuntu
Ubuntuオペレーティングシステムに適用できます。例bcdedit /set {bootmgr} path \EFI\debian\grubx64.efi
:)
答え3
より簡単な方法があります。 Windows起動オプションでUEFIファームウェア設定を入力するだけです。起動順序を変更し、Linuxが最初に起動するようにします。変更を保存して終了します。再起動すると、grubがロードされ、両方のオペレーティングシステムのいずれかで起動できます。
答え4
ライブCDまたはUSBを使用して、ハードドライブからArchlinuxでchrootをupdate-grub
実行することもできますgrub-install /dev/sda && update-grub
。
ハードドライブ(パーティションテーブル、タイプ、部品スキーム...)lsblk
と標準出力に関する追加情報を提供できる場合sudo fdisk -l