問題
最近開機出現了如下的界面:
分析問題
- 首先看看
GNU GRUB
是什么東東?干什么用的?
GNU GRUB
是多重引導加載程序。通俗點說,它就是用來一個可以讓你選擇運行什么操作系統的程序。
在你開機的時候,它是第一個運行的程序。它決定着,將計算機的控制權給哪個系統內核。然后系統內核將進一步初始化、處理操作系統的其他部分。 - 所以出現grub的原因,是因為
GNU GRUB
找不到引導文件,引導系統內核了。所以,要想解決這個問題,需要讓GNU GRUB
找到相關的引導文件,進行正確的引導。
解決方案
首先吐槽下,找了中文解決方案,都不行。最后查了英文才找到解決方案。
- 首先,在
grub>
指令處,輸入ls
指令。
這個指令能讓你看到當前路徑下的文件和文件夾。
使用這個指令,你可以類似這樣的輸出,(hd0)
、(hd0, msdos1)
類似的。
這些是磁盤的分區,我們需要在這些分區內找到能夠正確引導系統的文件配置。 - 使用指令
ls (hd0)/
來一個個測試,看輸出有沒有vmlinuz
或者linux
,initrd.img
,root
這樣的字樣。
比如第一步出現(hd0)
,(hd0, msdos1)
,在這一步的時候,你需要使用ls (hd0)/
和ls (hd0, msdos1)/
來一個個去試,直至出現上文提示的那些字樣,那個分區就是引導文件所在的地方。
如果ls (hd0, msdos1)/
出現unknown filestystem
,你可以嘗試使用ls /(hd0, msdos1)/
,以此類推
ls (hd0, msdos1)/
可以簡寫為ls (hd0, 1)/
- 找到引導文件所在位置,比如在
(hd0,5)
。
輸出以下指令
set root=(hd0,5)
set prefix=(hd0,5)/boot/grub
insmod normal
normal
這一步來設置引導文件的位置。
4. 如果還是不行,嘗試以下指令
linux (hd0,5)/vmlinuz root=/dev/sda5
initrd (hd0,5)/initrd.img
boot
這里是讓引導程序去引導。至此,應該可以正常開機了。
其他
開機后,下次開機也許還需要這樣的操作。但我就沒設置了,下次再說~
教程中的Costco,只給你各領域更好的教程,不再為挑選教程而鬧心。
歡迎關注!!!