修復用於僅 Windows 引導的 Grub Bootloader(從雙引導中刪除 Linux 後)
我的筆記型電腦(單磁碟)上有雙啟動(Ubuntu+Win10)配置。由於空間限制,我不得不刪除 Ubuntu 分區(root、home、交換擴展分區)並將大 NTFS 分區擴展到整個磁碟。不幸的是,Grub 配置儲存在 Ubuntu 部分。所以我無法再啟動了。我剛到 grub 修復 CLI。
在使用 Ubuntu 20.04 live USB 記憶棒進行修復嘗試期間,我得到了 sda1(NTFS 500MB)、sda2(Windows 10、250GB)、sda3(Windows 恢復)和 sda4(300MB ext4 指定為 /boot 分區蠐螬)。對於後者,我嘗試修復現有配置。
grub-install --root-directory /mnt/sda4 /dev/sda
我使用這篇文章安裝了 grub 。我能夠啟動到 Grub CLI (2.04)。使用這篇文章中的命令,我可以再次啟動進入 Win10:
insmod chain insmod ntfs set root=(hd0,msdos1) chainloader +1 boot
但在這一點上,我被困住了。我看不到如何再次永久安裝 grub 菜單。像
update-grub
or之類的命令grub2-mkconfig
(從 live 棒執行)不需要從 live 棒執行。我試過chroot
了,但沒有成功。我找到的所有手冊都假設仍然安裝了一個 Linux 作業系統,這似乎是chroot
. 我想獲得一個正在執行的僅限 Windows 的配置。現在如果它使用 Grub 引導載入程序就可以了。使用 Windows 引導載入程序會更好,但我似乎無法啟動恢復模式,儘管在 Windows 啟動時按 F8 並且也沒有 Windows 恢復媒體。那麼有人知道如何在這種情況下將 Windows 啟動項永久添加到 Grub 嗎?不需要我在每次啟動時鍵入五個命令的快速解決方法也可以。謝謝 :-)
由於您
grub-install
使用實時媒體執行並將掛載的文件指定/mnt/sda4
為它的根文件系統,因此grub-install
現在應該有一個/mnt/sda4/boot/grub/
目錄,其中至少有一個i386-pc
子目錄。可能還有文件device.map
和/或grubenv
.只需將這五個 Windows 啟動命令輸入一個文本文件(最好使用 Linux 樣式的行結尾,因此可能使用 Linux 文本編輯器),然後將該文件放置為
/mnt/sda4/boot/grub/grub.cfg
,這應該是您的快速解決方法。這
grub2-mkconfig
僅用於執行腳本/etc/grub.d/
以解析簡化的配置文件/etc/default/grub
,並可選擇執行實用程序腳本,例如os-prober
自動檢測其他作業系統並grub.cfg
根據結果自動生成帶有漂亮菜單系統的文件。update-grub
本質上grub2-mkconfig
只是.沒有什麼可以阻止您跳過中間人並
grub.cfg
自己從頭開始編寫實際文件,除瞭如果您想做一個更複雜的菜單結構可能會相當乏味的事實。