1. 程式人生 > 其它 >開機進入grub>

開機進入grub>

GRUB是多啟動規範的實現,它允許使用者可以在計算機內同時擁有多個作業系統,並在計算機啟動時選擇希望執行的作業系統。

GRUB可用於選擇作業系統分割槽上的不同核心,也可用於向這些核心傳遞啟動引數。

grub是多重引導載入程式。通俗點說,它就是用來一個可以讓你選擇執行什麼作業系統的程式。在你開機的時候,它是第一個執行的程式。它決定著,將計算機的控制權給哪個系統核心。然後系統核心將進一步初始化、處理作業系統的其他部分。

出現grub的原因,是因為GNU GRUB找不到引導檔案,引導系統核心了。所以,要想解決這個問題,需要讓GNU GRUB找到相關的引導檔案,進行正確的引導。

處理方法1:

1.查詢核心所在的分割槽

輸入root (hd0, 在這裡按tab鍵,出現下面的分割槽,我們只需要type為83的分割槽,所以我們輸入root (hd0,0)

2.指定啟動核心所在位置

輸入kernel / 按tab後發現有很多資料夾,我們知道核心放在boot資料夾下,所以輸入kernel /boot/vm 此處按tab自動補全就行,root=/dev/sda1的意思是指定根分割槽裝置檔案的位置,然後回車確認。

3.指定臨時映象檔案所在位置

輸入initrd / 按tab後發現有很多資料夾,我們知道臨時映象放在boot資料夾下,所以輸如initrd /boot/initra 此處按tab自動補全就行,然後回車確認。

最後輸入boot按照我們設定的核心檔案和臨時映象檔案啟動系統,如:grub>boot

參考資料:https://www.linuxprobe.com/boot-grub.html

處理方法2:

1. 首先利用ls命令,找到Ubuntu安裝在哪個磁碟分割槽;

  • 比如輸入ls後我的機器列出的磁碟分割槽資訊如下:

(hd0),(hd1),(hd1,gpt3),(hd1,gpt2),(hd1,gpt1)

  • 查詢包含grub.cfg檔案的分割槽
假定通過 ls (hd1,gpt2)/boot/grub 發現了grub.cfg檔案,則表明Linux安裝在這個分割槽

2.找到Linux的/boot分割槽,以及/根分割槽所在的磁碟位置

輸入 cat (hd0,gpt2)/etc/fstab
會輸出類似下面的資訊
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda2
during installation
UUID=dd6e0539-1369-4938-8af5-378f02cf05cf / ext4 errors=remount-ro 0 1

3. 指定Linux核心,及/所在分割槽

grub> linux /boot/vmlinuz-4.8.0-36-generic ro text root=/dev/sda2

4. initrd命令指定initrd檔案

grub> initrd /boot/initrd.img-4.8.0-36-generic

5. boot引導系統,結束

grub> boot

參考資料:https://www.cnblogs.com/ValyrianSteel/p/12693287.html

處理方法3:

1.首先,在grub>指令處,輸入ls指令。這個指令能讓你看到當前路徑下的檔案和資料夾。使用這個指令,你可以類似這樣的輸出,(hd0)(hd0, msdos1)類似的。這些是磁碟的分割槽,我們需要在這些分割槽內找到能夠正確引導系統的檔案配置。

2.使用指令ls (hd0)/來一個個測試,看輸出有沒有vmlinuz或者linuxinitrd.imgroot這樣的字樣。比如第一步出現(hd0),(hd0, msdos1),在這一步的時候,你需要使用ls (hd0)/ls (hd0, msdos1)/來一個個去試,直至出現上文提示的那些字樣,那個分割槽就是引導檔案所在的地方。如果ls (hd0, msdos1)/出現unknown filestystem,你可以嘗試使用ls /(hd0, msdos1)/,以此類推ls (hd0, msdos1)/可以簡寫為ls (hd0, 1)/

3.找到引導檔案所在位置,比如在(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

這裡是讓載入程式去引導。至此,應該可以正常開機了。

參考資料:https://www.cnblogs.com/zhouzhiyao/p/11456189.html