linux- rhel7启动排错
开机经历的步骤:
1、BIOS自检,检查硬件;
2、**MBR,MBR上不存在文件系统,可以视作硬件一部分,因此可以被直接读取
3、grub加载到内存,生成一个微系统,微系统内置了精简版的文件系统
4、通过这个微系统,他会去引导分区,比如默认一般是sda1上去找内核文件如vmlinuz,然后再调用grub的配置文件。
grub的主要把他的配置文件放在了3个地方。
/boot/grub2/grub.cfg (/etc/grub2.cfg是/boot/grub2/grub.cfg文件的符号链接)
/etc/grub.d/
/etc/default/grub
排错:
一:忘记root密码
重置root密码步骤:
(1)开机快速按上下键,避免自动进入系统
(2)在上述的界面下按e ,进入以下的界面
(3)在linux16那行的最尾部加上一下信息
ctrl+x启动设定过后的系统引导条目
进入系统后执行chroot /sysroot切换到真实的系统环境
passwd root修改超级用户密码
建立文件/.autorelabel让系统重新扫描所有文件
然后执行两次 exit 就可以进入系统了
二:grub故障:比如把MBR的前446个字节都覆盖了。
开机就找不到引导程序,无法开机
然后我们新加一个软盘,然后把镜像放在软盘里,然后把开机选项调整为从软盘启动
然后再次开机
选择救援模式
然后按照提示进入一个shell
然后安装系统引导grub2
然后执行 exit 退出,然后关机,设置从硬盘启动,然后就可以正常启动了。
三:grub引导程序没问题,但把内核文件或者grub.cfg配置文件给删除
重启之后,直接进入grub的救援模式,这表明引导程序没问题,但是引导文件找不到了
手动输入引导文件
set root='hd0,msdos1' #设置根目录
linux16 /vmlinuz-3.10.0-327.e17.x86_64 ro root=/dev/vdb3 #设置内核文件
initrd16 /initramfs-3.10.0-327.e17.x86_64.img #设置开机启动服务
boot #启动开机后利用grub2-mfconfig修复grub.cfg文件
四:内核文件删除
启动时如图:
关机,切换为从光盘启动
进入救援模式,可以看到真实的系统根目录为/mnt/sysimage
分解安装盘内的内核包
然后将内核文件拷贝到/mnt/sysimage/boot下,完成后退出
最后把启动选项改为从硬盘启动,就可以成功进入系统了
五:系统初始化加载initrd镜像损坏
例如删除了 initramf-3.10.0-327.x86_64.img
开机后如图
从光盘启动,进入救援模式
恢复initramfs镜像文件
然后,将启动选项改为从硬盘启动,就可以成功进入系统了