Grub 找不到核心
昨天我安裝了更新,想用 ++ 複製一些東西,但不小心用+終止了
Ctrl
核心更新。然後我再次啟動了更新過程,但是由於以下重新啟動,系統無法啟動,並且我從 Grub 收到此錯誤消息:Shift``C``Ctrl``C
error: file `/boot/vmlinuz-5.10-x86_64' not found. error: you need to load the kernel first. Press any key to continue... Failed to load both default and fallback entries. Press any key to continue...
然後我被扔進了 Grub 菜單。“Manjaro Linux 的高級選項”菜單包含條目“
Manjaro Linux (Kernel: 5.10.70-1-MANJARO x64)
”和“Manjaro Linux (Kernel: 5.10.70-1-MANJARO x64 - fallback initramfs)
”。兩者都只會導致相同的錯誤。如果我
ls (hd1,gpt2)/boot
在 Grub 命令行中執行(系統分區),唯一相關的條目是:linux510-x86_64.kver
使用
ls (hd1,gpt1)/boot
(引導分區),輸出看起來好多了,相關條目是:linux510-x86_64.kver vmlinuz-5.10-x86_64 initramfs-5.10-x86_64.img initramfs-5.10-x86_64-fallback.img linux515-x86_64.kver vmlinuz-5.15-x86_64 initramfs-5.15-x86_64.img initramfs-5.15-x86_64-fallback.img
5.15 核心是我使用實時啟動 USB 安裝的核心
chroot
,所以肯定有一些東西在那里工作……但它仍然無法啟動。我不再知道我所做的所有嘗試,主要是因為今天每次重新啟動都會重置我的瀏覽器歷史記錄,但其中一些是:
- 重新安裝所有
linux510*
軟體包- 安裝另一個核心版本
mhwd-kernel
grub-mkconfig
執行、和inside的各種組合(在最後幾輪中,它們的輸出看起來都很成功。mkinitcpio
)grub-install``update-grub``manjaro-chroot
我沒有嘗試回滾更新,因為上次我嘗試過,它只會讓混亂變得更大。
我正在使用 Manjaro 的正常(非測試版)版本,並且之前沒有過多地使用 Grub。我什至沒有使用任何雙啟動設置,顯然與大多數有類似問題的人不同。如果有幫助的話,我可以列出一些包更新,但現在我不會,因為其中有超過 1400 個。已安裝軟體包的一些版本號:
manjaro-release 21.2pre-1
grub 2.06-1
linux510 5.10.79-1
Live USB 也是 Manjaro,但版本較舊,僅安裝了必要的更新。
為什麼 Grub 找不到明顯存在的文件?當然:我該如何解決這個問題?
我的系統現在已修復,但我不知道我採取的哪些步驟實際上是必要的。最重要的部分可能是完全解除安裝活動核心並重新安裝它,而不是“只是”重新安裝它。
mhwd-kernel -r linux510
如果目前正在使用 5.10 核心,則不起作用,但這有效:yay -Rdd linux510 linux510-acpi_call linux510-bbswitch linux510-broadcom-wl linux510-headers linux510-nvidia linux510-r8168 linux510-rtl8723bu linux510-tp_smapi linux510-vhba-module linux510-virtualbox-host-modules
該
dd
部分使其忽略所有依賴性問題。我還再次解除安裝了在故障排除期間安裝的 5.15 核心。然後我用類似這樣的東西重新安裝了 5.10 核心:
yay -S linux510 linux510-extramodules
在此之後,該
/boot
目錄包含文件initramfs-5.10-x86_64-fallback.img
,initramfs-5.10-x86_64.img
,intel-ucode.img
和vmlinuz-5.10-x86_64
以前不存在的文件。我也使用了這個命令:
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
在那裡,我沒有使用EFI 目錄
/boot/EFI
,即使它確實存在。我不知道這個命令是否必要。我還使用了這些命令:
grub-mkconfig -o /boot/grub/grub.cfg mkinitcpio -P update-grub
我不知道其中哪些是必要的,如果有的話。之後,我重新啟動,在Bios中選擇了以“UEFI”開頭的條目,系統又正常啟動了。