grub启动
如何修复引导
现象
开机直接进入grub rescue模式
解决方案
第一步:退出rescue模式
一般只需要设置prefix变量
#通过ls 命令查看所有的磁盘
#找到需要启动的磁盘(一般显示文件格式是ext2的就是我们需要的,这一步骤目的是找到linux能识别的文件格式)
#在这我们找到的:(hd0,msdos2)
set prefix=(hd0,msdos2)/grub
insmod normal
normal
注:记得替换你的磁盘名
执行完成后应该回到了grub的normal模式,
如果中间出错了,可能还需要设置root变量回到noraml模式。
set prefix=(hd0,msdos2)/grub
set root=(hd0,msdos2)
insmod normal
normal
第二步:手动引导
最简单的可能解决方案(前提:grub.cfg文件没损坏):
configfile /boot/grub/grub.cfg
如果没生效,需要手动设置变量
#加载所有启动视频
insmod all_video
# 插入模式linux
insmod linux
# 设置linux内核,设置启动盘 X代表盘符,abc Y代表分区数字,如:3
linux /vmlinux root=/dev/sdXY ro
# 加载img文件
initrd /initrd.img
# 启动
boot
# 如果上一步出错,爆出的错误是:video... boot in blinding mode
那我们需要重启电脑,按照之前的步骤操作,然后需要在'initrd /initrd.image'命令之前先设置额外的变量:
set gfxpayload=keep 或者 set gfxpayload=1024*768
定制引导程序
自动检测:Linux下制作双系统重启动盘的工具rEFIned
# 先安装refind
pacman -Sy refined
# 自动检测所有系统引导记录
refined-install
手动:改写GRUB配置,加入多系统引导入口
# 编辑grub留给用户自定义启动入口的文件
## 加入menuentry ...等配置
vim 40_
# 更新grub引导记录
update-grub
# #如果需要加在rEfined界面中,需要重新执行 refind-install命令
制作启动盘
刻录工具
Windows-UltraIso
注意:选择Raw类型
linux- dd
# 制作启动盘
## if 输入文件,此处指的是iso镜像,of 输出盘
## 制作之前如果输出盘已经挂载,则需要先取消挂载(umount)
## 可以通过 mount |grep /dev/sd* 查看有哪些盘被挂载, 然后取消挂载
dd if=/....iso of=/dev/sdb
# 如果上一步出现文件系统相关的错误,可能需要格式化盘,采用mkfs-ext2等命令格式化磁盘
常见问题
Q: 制作启动盘时,启动grub
出现所有硬盘都是unkown filesystem
,
A: 此时说明启动盘制作过程有问题,一般情况下是UtlraIso
类型没有选择正确,应该选择raw类型制作,仔细看上面的制作步骤。
Q: 安装启动盘时,出现 dracut-initqueue script timeout
A : 应该是制作启动盘时,引导程序记录的是盘label,而制作启动盘时盘lable名称和写入的名称不一致,导致找不到引导程序所在目录。在选择操作系统运行时,应该先编辑grub引导程序。就是在启动页面按下e,修改lable名称。
注意:制作启动盘不成功时大部分原因都是Windows
下制作启动盘工具的问题,所以有条件还是选择linux
下dd
命令。