GRUB Rescue - 一次又一次設定引導和前綴

GRUB Rescue - 一次又一次設定引導和前綴

我對 Ubuntu 中的編碼幾乎一無所知。我目前正在雙重啟動 ubuntu 16.04 LTS 和 Windows 10。但今天發生了一個錯誤,說

“找不到檔案系統”

然後grub救援開始。經過一段時間的搜尋後,我找到了執行這些操作的解決方案:

ls
set prefix=(hd0,msdos5)/boot/grub
insmod normal
normal

我知道正在列出硬碟分割ls區(如果我錯了請告訴我)。set prefix當我選擇msdos5時出現錯誤。經過一番嘗試後我選擇了msdos6。然後它就跑了。但問題是,從這個問題的另一個解決方案中,我寫了這段程式碼:

set boot=(hd0,msdos6)

我想我搞砸了。可能,它涉及到硬碟的哪個分區將啟動。編寫程式碼我需要運行筆記型電腦的時候。我該如何解決這個問題?我可能還需要知道正在啟動的分區(msdos*)&我不知道如何找到它。

答案1

grub rescue>如果在啟動時出現提示並且您必須編寫如下程式碼,我得到了此類問題的解決方案:

grub rescue> ls
grub rescue> set boot=(hd0,msdos*)
grub rescue> set prefix=(hd0,msdos*)/boot/grub
grub rescue> insmod normal
grub rescue> normal

啟動後,基於 Linux/Ubuntu 的作業系統將加載,然後打開終端機並寫入命令:

useranf@ ~ $ sudo update-grub

然後輸入這個指令:

useranf@ ~ $ sudo grub-install /dev/sda

經過這些操作後,現在終於重新啟動系統。

答案2

在 Deepak Bundela 上述的回答中,我認為以下行需要更正:

grub rescue> set boot=(hd0,msdos*)

到:

grub rescue> set root=(hd0,msdos*)

(我重複邦德拉所說的*,以免分散對真正問題的注意力)

我無法找到名為 boot 的 grub 環境變量,據我記得它一直是set root=()

我對所有說它在他們的發行版上有效的評論者感到有點困惑。他們做了一個set boot還是一個set root

grub rescue>提示符號下,如果只是鍵入,set它會列出所有已設定的環境變數。在我所有的 grub 救援冒險中,我從未見過boot列出的 env 變數。

相關內容