
我在重新安裝時遇到了問題架構Linux在與 Windows 10 雙重啟動的電腦上。
由於各種不相關的原因,我決定備份舊的 Arch Linux 安裝中的所有內容並重新開始。我在 USB 上有 Arch Linux 即時媒體,所以我繼續從它啟動(在UEFI),格式化我的 Linux 分割區並完成 Arch Linux 安裝指南。
一切似乎都工作正常,直到我到達“安裝引導程式”部分。我並不是 100% 確定在這裡要做什麼,因為我之前使用的初學者指南已被刪除,取而代之的是(非常非常簡短的)安裝指南。
我知道我的電噴分割區已經包含了它所需的所有 GRUB 內容,但我認為需要對其進行更改才能進行新安裝。
- 我刪除了
/boot/EFI/grub.efi
存根,並重命名/boot/grub/
為/boot/grub.bak
. - 我跑了
使用和(我的 EFI 分割區的安裝點) 執行pacman -S grub os-prober
grub-install
arch 安裝指南中的命令,然後執行target=x86_64-efi
directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg
這就是我的麻煩開始的地方。運行該grub-mkconfig
命令給了我一個“ failed to connect to lvmetad
”錯誤,並表示它正在恢復到後備模式。它成功地grub.cfg
在正確的目錄中產生了一個文件,但是沒有選單條目。
當我嘗試啟動時,我得到的只是 GRUB 命令列。回到我的 Arch Linux 即時媒體並重做arch-chroot
,我進入我的/boot/grub.bak
並從那裡複製了 Arch Linux 的選單條目部分,確保將舊的 UUID 替換為我目前報告的 UUID。fstab
對於我的根目錄。當我重新啟動時,這會使 GRUB 選單恢復正常,但是選擇 Arch Linux 卻出現錯誤/vmlinux couldn't be found
: .
我回到chroot
現場媒體並重新運行grub-config
。仍然沒有菜單條目。我發現這個問題類似的問題表明grub-mkconfig
幫助程式腳本存在已知問題。這是 2014 年的事情,所以我認為我的問題不太可能是相同的,但我遵循了那裡的最佳答案。建議執行以下操作:
剛才遇到了同樣的問題,並找到了另一個解決方案。基本上,它涉及使主機
/run
目錄可供來賓使用。首先,我們將
/run
其安裝在訪客可以訪問的位置。我假設您的安裝分割區安裝在/mnt
.mkdir /mnt/hostrun mount --bind /run /mnt/hostrun
然後,我們
chroot
進入客人,並將我們的主機安裝/run/lvm
在客人的中/run
。arch-chroot /mnt /bin/bash mkdir /run/lvm mount --bind /hostrun/lvm /run/lvm
然後您就可以執行
grub-mkconfig
並且grub-install
不會出現任何 LVM 錯誤。如果您使用 LVM 進行安裝,這也會使命令發揮作用,這是值得的。完成後,請記得
/run/lvm
在退出 chroot 之前先卸載。
這樣做實際上消除了我的fails to connect to lvmetad
錯誤,但將其替換為/dev/sdx not initialized in UDEV
.該指令仍然會產生一個grub.cfg
沒有選單項目的選單。
我可以從筆記型電腦的「F12啟動時錘擊」功能表中選擇 Windows 啟動管理器來進入 Windows。
答案1
出現該問題只是因為您正在arch-chroot
使用os-prober
.解決我的問題的是:
grub.cfg
如果您尚未備份,請備份目前的。- 消除
os-prober
(pacman -R os-prober
,或者你可以禁用它) - 跑步
grub-mkcondig
- 重新啟動進入 Arch
- 安裝
os-prober
grub-mkconfig
再次運行
答案2
我有同樣的問題。這是一篇舊帖子,但我會發布我的解決方法,以防它對某人有幫助。
像您一樣,我有一個完整的備份,包括一個工作grub.cfg
文件。我從舊文件中提取了所需的選單條目grub.cfg
並將它們添加到/etc/grub.d/40_custom
.接下來我重新運行
grub mkconfig -o /boot/grub/grub.cfg
現在一切都很好。
os-prober
是一個低優先順序的便利項目,並不是真正必要的。就我個人而言,我不會花太多時間讓它發揮作用。這是個人選擇。有些人喜歡嘗試解決此類問題,我感謝他們的努力,但其他人需要他們的系統進行實際工作,有時間限制,並且需要啟動和運行。
最終這個問題將透過軟體或文件解決。如果您對如何在文件中設定選單項目有疑問40_custom
,您可以透過網路搜尋找到大量範例。