CentOS7单用户模式,救援模式操作记录

CentOS7单用户模式,救援模式操作记录

1. 单用户模式

单用户模式进入不需要密码,无网络连接,拥有root权限,禁止远程登陆。一般用于用于系统维护,例如忘记root密码后可以通过进入单用户模式进行重置。

开机启动,在出现内核选项时按"键盘e键"进行编辑,找到linux16行并在行尾添加内核参数 rd.break,修改完成后按下ctrl+x进入单用户模式

# 重新挂载文件系统
mount –o remount,rw /sysroot
# 切换根 
chroot /sysroot
# 修改密码 
passwd root
# 启用了selinux的情况下,创建下面的隐藏文件;如果禁用了selinux,可以忽略。
touch /.autorelabel 
# 重启系统
reboot

也可以在内核选项中,添加init=/bin/sh,可以直接配置读写,将ro改为rw,这样进入后就不需要进行mount操作了,如下:

在这里插入图片描述

进入后不需要挂载文件系统,不需要切换根,可以直接进行操作,比如修改密码等。

2. 救援模式

救援模式是从其他介质启动,这个介质可以是安装系统的光盘或U盘,相当于将系统盘作为了一个外挂的磁盘,所以当系统无法恢复时可以用来备份重要文件。一般用于单用户模式都无法进入时,除了可以修改用户密码,可以用于修复grub、修复boot分区损坏、修复文件系统等。

在光盘引导项里选择第三项:Troubleshooting(故障排除)

在这里插入图片描述

选择Rescue a System:

在这里插入图片描述

选择第一个:Continue(继续操作)输入1回车:

在这里插入图片描述

到了这一步启动的是镜像光盘里的系统,而原来系统里的文件被挂载到了/mnt/sysimage里。

在这里插入图片描述

系统输出了一条提示:如果你想让你的系统的根成为救援系统的根,就运行命令:chroot /mnt/sysimage

这条命令会更改root目录,执行后根目录就会变更到/mnt/sysimage下,这个时候的操作就和在正常系统里操作一样了。

2.1 更改root密码

第一种方法:

直接更改文件的方法,可以不用切换根:

vi /mnt/sysimage/etc/passwd
# 更改文件
root:x:0:0:root:/root:/bin/bash
##将root后面的x去掉,像下面这样:
root::0:0:root:/root:/bin/bash
# 重启
reboot

第二种方法:

获取系统root权限直接更改密码,这种方法有点像单用户模式了

chroot /mnt/sysimage     #切换为原系统的root权限#
passwd      #更改root密码#

exit        #退出原系统root权限#
reboot      #重启#

2.2 修复grub

操作如下步骤操作,模拟grub故障并修复:

  1. cd /boot/
  2. rm -rf grub* #手动删除grub下的所有文件 ,模拟grub故障。
  3. 重启以光盘启动引导系统,进入Rescue界面
  4. chroot /mnt/sysimage
  5. ls /boot
  6. mkdir /boot/grub2
  7. grub2-mkconfig -o /boot/grub2/grub.cfg
  8. grub2-install /dev/sda
  9. exit
  10. reboot
  11. 重启从硬盘启动

2.3 修复/boot目录

操作如下步骤操作,模拟/boot故障并修复:

  1. rm -rf /boot/*
  2. reboot
  3. 重启以光盘启动引导系统,进入Rescue界面
  4. chroot /mnt/sysimage
  5. mount /dev/sr0 /mnt
  6. rpm -ivh /mnt/Packages/kernel-3.10.0-693.e17.x86_64.rpm.rpm --force
  7. ls /boot
  8. grub2-install /dev/sda
  9. grub2-mkconfig -o /boot/grub2/grub.cfg
  10. exit
  11. reboot
  12. 重启从硬盘启动

2.4 文件系统修复

有时候将虚拟机从VMware迁移到KVM平台时,会遇到虚拟机启动自动进入emergency mode,提示使用journalctl可以查看到文件系统相关错误。同时使用mount -a挂载分区会提示失败,此时就需要修复文件系统错误。可以在当前进入的shell界面下操作,也可以借助iso进入rescue模式进行文件系统修复。

一般步骤如下:

  1. 通过挂载和卸载文件系统重新显示日志:
mount file-system
umount file-system

如果挂载失败,并带有结构需要清理的错误,则日志已损坏,且无法重播。

  1. 检查文件系统:
#xfs检查
xfs_repair -n block-device
# ext*检查
e2fsck -n block-device
  1. 修复文件系统:

修复文件系统(xfs):

# 如果挂载成功,则不需要额外的选项:
xfs_repair block-device
# 如果挂载失败,带有 Structure needs cleaning 错误,日志会破坏且无法重复显示。使用 -L 选项(强制日志归零)来清除日志:
xfs_repair -L block-device

说明:-L是修复xfs文件系统的最后手段,慎重选择,它会清空日志,会丢失用户数据和文件。

备注:在执行xfs_repair操作前,最好使用xfs_metadump工具保存元数据,一旦修复失败,最起码可以恢复到修复之前的状态。

修复文件系统(ext*):

e2fsck -p block-device

也可以尝试fsck命令,适用于多种文件系统类型。

参考:

https://access.redhat.com/documentation/zh-cn/red_hat_enterprise_linux/8/html/managing_file_systems/checking-and-repairing-a-file-system__managing-file-systems

### 进入救援模式CentOS 7 中,可以通过以下步骤进入救援模式: 1. 将 CentOS 7 的安装介质(如光盘或 USB 驱动器)插入计算机,并从该介质启动。 2. 在启动界面中选择 **Troubleshooting** 选项。 3. 然后选择 **Rescue a CentOS system** 进入救援模式。 系统会自动挂载现有的系统分区到 `/mnt/sysimage` 目录下,并提供一个 shell 环境以便进行系统修复 [^4]。 ### 使用救援模式修复系统文件 进入救援模式后,可以执行以下操作来修复系统文件: - **切换到原始系统的根环境**: 执行 `chroot /mnt/sysimage` 命令以切换到原始系统的根环境。这样可以在救援模式下直接访问和修改原系统的文件 [^2]。 - **检查并修复文件系统**: 可以使用 `fsck` 工具对磁盘分区进行检查和修复。例如,如果发现某个分区(如 `/dev/sda1`)存在问题,可以运行以下命令: ```bash fsck /dev/sda1 ``` 该命令会对指定的分区进行扫描,并尝试修复其中的文件系统错误 [^2]。 - **备份重要数据**: 如果系统无法正常启动,但需要恢复关键数据,则可以直接在救援模式中将重要文件复制到外部存储设备中 [^3]。 - **修复 GRUB 引导问题**: 如果系统引导出现问题(如 GRUB 被破坏),可以使用 `grub2-install` 和 `grub2-mkconfig` 命令重新安装和生成 GRUB 配置文件: ```bash grub2-install /dev/sda grub2-mkconfig -o /boot/grub2/grub.cfg ``` 上述命令将重新安装 GRUB 到硬盘的主引导记录(MBR),并生成新的引导配置文件 [^4]。 - **退出救援模式并重启**: 完成修复后,可以退出当前的 shell 环境并重启系统: ```bash exit reboot ``` ### 救援模式的应用场景 救援模式适用于多种系统故障情况,包括但不限于: - **修复因断电或非法关机导致的文件系统损坏**:通过 `fsck` 工具检测和修复受损的文件系统 [^1]。 - **恢复丢失的 GRUB 配置**:当 GRUB 被误删除或损坏时,可以通过救援模式重新安装 GRUB [^4]。 - **备份重要数据**:在系统无法启动的情况下,可以利用救援模式访问硬盘中的数据并进行备份 [^3]。 ### 示例代码:修复 GRUB 以下是一个完整的示例,展示如何在救援模式中修复 GRUB: ```bash # 切换到原系统的根环境 chroot /mnt/sysimage # 重新安装 GRUB 到硬盘的主引导记录(MBR) grub2-install /dev/sda # 生成新的 GRUB 配置文件 grub2-mkconfig -o /boot/grub2/grub.cfg # 退出 chroot 环境并重启系统 exit reboot ``` 上述脚本展示了在救援模式中修复 GRUB 的完整流程,确保系统能够正常启动 [^4]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lldhsds

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值