centos7採用的是grub2,和centos6.x進入單用戶的方法不同。但是因爲用的是真機環境無法截圖,所以只是大概描述以下思路。
init方法
1、centos7的grub2界面會有兩個入口,正常系統入口和救援模式;
2、修改grub2引導
在正常系統入口上按下"e",會進入edit模式,搜尋ro那一行,以linux16開頭的;
把ro更改成rw;(把只讀更改成可寫)
把rhgb quiet刪除;(quiet模式沒有代碼行唰唰的走,可以刪除)
增加init=/bin/sh;(或init=/bin/bash,指定shell環境)
按下ctrl+x來啓動系統。
3、修改root密碼
#passwd #修改密碼
#touch /.autorelabel #據說是selinux在重啓後更新label
#exec /sbin/init #正常啓動init進程
另外還有一種rd.break方法(未嘗試)
1、啓動的時候,在啓動界面,相應啓動項,內核名稱上按“e”;
2、進入後,找到linux16開頭的地方,按“end”鍵到最後,輸入rd.break,按ctrl+x進入;
3、進去後輸入命令mount,發現根爲/sysroot/,並且不能寫,只有ro=readonly權限;
4、mount -o remount,rw /sysroot/,重新掛載,之後mount,發現有了r,w權限;
5、chroot /sysroot/ 改變根;
(1)echo redhat|passwd –stdin root 修改root密碼爲redhat,或者輸入passwd,交互修改;
(2)還有就是先cp一份,然後修改/etc/shadow文件
6、touch /.autorelabel 這句是爲了selinux生效
7、ctrl+d 退出
8、然後reboot