私は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/sda
Windows /dev/sda1
EFI パーティションであると仮定します。
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.cfg
linux /vmlinuz-4.4.0-1-default root=UUID=6159e15d-f224-499d-88e0-437b5538f0f1 quiet splash=silent
blkid
/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
新しい開始項目を手動で作成し、高い優先順位を付与する必要がありました。今まではそんなに良くなった。