系統引導修復,grub2下的各種騷作


新買的xps裝了一個rhel7.5,各種惡心。。。

 

第一次:升級內核之后居然引導不了! 進入bios setup,把bios 引導的文件選擇為 grub64.eif,成功進入系統

第二次:升級grub2后,再次引導不了! 同上一步結果失敗,進入 grub模式。

grub> ls #查看有哪些分區
grub> ls (hd0,gpt1)    #查看該分區下有哪些文件,實際上是要找到vmlinuz開頭和 initramfs開頭的文件目錄,一般在/boot下的分區下
grub> set root=(hd0,gpt1) # 設置根目錄位置,(hd0,gpt1)是我根據上一步找到的文件所在分區(如果是U盤啟動:如果U盤有鏡像選U盤)
grub> ls /            #查看設置是否正確,可略
grub> linuxefi /vmlinuz-xxx root=/dev/rhel/root      #加載內核文件,並制定根目錄位置, 早期版本的grub此指令頭為linux 或linux16
grub> initrdefi /nitramfs-xxx.img           #加載鏡像文件,早期版本的grub此指令頭為linux 或linux16,指令可能打錯建議補全
grub> boot # 至此成功引導

進入系統后:
shell# ll /etc/|grep grub      # 可能有多個grub.cfg的文件軟連接記得逐個查看我在 /boot/grub2 和/boot/efi/EFI/centos 下面各一個
shell# grub2-mkconfig -o /boot/...    #生成grub配置文件,這個目錄位置得看上一步軟連接對應的目錄位置,我的在/boot/efi下面
shell# shutdown -r now          # 重啟如果不能引導到,重復grub加載的步驟,grub.cfg生成目錄選擇另外一個

 

第三次:grub.cfg 把啟動菜單設置成 0 秒跳過了(作死),做了個最小化的引導U盤:

UltralISO, 如果你U盤空間足夠的話選擇“啟動”→“寫入硬盤鏡像”的方法就好了(網上說明很多)

如果空間不夠的話,手動逐個提取文件夾 /EFI /images /isolinux ,其他根據空間提取,
反正Packages和repodata不提取就好了

grub進入拯救模式的代碼如下(能直接選取啟動就忽略這步吧):
grub> ls
grub> set root=(hd1,msdos_1)
grub> linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:/dev/sdb1 rescue quiet
grub> initrdefi /images/pxeboot/initrd.img
grub> boot

 

第四次: linuxefi 引導內核后提示:

invalid signature detected   #內核的簽名不可用

出這個問題也沒辦法呢,誰叫你的內核是DIY呢

解決方法:

進入bios,

找到 secure boot control, 設置為disable

啟動成功!(或許應該學一下怎么搞個有效的簽名?)

 

總結: 拜此所賜,我把grub2的引導操作都弄得閉着眼睛也能操作了,各種手動引導改參數哈哈哈哈


免責聲明!

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



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