|NO.Z.00004|——————————|ManageMent|——|Linux&系统管理.V04|
一、系统修复模式
### --- 单用户模式
~~~ 我们先来看看单用户模式是怎么使用的吧。
~~~ Linux 的单用户模式有些类似 Windows 的安全模式,只启动最少的程序用于系统修复。
~~~ 在单用户模式(运行级别为 1)中,Linux 引导进入根 shell,网络被禁用,只有少数进程运行。
~~~ 单用户模式可以用来修改文件系统损坏、还原配置文件、移动用户数据等。
二、如何进入单用户模式

三、单用户模式常见的错误修复
### --- 单用户模式常见的错误修复
~~~ 我们已经进入单用户模式了,那么我们在单用户模式中主要可以修复哪些系统错误呢?
~~~ 我们举几个例子吧。
### --- 遗忘 root 密码
~~~ 这是管理员最容易犯的错误,那么应该如何修复呢?当然是使用单用户模式进行修复了,
~~~ 进入单用户模式最大的特点就是不需要输入用户名和密码就能登录。
~~~ 既然已经登录了单用户模式,那么直接给 root 用户设定新密码即可。命令如下:
[root@localhost /]# passwd root
### --- 修改系统默认运行级别
~~~ 如果我们把系统的默认运行级别修改错误,比如改为了 0 或 6,系统就不能正常启动了。
~~~ 这时也可以利用单用户模式进行修复,只要直接修改默认运行级别配置文件/etc/inittab,
~~~ 把系统默认运行级别修改回来即可。命令如下:
~~~ 把默认运行级别修改为 3 或 5。
~~~ 注意系统的默认运行级别只能使用 3 或 5绝大多数系统错误都可以通过单用户模式进行修复,
~~~ 理论上是只要能够进入单用户模式,那么系统错误就可以被单用户模式修复。
~~~ 当然判断系统到底是哪里出现了问题,是需要不断的经验积累的。
[root@localhost /]# vi /etc/inittab
id:3:initdefault:
四、单用户修复:实验专题
### --- 单用户修改系统密码
~~~ F12进入grub模式
~~~ e键进入修改内核修改模式;选择下列模式:内核加载选项
kernel /vmlinuz-2.6.32-642.e16.x86_64 ro root=UUID=b90edbfd-9d24-4213—>
~~~ 接着按e键;进入编辑第二行内容
~~~ 空格1——>回车 #空格必须有,1表示当用户模式1界别 // 临时生效
~~~ b键直接进入启动系统状态;系统启动后不需要账号密码直接进入到系统
~~~ 更改root密码即可,
[root@localhost /]# passwd
~~~ 直接重启进入3级别,进入系统。
一、光盘修复模式
### --- 光盘修复模式
### --- 如何进入光盘修复模式
~~~ BIOS密码破解:直接扣掉主板电池;主板所有数据都恢复默认模式。
~~~ 密码破解的前提:可以拿到本机如何进入光盘修复模式呢?
~~~ 首先你需要有系统光盘,或系统修复光盘。
~~~ 我们这里只需要把 CentOS6.x 的第一张光盘放入光驱,然后重启系统。
~~~ 修改 BIOS 的启动顺序,让系统从光盘启动(具体方法参考系统安装章节)。
~~~ 就会看到如图 13-11 所示的光盘启动界面:

二、光盘修复模式常见的错误修复
### --- 光盘修复模式常见的错误修复
~~~ 我们在光盘修复模式中主要可以修复什么错误呢?其实能在单用户模式中修复的错误,
~~~ 都能在光盘修复模式中修复。
~~~ 当然还可以修复一些在单用户模式下无法修复的错误,我们举几个例子。
~~~ 重要系统文件丢失,导致系统无法启动
~~~ 如果系统中的重要系统文件丢失,当然会导致系统无法正常启动。
~~~ 这时也可以利用光盘修复模式修复。我们假设把/etc/inittab 文件丢失了,
~~~ 我们通过系统启动过程知道这个文件是定义系统默认运行级别的,
~~~ 如果丢失了这个文件,系统当然不能正常启动,这时就需要进入光盘修复模式中了。
~~~ 然后需要利用 chroot 命令。命令格式如下:
~~~ chroot 命令的作用是“change root directory”改变系统根目录的意思。
~~~ 也就是可以把根目录暂时移动到某个目录当中。
~~~ 我们是通过光盘启动的光盘修复模式,所以我们现在所在的根目录不是真正的系统根目录,
~~~ 而是光盘的模拟根目录。系统根目录被当成外来设备放在了/mnt/sysimage/目录中。
~~~ 这时就需要 chroot 命令把我们现在的所在目录移动成真正的系统根目录。命令如下:
~~~ 这条命令执行之后,当前的根目录就已经是真正的系统根目录了。
~~~ 如果系统有任何错误都可以直接修复。比如/etc/inittab 文件丢失了。
~~~ 这时如果我们曾经备份过系统重要文件,只需要把备份文件重新复制到/etc/目录下即可。
~~~ 如果没有备份的文件,就需要从 rpm 包中提取 inittab 文件,然后复制了。具体命令如下:
[root@localhost ~]# chroot 目录名
bash-4.1# chroot /mnt/sysimage
### --- 进入救援模式
### --- 光盘启动模式修复系统配置错误
~~~ 1、把光盘插入设备
~~~ 2、进入BIOS
~~~ 3、Boot:CD-ROM Drive F10保存退出
~~~ 4、Rescue installed system:救援模式
~~~ 5、语言:默认英文 键盘:US美式键盘
~~~ 6、安全模式下是否启动网络:启动与不启动也可以
~~~ 7、Continue:进入安全模式操作 Read-Only:只读 Skip:跳过,直接进入安装 Advanced
~~~ 8、OK——>OK——>shell Start shell:进入安全模式
### --- 救援模式操作
~~~ 进入 root 目录。因为默认进入的是/目录,如果不进入 root,
~~~ 一会提取的 inittab 文件会报错
bash-4.1# // 目前进入的是光盘目录
bash-4.1# chroot /mnt/sysimage // 真正的根目录;修改系统根目录
~~~ 改变主目录
sh-4.1# cd /root
sh-4.1# pwd
/
### --- 实验:模拟丢失inittab文件丢失了。模拟找回操作。
sh-4.1# rpm -qf /etc/inittab
initscripts-9.03.31-2.el6.centos.i686
~~~ 查询下/etc/inittab 文件属于哪个包。如果系统中文件丢失不能查询,需要通过其他 Linux
~~~ 系统查询
sh-4.1# mkdir /mnt/cdrom
~~~ 建立挂载点
sh-4.1# mount /dev/sr0 /mnt/cdrom
~~~ 挂载光盘
sh-4.1# rpm2cpio /mnt/cdrom/Packages/initscripts-9.03.31-2.el6.centos.i686.rpm | cpio -idv ./etc/inittab
~~~ 提取 inittab 文件到当前目录
~~~ 复制 inittab 文件到指定位置
~~~ 注意此命令执行时不能将文件直接恢复至/etc 目录,只能提取到当前目录下,
~~~ 且恢复的文件名称所在路径要写完整的绝对路径。提取文件成功后,
~~~ 将其复制到根分区所在的/mnt/sysimage 目录下相应位置即可。
sh-4.1# cp etc/inittab /etc/inittab
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
cdv006-system
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」