主要是雙系統下windows公升級把grub啟動項破壞了, 一開機直接進入grub rescue模式 , 在救援模式下只有很少的命令可以用:
(1) set 檢視環境變數 , 這裡可以檢視啟動路徑和分割槽
(2) ls 檢視裝置
(3) insmod 載入模組
(4) root 指定用於啟動系統的分割槽 , 在救援模式下設定grub啟動分割槽
(5) prefix 設定grub啟動路徑
grub rescue> ls
(hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)
每個人都不一樣, 但原理都是一樣的.
grub rescue> ls (hd0,msdos1)/
這裡我的啟動分割槽是(hd0,msdos8) , 每個人的都不太一樣 , 自己替換
grub rescue>set root=(hd0,msdos8)
grub rescue>set prefix=(hd0,msdos8)/boot/grub
grub rescue>insmod normal
grub rescue>normal // 輸入這個後就會進入之前的grub啟動項了 , 但是grub還是沒有修改 , 只是臨時的修改了啟動項 , 所以還要在選擇啟動項介面按c鍵進入grub命令列模式
grub >set root=hd0,msdos8
grub >set prefix=(hd0,msdos8)/boot/grub
grub >linux /boot/vmlinuz-***-***.img root=/dev/nvme0n1p5 (這裡的vmlinuz-***-***根據自己的機器按tab補全 , 而/dev/nvme0n1p5這個分割槽 , 因為我的linux是裝在我的nvme的固態盤的 , 在linux下這個分割槽就被對映成nvme0n1p5了 , 這個照自己的機器修改 , 注意這個和上面的hd0不是同乙個意義啊 , 自己檢視自己機器)
grub >initrd /boot/initrd.img-***-***.img (同上 , 不贅述了)
grub >boot 啟動linux , 即可成功進入linux , 還有一步要做
在linux下更新grub配置
如果是有update-grub命令的(比如ubuntu) , 直接輸入
sudo update-grub
sudo grub-install /dev/sda (將grub安裝在linux分割槽 , 注意是sda,硬碟號,而不是具體某個分割槽號,如sda1)
不支援update-grub命令的可以輸入
sudo grub2-mkconfig -o /boot/grub2/grub.cfg (這句相當於上面的第一句 , 有些是grub不是grub2 , 自己都試試就知道了)
sudo grub-install /dev/sda
grub rescue 模式下修復 ubuntu
由於在rescue模式下,只有少量的基本命令可用,必須通過一定的操作才能載入正常模組,然後進入正常模式。rescue模式下可使用的命令有 set,ls,insmod,root,prefix 設定啟動路徑 先假設grub2的核心檔案在 hd0,8 分割槽,再來看看怎樣從 rescue模式進入從 hd0...
grub rescue救援模式的處理
我的linux在調整分割槽後,出現了grub rescue 這表示grub2的配置檔案壞了,由於分割槽調整或分割槽uuid改變造成grub2不能正常啟動,從而進入修復模式 grub rescue 也稱救援模式。在救援模式下只有很少的命令可以用 set ls insmod root prefix 1 ...
linux下grub的修復
1.把安裝盤的第一張放到光碟機,然後重新啟動機器,在bois中把系統用光碟機來引導。2.等安裝介面出來後,按 f4 鍵,也就是linux rescue模式。3.一系列鍵盤以及幾項簡單的配製,過後就 繼續 了。4.然後會出現這樣的字元sh 5.在 後面輸入grub,如 sh grub 會出現這樣的字元...