記Win10系統更新后導致Linux(Kali Linux,Manjaro)開機無法引導啟動的修復方法


悲劇的序幕(起因)

本人的電腦系統安裝環境很復雜,使用的是Refind引導多系統,包含有Windows(Win7&Win10)和Linux(Kali Linux和Manjaro系統),昨天Win10系統提示需要重啟並安裝更新,於是手賤點了Win10系統的重啟並安裝更新,結果安裝更新,更新了一個小時左右,安裝完更新后就悲劇了,Kali Linux和Manjaro系統全部都無法引導,無法進入系統了(ノへ ̄、)o(╥﹏╥)o
image

image

解決方法

  1. 使用set命令查看當前grub引導設置
  • 例如會顯示:
grub rescue> set
cmdpath=(hd1,gpt2)/EFI/Manjaro/
prefix=(hd1,gpt5)/boot/grub
root=(hd1,gpt5)

上述結果表明當前引導指向第二塊硬盤(hd1)的gpt5分區。

  1. 使用ls命令查看當前所有磁盤分區情況
grub rescue> ls
(hd0) (hd1) (hd1,gpt7)  (hd1,gpt6) (hd1,gpt5) (hd1,gpt4) (hd1,gpt3) (hd1,gpt2) (hd1,gpt1)
  1. 使用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/ ...
  1. 設置正確的gpt分區的引導目錄和Linux根目錄,例如gpt7分區是正確的
set profix=(hd1,gpt7)/boot/grub 
set root=(hd1,gpt7)
  1. 再用set命令查看是否已設定好
grub rescue> set
cmdpath=(hd1,gpt2)/EFI/Manjaro/
prefix=(hd1,gpt7)/boot/grub
root=(hd1,gpt7)
  1. 接下來載入normal模塊,並使用normal模塊啟動系統
grub rescue> insmod normal
grub rescue> normal
  • 回車后就能正常進入系統了,到這里還沒結束
  1. 進入系統后,打開終端,重新安裝grub,並更新引導
  • 首先使用fdisk -l 或者 df 指令查看系統引導所在的掛載位置,比如我這里kali linux在/dev/sdb1
    image

image

  • 執行如下指令,重新安裝grub引導
sudo grub-install /dev/sdb1
  1. 最后更新並生成grub引導文件
sudo update-grub

image

如此就大功告成了,kali linux系統就能正常引導了,manjaro是同樣的操作,不過如此操作會導致一個問題,會使kali linux或者Manjaro變成第一啟動項,refind引導變成第二啟動項,此時只需進入Windows系統在Easy UEFI里調整啟動項順序即可,或者在BIOS里調整Refind為第一啟動項。

image

The End,蟹蟹閱讀,≧( ° ° )≦


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM