Linux系统中的“修改模式”通常指进入特殊运行状态以进行系统配置修复、密码重置或内核参数调整等操作,根据不同场景,可通过GRUB引导菜单、systemd目标切换或命令行工具进入,以下是具体操作方法和适用场景说明。
通过GRUB引导菜单进入修改模式
GRUB(Grand Unified Bootloader)是Linux系统常用的引导程序,开机时可通过编辑内核参数进入修改模式,适用于系统故障、密码重置或配置文件修复等场景。
进入GRUB编辑界面
- 开机时操作:开机后立即长按
Shift
键(UEFI系统可能按ESC
),进入GRUB菜单,若未显示菜单,可修改/etc/default/grub
文件,将GRUB_TIMEOUT
设置为大于0的值(如GRUB_TIMEOUT=5
),然后执行update-grub
(Ubuntu/Debian)或grub2-mkconfig -o /boot/grub2/grub.cfg
(CentOS/RHEL)更新配置。 - 选择内核:在GRUB菜单中,使用方向键选择要启动的内核条目(通常为第一个带“recovery mode”或“高级选项”的条目),按
e
键进入编辑模式。
修改内核参数
- 定位关键行:在编辑界面,找到以
linux
或linux16
(Legacy BIOS)或linuxefi
(UEFI)开头的行,该行包含内核参数(如ro quiet splash
)。 - 修改参数:
- 进入单用户模式(救援模式):将
ro
(只读)改为rw
(可读写),并在行末添加init=/bin/bash
(适用于旧版系统)或systemd.unit=rescue.target
(新版systemd系统)。linux /boot/vmlinuz-5.15.0-88-generic root=UUID=xxx rw init=/bin/bash
- 进入紧急模式:添加
systemd.unit=emergency.target
,仅挂载根文件系统为只读,需手动挂载为可读写后修改文件。 - 调试模式:添加
init=/bin/bash
或systemd.debug
,可查看内核启动日志,定位故障。
- 进入单用户模式(救援模式):将
- 启动系统:修改完成后,按
Ctrl+X
(或F10
)以新参数启动系统。
常见修改场景
- 重置root密码:进入单用户模式后,直接执行
passwd root
,输入新密码并确认,完成后执行sync
&&reboot
重启。 - 修复/etc/fstab错误:若因fstab配置错误导致无法启动,进入单用户模式后,挂载根目录(如
mount -o remount,rw /
),然后编辑/etc/fstab
文件,修正错误条目。
通过systemd目标进入修改模式
Linux系统(使用systemd的发行版如Ubuntu 16.04+、CentOS 7+)可通过切换运行目标(target)进入不同模式,适用于系统启动后需要维护的场景。
单用户模式(rescue.target)
- 命令进入:系统启动后,以root身份执行:
systemctl isolate rescue.target
- 特点:仅启动必要服务,挂载根文件系统为可读写,可执行修复命令(如
fsck
检查磁盘、修改配置文件)。
紧急模式(emergency.target)
- 命令进入:
systemctl isolate emergency.target
- 特点:最小化模式,仅挂载根文件系统为只读,需手动执行
mount -o remount,rw /
后才能修改文件,适用于系统严重损坏时(如文件系统错误)。
多用户模式(multi-user.target)与图形模式(graphical.target)
- 切换模式:若需关闭图形界面进入命令行模式,执行:
systemctl isolate multi-user.target
- 恢复图形模式:执行:
systemctl isolate graphical.target
日常文件修改模式(文本编辑模式)
若“修改模式”指编辑文件时的模式(如vi/vim),可通过以下方式进入:
使用vi/vim编辑器
- 打开文件:执行
vi filename.txt
或vim filename.txt
,默认进入“普通模式”。 - 进入插入模式:按
i
(在光标前插入)、a
(在光标后插入)或o
(新建行插入),即可编辑文件内容。 - 保存退出:按
ESC
回到普通模式,输入wq
保存并退出,q!
不保存退出。
使用nano编辑器
- 打开文件:执行
nano filename.txt
,直接进入编辑模式,支持鼠标操作,按Ctrl+X
退出并提示保存。
Linux修改模式对比与适用场景
模式名称 | 进入方式 | 适用场景 | 文件系统权限 | 特点 |
---|---|---|---|---|
单用户模式 | GRUB添加init=/bin/bash 或systemd.unit=rescue.target |
密码重置、配置文件修复 | 可读写 | 完整系统挂载,可执行命令 |
紧急模式 | GRUB添加systemd.unit=emergency.target |
文件系统错误、严重系统故障 | 只读(需手动挂载) | 最小化环境,仅基础服务 |
GRUB命令行模式 | GRUB菜单选择“Command line” | 调试内核参数、手动引导 | 取决于手动设置 | 直接与内核交互 |
vi/vim插入模式 | vi/vim中按i /a /o |
日常文本文件编辑 | 可读写 | 需熟悉编辑器命令 |
注意事项
- 备份重要数据:进入修改模式前,建议备份关键配置文件(如
/etc/passwd
、/etc/fstab
),避免误操作导致数据丢失。 - 恢复GRUB配置:若通过GRUB临时修改参数,重启后需通过
update-grub
或grub2-mkconfig
永久更新GRUB配置,否则修改失效。 - 权限控制:单用户模式下默认为root用户,但紧急模式需手动提升权限,注意操作命令的准确性,避免破坏系统文件。
相关问答FAQs
Q1:Linux忘记root密码时,如何通过修改模式重置密码?
A:开机进入GRUB菜单,选择内核条目按e
编辑,将ro
改为rw
,添加init=/bin/bash
,按Ctrl+X
启动,启动后执行mount -o remount,rw /
(若根目录未挂载为可读写),然后执行passwd root
输入新密码,最后执行sync && reboot
重启系统即可。
Q2:为什么进入GRUB编辑模式时按Ctrl+X
而不是Enter
?
A:在GRUB编辑界面,Enter
键会直接以当前未修改的参数启动系统,而Ctrl+X
(或F10
)是执行编辑后的参数并启动,若需应用修改(如将ro
改为rw
或添加init=/bin/bash
),必须使用Ctrl+X
才能进入目标修改模式。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/30994.html