系统启动流程(七)

本文详细介绍了在CentOS 7中遇到的常见问题及解决方案,包括忘记密码的两种修改方法,误删GRUB分区和boot目录的恢复步骤,以及grub.cfg文件丢失后的手动启动与恢复过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前面已经介绍了CentOS 6中如果遇到一些密码忘记,误删除如何操作,在CentOS 7 中有一些小变化,这里给大家介绍说明。


一、如果在CentOS 7中密码忘记如何修改呢?
方法一:
(1)在开机时按任意键进入Boot Sequence ,选择内核版本,进入“e”键,在linux16开头行的尾部追加“rd.break”
这里写图片描述
(2)使用组合件“Crtl+x”重新启动
这里写图片描述
(3)进入上述界面根时只读挂载
switch_root:/#mount -o remount,rw / sysroot#重新挂载根
这里写图片描述

(4)switch_root:/#chroot /sysroot #切换根

(5)sh-4.2#passwd root #修改密码
这里写图片描述
(6)如果开启了selinux功能,则需要操作下面命令
sh-4.2#touch /.autorelabel #变回linux的安全文本
这里写图片描述
为何需要 /.autorelabel?

在 rd.break 的 RAM Disk 环境下,系统是没有 SELinux 的,而你刚刚更改了 /etc/shadow (因为改密码啊!), 所以『这个档案的 SELinux 安全本文的特性将会被取消』喔!如果你没有让系统于开机时自动的回复 SELinux 的安全本文, 你的系统将产生『无法登入』的问题 (在 SELinux 为 Enforcing 的模式下!)加上 /.autorelabel 就是要让系统在开机的时候自动的使用预设的 SELinux type 重新写入 SELinux 安全本文到每个档案去!

不过加上 /.autorelabel 之后,系统在开机就会重新写入 SELinux 的 type 到每个档案,因此会花不少的时间喔!如果你不想要花太多时间, 还有个方法可以处理:

(1)在 rd.break 模式下,修改完 root 密码后,将 /etc/selinux/config 内的 SELinux 类型改为 permissive
(2)重新开机后,使用 root 的身份下达『 restorecon -Rv /etc 』仅修改 /etc 底下的档案;
(3)重新修改 /etc/selinux/config 改回 enforcing ,然后『 setenforce 1 』即可!

方法二:
(1)在开机时按任意键进入Boot Sequence ,选择内核版本,进入“e”键,在linux16开头行的尾部追加“rw init=/sysroot/bin/bash”
这里写图片描述
(2)按组合件”Ctrl+x”启动
(3)chroot /sysroot #切换根
(4)passwd USER #修改密码
这里写图片描述
(5)退出并重启

二、如果把grub分区误删除,如何恢复之?
(1)假如误删除MBR分区
[root@localhost~]#dd if=/dev/zero of=/dev/sda bs=1 count=446
(2)重启,出现下面情况,直接出现重新安装界面
这里写图片描述
(3)切换根,生成新的grub引导文件
sh-4.2#chroot /mnt/sysimage
bash-4.2#grub2-install --root-directory=/ /dev/sda
bash-4.2#grub2-mkconfig -o /boot/grub2/grub.cfg
这里写图片描述
(4)退出并重启

三、如果误删除boot目录,如何恢复之?
(1)假如误删除boot目录
[root@localhost~]#rm -rf /boot/*
[root@localhost~]#ls /boot
这里写图片描述
(2)重新启动进入救援模式
(3)切换根,并挂载光盘
sh-4.2#chroot /mnt/sysimage
bash-4.2#mount /dev/sr0 /media/cdrom
这里写图片描述
bash-4.2#rpm -ivh /media/cdrom/Packages/kernel-VERSION-RELEASE.rpm --force
(4)生成grub配置文件
bash-4.2#grub2-install /dev/sda
bash-4.2#grub2-mkconfig -o /boot/grub2/grub.cfg
(5)重新启动即可
四、删除grub.cfg文件,如何手动启动?
(1)[root@localhost~]#mv /boot/grub2/grub.cfg /app
(2)重启进入如下界面
这里写图片描述
(3)在上述界面中执行下面命令
grub>insmod xfs
grub>set root=(hd0,1)
grub>linux16 /vmlinuz-VERSION-RELEASE root=/dev/sda2 selinux=0
grub>initrd /initramfs-VERSION-RELEASE.img
grub>boot
(4)重启即可
(5)重新生成grub.cfg文件
[root@localhost~]#grub2-mkconfig -o /boot/grub2/grub.cfg
(6)完成恢复

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值