如何重置硬盘遭到“损坏”的Linux系统root用户密码
传统印象下Linux是非常坚不可摧的,具有千年不更新,万年不重启的美名。而随着虚拟化的推进,很多跑在虚拟化上的Linux由于先前基础架构的脆弱,变得适应性“越来越不好”,体现在IP存储如果出现节点故障而且没有冗余线路的保障很容易出现磁盘脱机导致的系统只读,加上LVM固有的习惯使用还会影响到系统在硬盘离线后数据恢复的困难,再者EXT系列的文件系统没有Windows 2008之后所使用的NTFS文件系统的自我修复功能,很多时候会让工作陷入各种深坑不能自拔。
笔者最近遇到一个奇葩的现象,某平台因为IP存储结点故障导致ESXi层长时间无法与外挂(iSCSI)存储通信,其上的虚拟化层Windows 进入到无响应,Linux进入到系统只读,等待外挂存储恢复之后Windows 进入到可对外应答、远程;而Linux进入到可以SSH但是文件系统依旧只读的现象。此时对于Linux只能进行重启,在系统启动环境下进行fsck磁盘检查(此时还可能会有文件缺失现象发生),现在问题来了,平时登陆的时候使用非root账号保证安全,很少操作系统底层,因此用户基本上用不到root账号,而现在重启后需要使用root账号。
Figure 1由于长时间不用,root用户密码已经记不起来,接着就进入到了死循环,Ctrl+D之后继续到这个界面,反反复复无穷尽
有同学想到不是可以用单用户模式吗?
这个笔者也尝试了,因为百度里面搜索到的最多的重置Linux密码技能就是单用户模式,但是进行不了,效果和上图一样,究其原因,详见这篇博文。
单用户模式不通,而我们就是要进入系统,这时候需要更换策略,我们使用systemrescuecd,由于接下来使用的命令是要和虚拟系统架构一致的,因此启动项上面选择光盘版本要留意一下。
登陆之后,使用fdisk -l确认Linux分区,如果是LVM的环境,需要配置和扫描现有虚拟磁盘:
扫描所有卷组 # lvm vgscan –v 激活所有卷组 # lvm vgchange -a y 列出说有逻辑卷 # lvm lvs –all 挂载逻辑卷 # mount /dev/volumegroup/logicalvolume /mountpoint |
接下来配置命令chroot所需要的环境:
root@sysresccd /root % mkdir /mnt/linux ▼示例是非LVM情况挂载 root@sysresccd /root % mount /dev/sda2 /mnt/linux root@sysresccd /root % mount -o bind /proc /mnt/linux/proc root@sysresccd /root % mount -o bind /dev /mnt/linux/dev root@sysresccd /root % mount -o bind /sys /mnt/linux/sys |
使用chroot进行用户切换:
root@sysresccd /root % chroot /mnt/linux /bin/bash |
使用passwd进行root密码重置,此时重置的就是虚拟机系统内的那个Linux系统root密码:
root@sysresccd /root % passwd Changing password for user root. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. |
最后退出systemrescuecd,重新由硬盘引导,在Figure 1标记的图示中输入重置后的密码,使用fsck –y进行磁盘检查,通过之后使用reboot进行系统重启,问题解决。
总结:
在进行密码重置的时候有多种方法,更多的可以参考这里:http://www.linux-magazine.com/Online/Features/Resetting-Passwords-with-SystemRescueCd
其他参考资料:http://docs.slackware.com/howtos:slackware_admin:how_to_chroot_from_media
其他参考资料:http://www.sysresccd.org/Sysresccd-Partitioning-EN-Repairing-a-damaged-Grub
-=EOB=-
如何重置硬盘遭到“损坏”的Linux系统root用户密码的更多相关文章
- 破解Linux系统root用户密码
linux系统的启动过程 在介绍破解Linux系统root密码之前先了解一下linux系统的启动过程 开机自检(POST),初始化部分硬件 搜素可用于引导的启动设备(如磁盘的MBR) 读取并将控制权 ...
- Linux系统root用户忘记密码解决方法
一:在linux系统启动时(如下图),按e键 二:进入到设置页面,定位到如下行: 三:按e键,进入输入界面 四:在编辑行最后面,空格,输入single,回车后回到第二步界面,只是后面多了single ...
- Centos6.6系统root用户密码恢复案例
1.重新启动主机后,在出现Grub菜单时按上下键取消倒计时 2.进入到内核引导界面按e键如下所示: 3.将鼠标定位到Kernel这一行按e键 4.在行尾输入”single”也可以换成字母”s”或者数字 ...
- Centos6.6系统root用户密码恢复案例(转)
原文:http://www.centoscn.com/CentOS/Intermediate/2015/0131/4604.html 通过单用户模式恢复root用户密码 重新启动主机后,在出现Grub ...
- linux系统root用户登录提示“鉴定故障”的解决办法
同事第一次创建虚拟机,遇到此问题,此前我未曾遇到,搜索到的解决办法记录在此,以防之后忘记. 一.重启系统解决(搜索到的该解决办法较多):https://www.cnblogs.com/lippor/p ...
- 【Linux】Linux 找回Root用户密码
Root密码破解 Linux 忘记Root密码 ? 技术学习基本原则:不作恶 一.破解步骤 1.在系统启动时进入grub选项菜单 2.在grub选项菜单按e进入编辑模式 3.编辑kernel那行添加/ ...
- Linux中Root用户密码变更、密码忘记
用户设置bash的时候,错把root的bash改为bin/bash,注意,不是“/bin/bash”!. 然后就登录不了root了,也修改不了/etc/passwd了. 解决: 1.重启Ubuntu, ...
- linux系统root用户忘记密码的重置方法
如果不小心忘记了新安装的lCentOS7的root密码,现在将找回过程分享给大家. 1.首先,在启动grub菜单,选择编辑选项启动: 2.然后,按e 进入编辑模式: 3.将'linux 16'行'ro ...
- 2、Linux系统root用户忘记密码的重置方式
.界面按空格暂停,按E .找到UTF-,在后面空格后输入init=/bin/sh 然后CHRL+X启动 .进入到这个界面,输入mount -o remount,rw / .输入passwd..然后输入 ...
随机推荐
- C++实现线程安全的单例模式
在某些应用环境下面,一个类只允许有一个实例,这就是著名的单例模式.单例模式分为懒汉模式,跟饿汉模式两种. 首先给出饿汉模式的实现 template <class T> class sing ...
- 使用JSONObject.fromObject的时候出现“There is a cycle in the hierarchy”异常 的解决办法
在使用JSONObject.fromObject的时候,出现“There is a cycle in the hierarchy”异常. 意思是出现了死循环,也就是Model之间有循环包含关系: ...
- In-Memory:内存优化表 DMV
在内存优化表的DMV中,有两个对象ID(Object ID): xtp_object_id 是内部的内存优化表(Internal Memory-Optimized Table)的ID,在对象的整个生命 ...
- ASP.NET Core的路由[3]:Router的创建者——RouteBuilder
在<注册URL模式与HttpHandler的映射关系>演示的实例中,我们总是利用一个RouteBuilder对象来为RouterMiddleware中间件创建所需的Router对象,接下来 ...
- iOS开发之再探多线程编程:Grand Central Dispatch详解
Swift3.0相关代码已在github上更新.之前关于iOS开发多线程的内容发布过一篇博客,其中介绍了NSThread.操作队列以及GCD,介绍的不够深入.今天就以GCD为主题来全面的总结一下GCD ...
- zookeeper源码分析之四服务端(单机)处理请求流程
上文: zookeeper源码分析之一服务端启动过程 中,我们介绍了zookeeper服务器的启动过程,其中单机是ZookeeperServer启动,集群使用QuorumPeer启动,那么这次我们分析 ...
- Oracle手边常用70则脚本知识汇总
Oracle手边常用70则脚本知识汇总 作者:白宁超 时间:2016年3月4日13:58:36 摘要: 日常使用oracle数据库过程中,常用脚本命令莫不是用户和密码.表空间.多表联合.执行语句等常规 ...
- 【Reading Note】算法读书杂记
1 排序 排序基本信息 稳定性:排序前大的数在排序后,大的数依然保持不变就是稳定排序,反之不稳定 内外排序:根据待排序的记录是否放在内存里面区分的.诸如:插入排序(直接插入&希尔).交换排序( ...
- 如何编译Zookeeper源码
1. 安装Ant Ant下载地址:http://ant.apache.org/bindownload.cgi 解压即可. 2. 下载Zookeeper源码包 https://github.com/ap ...
- [原创]ubuntu16.04LTS使用细节
如何给自己安装的应用创建桌面图标 拿php开发神器phpstorm为例,找到可执行文件所在路径. 这里是/home/haive/PhpStorm/bin/phpstorm.sh 打开dash,搜索&q ...