zoukankan      html  css  js  c++  java
  • 系统引导修复,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的引导操作都弄得闭着眼睛也能操作了,各种手动引导改参数哈哈哈哈

  • 相关阅读:
    172. Factorial Trailing Zeroes
    96. Unique Binary Search Trees
    95. Unique Binary Search Trees II
    91. Decode Ways
    LeetCode 328 奇偶链表
    LeetCode 72 编辑距离
    LeetCode 226 翻转二叉树
    LeetCode 79单词搜索
    LeetCode 198 打家劫舍
    LeetCode 504 七进制数
  • 原文地址:https://www.cnblogs.com/caya-yuan/p/10534640.html
Copyright © 2011-2022 走看看