私はLenovo y500を使用しており、250 GBのSamsung SSDを購入した後、Arch LinuxとWindows 8.1で構成されるデュアルOSを使用することにしました。起動の問題を防ぐため、後でArchをインストールしました。インストールにはUEFIを使用し、systemd-bootを選択しました。 Linuxブートローダーは正常に動作しました。しかし、何らかの理由で、起動画面が画面に正しく配置されず、BIOSを更新することにしました(問題を修正しなかったため後悔しました)。問題は、私の検索によると、ファームウェアに関するものだからです。
その後、ブートオプションでLinuxブートローダーが表示されませんでした。 Windowsブートローダーしかありませんでした。 EFIパーティションを確認したところ、systemd-bootファイルが変更なしに存在していることがわかりました。
PCがLinuxブートローダーを認識できない理由を理解できませんでした。これについてもインターネットには情報がありませんでした。だから私の質問は:
BIOSの更新によりセキュアブートが再度有効になったと言わざるを得ません。私はそれを無効にしましたが、それでもうまくいきませんでした。更新プログラムがセキュアブートを再度有効にしたときにEFIに何らかの影響を与えた可能性がありますが、よくわかりません。
Systemd-bootでも同じ問題が発生しました。 MSI gs4 の最近のBIOSパッチの後、systemdブートローダーがBIOSオプションから削除されました。しかし、grub2(ubuntuのローダー)とms-boot(windows ')は引き続き正常に検出されます。 systemd-bootの更新、セキュアブートの切り替え、またはBIOSでのその他のランダムクリックは、いずれも役に立ちませんでした。あなたの質問については:
編集:
はい、ようやくsystemd-bootから起動できました。私にとって、efi構造の再現は、何らかの魔法の理由で役立ちました。修正する手順は次のとおりです。
bootctl install
、すでにefiモードでブートしていて、ブートパーティションがマウントされているためsync
ファイルを保存し、BIOSで再起動します。 systemdブートがUEFIローダーに表示されます。最初にマークします。これでsystemdの再起動後、bootが利用可能になります!これがお役に立てば幸いです。
もっと簡単な方法があります。 WindowsのブートオプションからUEFIファームウェア設定を入力するだけです。起動順序を変更して、Linuxを最初に起動します。変更を保存して終了します。再起動するとgrubが読み込まれ、2つのOSのどちらかで起動できます。
ライブCDまたはUSBを使用し、ハードドライブにあるArchlinuxにchrootしてからupdate-grub
を実行します。また、grub-install /dev/sda && update-grub
を実行する必要がある場合もあります。
ハードドライブに関する詳細情報(パーティションテーブル、タイプ、およびパーツスキーム...)を提供できる場合は、lsblk
およびSudo fdisk -l
の標準出力
昇格されたコマンドプロンプトを開き(Windows Key
を押し> CMD
を入力>コマンドプロンプトを右クリック> Run as administrator
を選択)、次のように入力します。
bcdedit /set {bootmgr} path \EFI\GRUB\grubx64.efi
(上記のコマンドで置き換えることができますGRUB
withdebian
Debian OSの場合、ubuntu
Ubuntu OS)