很多人在一通爛搞之后把自己的grub搞崩了(比如我當時手賤刪除了boot分區)雖然后來又裝了grub,但是進入grub后還是沒有引導,只有一個孤零零的命令行界面
這時候應該怎么辦呢?首先當然是想進入系統對grub進行配置,但是怎么進入呢,其實只要幾行命令就能解決啦
上網查詢發現
如果系統中止於 grub> 提示符,表明 Grub 2 模塊已經被加載,但是找不到 grub.cfg 文件 當前是完全版的 Grub 2 命令行 shell,你可以通過多種方式解決此問題。如果你看到的是 grub rescue> 提示符,表明 bootloader 不能找到 Grub 2 模塊或者找不到任何引導文件boot files。
如果你是grub>提示符:
在grub的bash里面輸入help,這是會彈出一大堆可用的命令,但是咱們不需要那么多
輸入ls,會列出所有的分區類似於(hd0,gpt1)或者(hd0,mbr1)這樣的,首先要做的就是要知道自己的系統在那個分區,這一步,可以通過各種分區工具進行查看(比如gparted這類的)
對於引導Linux和Windows,命令不一樣但大體相同
Linux
set root=(hd0,gpt5) //這個是我的linux分區,可以根據需要調整set ro linux /boot/vmlinuz-4.17.1-24 root=/dev/sda5 //你的linux內核,可以通過Tab補全,告知 Grub 內核鏡像在分區中的位置,以及根文件系統的位置 initrd /boot/initrd.img-4.17.1-24 //同樣可以用tab補全。設置虛擬文件系統initial ramdisk文件的位置
如果前面你都設置好了直接輸入boot就能回到熟悉的linux了
對於Windows用戶
如果想用grub引導windows,那你的window本身的引導應該沒有問題才能用grub的chainloader功能,修復Windows的引導很容易,隨便一個Windows PE都有這個功能
如果你的電腦有EFI分區命令如下
set root=(hd0,gpt1) //你的efi分區位置 chainloader=/EFI/Microsoft/bootmgrfw.efi //這個位置看你windows的efi文件的位置,可以用Tab補全
輸入boot即可引導
如果沒有efi分區,方法大同小異可以嘗試着把root掛載到你的window分區的前一個分區,然后chainloader +1,如果不行也是讓chainloader=你的efi文件的位置然后boot就行了,具體方法可以自行摸索
One more Thing:
如果你的電腦顯示的是grub rescue> 提示符,那就要想辦法加載grub,具體方法其他地方有很多,這里不在贅述
如果你成功進入Linux,但是update-grub卻檢測不到Linux,這是最簡單的辦法就是重裝一遍你的Linux內核,這樣就能檢測出來了