ブートローダが消えるのを防ぐ方法は?

ブートローダが消えるのを防ぐ方法は?

私はBitlockerとSecure Bootを使用してLenovo Yoga C930でGrubとUEFIを介してManjaroとWindowsをダブルブートしています。 BIOSでセキュアブートを無効にするとManjaroで正常に起動でき、BIOSでセキュアブートを再度有効にするとWindowsから起動できます。不明な理由で、ランダムに見える理由でLinuxブートローダを失うことになりました。削除されたのか、突然認識されないのか、それとも何なのかはわかりませんが、起動できず、BIOSにオプションとして表示されません。

Wikiの指示に従ってGrubを再インストールできましたが、最終的には消えました。何が起こっているのか、そしてこれが起こらないようにするにはどうすればよいですか?

答え1

私はWindowsがシステムを「がんのない」状態に保っていると思います。

[編集] 使用する起動方法に応じて、従来の起動方法とUEFIという2つのソリューションがあります。

遺産:

これをbcdブートマネージャとして使用して、WindowsまたはLinuxを起動できます。

grub がインストールされ、/dev/sdaWindows /dev/sda1EFI パーティションであると仮定します。

Linuxでは:

mount /dev/sda1 /mnt
dd if=/dev/sda of=/mnt/linux.bin bs=512 count=1

Windowsの場合:

bcdedit /create /d "Linux" /application bootsector

BCDEdit は項目の英数字識別子を返します。残りのステップではこれを{ID}と呼びます。 {ID}を実際に返された識別子に置き換える必要があります。 {ID} の例は {d7294d4e-9837-11de-99ac-f3f3a79e3e93} です。次に、linux.binファイルのコピーをホストするパーティションを指定します。

bcdedit /set {ID} device partition=c:

linux.binファイルへのパス:

bcdedit /set {ID}  path \linux.bin

起動時に表示されるメニュー項目:

bcdedit /displayorder {ID} /addlast

最後に、メニューオプションが表示されるタイミングを指定してみましょう。

bcdedit /timeout 30

それだけです!再起動すると、WindowsまたはLinuxで起動することを選択できるメニューが表示されます。 Linuxを選択すると、Linuxブートを選択できるブートローダメニューに移動します。

https://www.iceFlatline.com/2009/09/how-to-dual-boot-windows-7-and-linux-using-bcdedit/

[編集する] UEFI

Windowsシステムには、起動できるEFIパーティションがあります。 Linuxではこれを/boot。中。grub.cfglinux /vmlinuz-4.4.0-1-default root=UUID=6159e15d-f224-499d-88e0-437b5538f0f1 quiet splash=silentblkid/etc/grub.d

grub 構成を作成します。/boot/boot/efi/EFI/manjaro/grub.cfg

grub2-mkconfig -o /boot/boot/efi/EFI/manjaro/grub.cfg

再起動すると「行く」ことができます。

答え2

約2年前、Trisquel LinuxとWindows 8を使用したデュアルブート中に同様の問題が発生しました。質問/回答を投稿しました。ここスーパーユーザー関連(当時、何らかの理由でデュアルブート問題がU&Lのテーマから外れたと聞きました)。

この記事に示すように、問題はWindowsがGRUBを削除または上書きするのではなく、GRUBの代わりにWindowsブートローダを使用するようにUEFI設定を定期的に変更することです。解決策は、Windowsでbcdeditを使用し、デフォルトのブートローダパスをGRUBに設定して問題を解決することでした。

同じ解決策があなたにとってうまくいくかどうかはわかりませんが、試してみる価値がありますか?

(また、Windowsを起動するためにセキュアブートを有効にする必要はないと思います。セキュアブートを無効にしてWindows 8で起動しました。)

答え3

実際、この問題は私が直接解決しました。その結果、efibootmgr新しい開始項目を手動で作成し、高い優先順位を付与する必要がありました。今まではそんなに良くなった。

関連情報