悲劇的序幕(起因)
本人的電腦系統安裝環境很復雜,使用的是Refind引導多系統,包含有Windows(Win7&Win10)和Linux(Kali Linux和Manjaro系統),昨天Win10系統提示需要重啟並安裝更新,於是手賤點了Win10系統的重啟並安裝更新,結果安裝更新,更新了一個小時左右,安裝完更新后就悲劇了,Kali Linux和Manjaro系統全部都無法引導,無法進入系統了(ノへ ̄、)o(╥﹏╥)o
解決方法
- 使用set命令查看當前grub引導設置
- 例如會顯示:
grub rescue> set
cmdpath=(hd1,gpt2)/EFI/Manjaro/
prefix=(hd1,gpt5)/boot/grub
root=(hd1,gpt5)
上述結果表明當前引導指向第二塊硬盤(hd1)的gpt5分區。
- 使用ls命令查看當前所有磁盤分區情況
grub rescue> ls
(hd0) (hd1) (hd1,gpt7) (hd1,gpt6) (hd1,gpt5) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)
- 使用ls(hd1,gpt數字)/ 嘗試出能夠返回安裝了manjaro系統或者kali linux系統根目錄的分區,當不是Linux分區時會顯示如下結果
grub rescue> ls (hd1,gpt4)
(hd1,gpt4): Filesystem is unknown.
grub rescue> ls (hd1,gpt3)
(hd1,gpt3): Filesystem is unknown.
- 例如當嘗試(hd1,gpt7)時返回了manjaro分區,正確的返回結果如下:
grub rescue> ls (hd1,gpt7)/
./ ../ lost+found/ bin/ boot/ dev/ etc/ ...
- 設置正確的gpt分區的引導目錄和Linux根目錄,例如gpt7分區是正確的
set profix=(hd1,gpt7)/boot/grub
set root=(hd1,gpt7)
- 再用set命令查看是否已設定好
grub rescue> set
cmdpath=(hd1,gpt2)/EFI/Manjaro/
prefix=(hd1,gpt7)/boot/grub
root=(hd1,gpt7)
- 接下來載入normal模塊,並使用normal模塊啟動系統
grub rescue> insmod normal
grub rescue> normal
- 回車后就能正常進入系統了,到這里還沒結束
- 進入系統后,打開終端,重新安裝grub,並更新引導
- 首先使用fdisk -l 或者 df 指令查看系統引導所在的掛載位置,比如我這里kali linux在/dev/sdb1
- 執行如下指令,重新安裝grub引導
sudo grub-install /dev/sdb1
- 最后更新並生成grub引導文件
sudo update-grub
如此就大功告成了,kali linux系統就能正常引導了,manjaro是同樣的操作,不過如此操作會導致一個問題,會使kali linux或者Manjaro變成第一啟動項,refind引導變成第二啟動項,此時只需進入Windows系統在Easy UEFI里調整啟動項順序即可,或者在BIOS里調整Refind為第一啟動項。
The End,蟹蟹閱讀,≧( ° ° )≦