2021-05-12 14:32:11
Debian Stable (Jessie 8.1) 的normal.mod not found
2020-06-16 17:52:03
打算重置下default-brower, 輸入了dpkg-reconfigure 結果按了個g,又按了tab,最後還輸了回車.就變成了
dpkg-reconfigure grub-pc
進入dpkg設定grub-pc的介面後, 裡面讓握輸入linux-command-line, 按了下Esc沒想到沒退出反而按到了` , 就是數位1上的那個符號. 接下來就進入了下一個選項. 這個只有個OK的可以移動到. 然後敲了下回車. 就沒管它了. 沒想到重新啟動後. 就直接報錯了.
**
提示
error: file '/boot/grub/i386-pc/normal.mod' not found
grub rescue>
絕大多數命令都不能獲得, 只有簡單的幾個ls,set可以
這是說normal模組找不到了. 我手裡也沒有liveCD的U盤.
下面是完整的恢復grub的流程, 僅供debian下的朋友參考:
grub rescue>ls
(hd0, msdos), (hd0, msdos1), (hd0, msdos5)
- 1
因為我的機器只有一個硬碟, 沒有分割區, 所以msdos1是我的主目錄.
grub rescue>set root=(hd0,msdos1)
grub rescue> ls /usr/lib/grub/i386-pc/
normal.mod, xxx.mod search.mod ......
grub rescue>set prefix=(hd0,msdos1)/usr/lib/grub
grub rescue>insmod normal
grub rescue>normal
這樣就載入上了normal.mod
但是這裡還沒完.
進入到了grub
grub>vmlinuz vmlinuz-linux-headers-3.16.0.4-xxxx
grub>initrd initrd-linux-headers-3.16.0.4-xxxx
grub>boot
這裡會卡一會兒然後進入到initramdisk
實際上這裡就是因為沒找到相關的其它mod,導致了錯誤.
重新強制關機, 重複上面的操作.
然後換了一個核心,報了如下錯誤
這就好辦了. 說明這些mod都不在/boot/grub/i386-pc下.
於是我們回到最開始載入normal.mod的時候, 把這些缺失的mod都載入一次
grub rescue>set prefix=(hd0,msdos1)/usr/lib/grub
grub rescue>insmod normal
grub rescue>insmod search
grub rescue>insmod echo
grub rescue>insmod linux
grub rescue>insmod initrd
grub rescue>normal
這些就有了正常的大部分模組, 進入了一個不是完好的grub menu.list
然後隨便選一個就可以進tty了, 進了tty就好說多了.
直接修復一下grub就好.
root> fdisk -l
這裡檢視下你的硬碟, 我只有一塊, 分了幾個區. /dev/sda1, /dev/sda2, /dev/sda5, 說明掛載的是/dev/sda
root> grub-install /dev/sda
root> update-grub
root> shutdown -r now
重新啟動後. 就正常登入了.
本文永久更新連結地址:http://www.linuxidc.com/Linux/2015-10/123782.htm
相關文章