新买的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的引导操作都弄得闭着眼睛也能操作了,各种手动引导改参数哈哈哈哈