Arch-Linux
在聯想 T440p 上使用 Windows 進行雙啟動時用 Arch 替換 Ubuntu 後修復 GRUB
我有聯想恢復 CD 並從全新安裝的 Windows 7 開始。我安裝了 Ubuntu,GRUB 能夠執行這兩個作業系統。
我嘗試遵循 Arch 文件,但不清楚何時應該將我的 chroot 放入新安裝中以執行 grub。/boot/grub/grub.cfg 應該在 sda1 還是 sda4 中?我在哪裡執行’chainload’命令?
我嘗試了啟動修復盤,但它不知道如何處理最新的 Arch 命令。
引導修復盤的輸出在這裡: http: //paste.ubuntu.com/24937724/
有人可以看看我哪裡出錯並給出如何從頭開始的說明嗎?什麼時候掛載 sda1?在我進入 chroot 之後?
請注意您的系統使用 EFI 引導方式。由於您對何時使用 chroot 感到困惑,因此我向您介紹了一種不安裝 GRUB 的方法。
- 啟動實時 Linux(Arch 安裝介質可能會在這種情況下進行,如果需要,顯式更改為控制台)。
- 使用 . 掛載目標系統分區
mount /dev/sda4 /mnt
。- 將目標 EFI 系統分區掛載到相應的目錄
mount /dev/sda1 /mnt/boot/efi
中。- 您目前的狀態具有兩個
grub.cfg
. 我建議刪除/mnt/boot/efi/grub/grub.cfg
. 理論上,grub.cfg
幾乎可以將其放置在任何地方,但/mnt/boot/grub/grub.cfg
它是一個標準位置。- 執行
grub-mkconfig -o /mnt/boot/grub/grub.cfg
。update-grub
這本質上與在 chrooted 環境中執行相同。在此過程中,os-prober
組件grub-mkconfig
應自動檢測 Windows 安裝並將其添加到配置中。編輯 /etc/lvm/lvm.conf 並將 use_lvmetad=1 更改為 use_lvmetad=0 執行 update-initramfs -k KERNEL_VERSION -u ;同步 6. 執行
grub-install --root=/mnt --target=x86_64-efi /dev/sda
。將 GRUB 的 EFI 變體安裝到 EFI 系統分區中。使用--root
參數,您可以告訴grub-install
在哪裡尋找grub.cfg
.