本文共有开机启动七大问题模型解决方案:
一、忘记root密码
二、硬盘引导阶段问题
三、引导文件缺失问题
四、内核文件丢失问题
五、系统初始化镜像文件丢失问题
六、当/boot分区被删掉问题
七、当开机启动级别被篡改问题
小建议:输入命令时多用tab键补齐,特别是内核版本部分
一、忘记root密码 |
步骤:开机----在引导页面按e----找到段首为linux16的那一段,将段尾到ro(包括ro)区间的所有内容改为rw rd.break----ctrl+x启动----chroot /sysroot/----passwd root改密码----touch /.autorelabel----两次exit----完成
示例:
开机时的引导界面:
按e后:
找到段首为linux16的那一段,将段尾到ro(包括ro)区间的所有内容改为rw rd.break
看图:
修改完后,按ctrl+x(启动)
进入此页面:
输入chroot /sysroot/回车
更改root密码,并建立文件
输入passwd root回车
两次exit退出。
二、硬盘引导阶段问题 |
开机形如这样:
那么怎么恢复mbr主引导记录呢?
把系统镜像文件刻入光盘/u盘,并且从光盘/u盘启动----选择Troubleshooting进入,再选择Rescue----
continue----chroot /mnt/sysimage----grub2-install /dev/vda(启动分区所在硬盘) ----两次exit----从硬盘启动----成功
示例:
创造问题环境:
dd if=/dev/zero of=/dev/sda bs=446 count=1 ##删除主引导记录
重启系统后:
恢复mbr主引导记录:
1、把系统镜像文件刻入光盘/u盘,并且从光盘/u盘启动
2、选择Troubleshooting进入,再选择Rescue,进入挽救模式
3、进入挽救模式
选1
输入chroot /mnt/sysimage进入挽救模式
4、生成主引导记录mbr
grub2-install /dev/vda(启动分区所在硬盘) ##生成主引导记录
5、两次exit退出,从硬盘启动
三、引导文件缺失问题 |
形如:
解决步骤:进入挽救模式查看,/boot分区挂载点,以及根分区挂载点----引导系统启动----恢复引导文件
示例:
创造问题环境:
rm -fr /boot/grub2/grub.cfg ##删除引导文件
##没重启时,以下操作可挽救误删/boot/grub2/grub.cfg
grub2-mkconfig > /boot/grub2/grub.cfg ##生成引导文件信息,重定向到grub.cfg新文件
重启:
1、进入挽救模式查看,/boot分区挂载点,以及根分区挂载点
2、引导系统启动
grub > set root='hd0,msdos1' ##此位置指定/boot分区所挂载的硬盘分区
grub > linux16 /vmlinuz-3.10.0-123.el7.x86_64 ro root=/dev/sda3 ##根分区挂载点,文件为内核文件
grub > initrd16 /initramfs-3.10.0-123.el7.x86_64.img ##初始化镜像文件 grub > boot
grub>boot ##启动
进入挽救模式查看,/boot分区挂载点,以及根分区挂载点
注意:手动引导后,系统正常启动,但是是临时的,重启后依然缺少引导(缺少引导文件)
3、恢复引导文件
grub2-mkconfig > /boot/grub2/grub.cfg
四、内核文件丢失问题 |
形如:
解决步骤:进入挽救模式----挂载镜像----进入包Packages----拷贝kernel-3.10.0-123.el7.x86_64.rpm----rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id (打开内核rpm包)----cp vmlinuz-3.10.0-123.el7.x86_64 /boot(将内核文件拷到/boot目录)----两次exit
示例:
创造问题环境:
rm -rf /boot/vmlinuz-3.10.0-514.el7.x86_64 ##删除内核文件
重启:
1、进入挽救模式
2、将镜像中的内核文件拷到/boot分区中
chroot /mnt/sysimage ##改变程序执行时参考的根目录位置(增加系统安全性)
mount /dev/sr0 /mnt ##挂载镜像到/mnt目录
cd /mnt/Packages ##进入包
cp kernel-3.10.0-123.el7.x86_64.rpm /etc ##将内核文件包复制到/etc
cd /etc
rpm2cpio kernel-3.10.0-123.el7.x86_64.rpm | cpio -id ##打开内核rpm包
cd boot
cp vmlinuz-3.10.0-123.el7.x86_64 /boot ##将内核文件拷到/boot目录
exit ##退出
exit
3、从硬盘启动
五、系统初始化镜像文件丢失问题 |
形如:
解决步骤:进入挽救模式----mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) [生成系统初始化镜]----两次exit,从硬盘启动
示例:
创造问题环境:
rm -fr /boot/initramfs-initramfs-3.10.0-514.el7.x86_64.img ##删除系统初始化镜像文件
##没重启时,以下操作可挽救
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##生成系统初始化镜像文件
重启
1、进入挽救模式
2、生成系统初始化镜像
mkinitrd /boot/initramfs-$(uname -r).img $(uname -r) ##生成系统初始化镜
3、从硬盘启动
六、当/boot分区被删掉问题 |
形如:
解决步骤:进入挽救模式----生成主引导记录----强制安装内核包----生成引导文件信息----两次exit,从硬盘启动
示例:
创造问题环境:
rm -fr /boot/*
重启
1、进入挽救模式
2、生成主引导记录、强制安装内核包、生成引导文件信息
chroot /mnt/sysimage ##改变程序执行时参考的根目录位置(增加系统安全性)
grub2-install /dev/sda ##生成主引导记录
mount /dev/cdrom /mnt ##挂载系统镜像
rpm -ivh /mnt/Packages/kernel-3.10.0-514.el7.x86_64.rpm --force ##强制安装内核包,这里不能取消
grub2-mkconfig > /boot/grub2/grub.cfg ##生成引导文件信息,重定向到grub.cfg新文件
3、两次exit,从硬盘启动
七、当开机启动级别被篡改问题 |
例如:在开机时,系统不断重启,进不去
解决方法:按e键进入编辑模式----在linux16 段的段尾( rhgb quiet)加上“ 5 “ ----ctrl+x执行开机----systemctl set-default graphical.target
示例:
创造问题环境:
rm -fr /etc/systemd/system/default.target
ln -s /lib/systemd/system/reboot.target /etc/systemd/system/default.target
reboot
重启:系统不断重启,进不去
1、开机时按上下键停止读秒
2、按e键进入编辑模式
3、选择内核启动行
修改
在linux16 段的段尾( rhgb quiet)加上“ 5 “ ##末尾加5
4、ctrl+x执行开机
5、永久设定运行级别(前4步只是临时设定)
systemctl set-default graphical.target ##:设置指定的target为5的运行级别
6、reboot检测
能正常启动就成功了!