Linuxroot密码忘记怎么重置?详细教程
时间:2025-11-22 18:05:54 315浏览 收藏
忘记Linux root密码?别慌!本文详尽介绍了四种有效的重置方法,助您轻松恢复系统控制权。首先,通过GRUB编辑启动参数,直接进入Bash shell或单用户模式,修改root密码。针对CentOS/RHEL系统,rd.break救援模式是您的得力助手,更能妥善处理SELinux问题。若系统无法启动,Live CD/USB的chroot操作将为您打开另一扇窗。无论您使用的是Ubuntu或其他Linux发行版,都能找到适合自己的解决方案。立即学习,摆脱root密码困扰,安全管理您的Linux系统!
答案:通过GRUB编辑、单用户模式、rd.break救援模式或Live USB进行chroot操作可重置Linux root密码。具体步骤依次为:修改启动参数进入bash或恢复模式,重挂载根分区为读写,执行passwd命令修改密码,并重启生效;CentOS/RHEL需额外处理SELinux标记;无法启动时可用Live介质挂载原系统并chroot修改。

如果您在尝试管理Linux系统时发现忘记了root账户的密码,将无法执行需要超级用户权限的操作。以下是几种有效的密码重置方法,适用于不同类型的Linux发行版。
本文运行环境:Dell XPS 13,Ubuntu 22.04
一、通过GRUB编辑使用init=/bin/bash
此方法通过修改内核启动参数,直接以Bash shell进入系统,从而绕过正常的登录验证流程,获得对系统的完全控制权。
1、重启计算机,在GRUB启动菜单出现时,按住Shift键或Esc键以显示菜单。
2、使用键盘方向键选中要启动的内核条目,然后按“e”键进入编辑模式。
3、在编辑界面中,找到以“linux”或“linuxefi”开头的行,将光标移动到该行末尾。
4、删除行尾的“ro quiet splash $vt_handoff”部分,并替换为 rw init=/bin/bash。
5、按Ctrl + X或F10组合键启动修改后的配置,系统将直接进入root shell环境。
6、执行命令 mount -o remount,rw /,确保根分区已挂载为可读写模式。
7、输入 passwd root 命令,根据提示输入并确认新的root密码。
8、密码设置成功后,输入 exec /sbin/init 或 reboot -f 命令强制重启系统。
二、利用GRUB单用户模式(runlevel 1)
此方法通过引导至运行级别1(单用户模式),提供一个无需密码即可获得root权限的最小化环境,专门用于系统维护和修复。
1、重启计算机,在启动过程中反复按Shift或Esc键,直至出现GRUB菜单。
2、在菜单中选择“Advanced options for Ubuntu”或其他类似的高级选项,然后按回车进入子菜单。
3、在子菜单中,选择带有“recovery mode”字样的内核版本。
4、系统会列出恢复选项,使用方向键选择“Drop to root shell prompt”(进入root shell提示符)并按回车。
5、此时您将获得一个具有root权限的shell。首先运行 mount -o remount,rw / 命令,将根文件系统重新挂载为可读写。
6、执行 passwd root 命令,输入并确认新的密码来完成重置。
7、操作完成后,输入 reboot 命令重启系统。
三、CentOS/RHEL使用rd.break救援模式
该方法专为RHEL及其衍生版设计,通过在内核初始化早期中断系统启动,挂载/sysroot目录来修改原系统的文件,特别适用于处理SELinux等安全策略的系统。
1、重启系统,在GRUB菜单出现时按“e”键进入内核编辑界面。
2、找到以“vmlinuz”或“linux16”开头的行,将光标移至行末。
3、在行末添加 rd.break=pre-mount 参数,然后按Ctrl+X或F10启动。
4、系统将进入紧急救援模式。执行 mount -o remount,rw /sysroot 命令,以读写方式重新挂载/sysroot。
5、切换到/sysroot的根目录: chroot /sysroot。
6、使用 passwd root 命令重设root密码。
7、如果系统启用了SELinux,必须创建标记文件: touch /.autorelabel,否则下次启动可能无法进入图形界面。
8、依次输入 exit 和 reboot 退出并重启系统。
四、使用Live CD/USB进行chroot操作
当系统因故障无法从硬盘启动时,此方法通过外部可启动介质(如U盘)加载一个临时的操作系统,然后挂载原系统分区并更改其内部的密码信息。
1、准备一个包含Linux发行版的Live USB或CD,并从该介质启动计算机。
2、进入Live系统后,打开终端,使用 sudo fdisk -l 或 lsblk 命令识别原系统的根分区(通常为/dev/sda1, /dev/nvme0n1p2等)。
3、创建一个挂载点并挂载根分区: sudo mount /dev/sdXY /mnt (将sdXY替换为实际的分区标识)。
4、如果/boot、/home或/有单独分区,也需要将其挂载到/mnt对应的目录下。
5、绑定必要的虚拟文件系统:执行以下命令:
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
6、使用chroot命令切换到原系统环境: sudo chroot /mnt。
7、在chroot环境中,直接运行 passwd root 来设置新密码。
8、密码修改成功后,输入 exit 退出chroot环境,然后卸载所有挂载点并重启: sudo umount /mnt/{dev,proc,sys} 和 sudo umount /mnt,最后 reboot。
好了,本文到此结束,带大家了解了《Linuxroot密码忘记怎么重置?详细教程》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多文章知识!
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
175 收藏
-
127 收藏
-
218 收藏
-
454 收藏
-
146 收藏
-
270 收藏
-
214 收藏
-
447 收藏
-
407 收藏
-
501 收藏
-
324 收藏
-
448 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习