私はデュアルブートArch LinuxとWindowsを持っています。
Windowsのアップデート後にGRUBが失われ、システムがgrub recovery
。ただし、完全に起動せず、次のメッセージが表示されます。
filed to listen on Load/Save RF Kill Switch Status /dev/rfkill Match
...
failed to mount /boot/efi
# Enter recovery mode
...
回復モードでGRUBを復元しようとしました(wikiはここ):
mount /dev/sda5 /mnt # my Linux system
mount /dev/sda3 /efi # my EFI System partition
grub-install --target=x86_64-efi --efi-directory=/efi --bootloader-id=GRUB
grub-config -o /boot/grub/grub.cfg
これによりGRUBが再び戻り、Arch LinuxまたはWindowsを同じ方法で選択できるようになりました。
しかし、Arch Linuxを選択しても同じエラーメッセージが表示されましたfailed to mount /boot/efi
。 Windowsが正常に起動します。
内容を確認して/boot/efi
みると実際には空でした。私initramfs-linux.img
、initramfs-linux-fallback.img
およびファイルintel-ucode.img
はvmlinux-linux.img
にあります/boot/
。
しかし、私は/boot/grub/grub.cfg
探しinitrd
て、intel-ucode.img
正確にinitramfs-linux-lts.img
探してみてください/boot/
。
それからArchフォーラムで私に似た質問をたくさん見つけました(例:これ)。しかし、問題が発生する前はLinuxカーネルを更新せず、Linuxのインストールには何も触れませんでした。そして言及された文章とは異なり、私はvmlinuz-arch.efi
同様の内容もないようです/boot/
。
私もArch Wikiを探索するのに時間を費やしました。私が理解したのは、GRUBリカバリを扱うwikiページは、一般的に私がすでに試したのと同じプロセスを示唆していますがarch-iso
。arch-chroot
/dev/sda5
だからいくつかの質問があります。その中で最も重要な質問は:Arch Linuxの起動プロセスをどのように復元しますか?
もう一つのより具体的なものGRUBステップが過ぎましたが、なぜsystemd
再び見つけようとしますか?/boot/efi
? GRUBは開始項目を見つけませんか? GRUBが私のArch Linux initramを獲得したようです(少なくともGRUBは正しいGRUBエントリを実行し、エコーメッセージを追加して確認しました/boot/grub/grub.cfg
)。
もっと奇妙なことは出て/boot/efi
から/dev/sda2
Windows recovery environment
いいえ /dev/sda3
これはEFI System
:
$systemctl status boot-efi.mount
boot-efi.mount --- /boot/efi
Loaded: loaded (/etc/fstab; generated)
Active: Failed (Result: exit-code) ...
Where: /boot/efi
What: /dev/sda2
Docs: man:fstab(5)
man:systemd-fstab-generator(8)
答え1
WindowsのアップデートがEFIパーティションに非常に悪いことをしたようです。
あなたの質問に見られる主な問題は、systemdが/boot/efiを見つけることができないことです。
これは設定ファイルを使用してインストールされます/etc/fstab
。
何らかの理由で/etc/fstabの/boot/efiエントリは、もはや存在しないファイルシステムを探しています。これはEFIパーティションの再フォーマットと一致し、grubを再インストールする必要がある理由を説明します。
このコマンドを使用してblkid
(rootとして実行)、EFIパーティションのUUIDを見つけることができます.その後、/ etc / fstabで編集できます。これにより問題が解決します。
EFIは、ユーティリティが実行時にEFIを読み取って更新できるようにインストールされます。