最近发现Centos7有个问题,用普通用户登录的时候,打开命令窗口无法进行操作一直卡在那里,但切换到root用户后命令输入又正常。因为我需要从 window 上的 SecureCRT 去连接 Centos7,每次都需要用户登录,然后把防火墙关闭才能连接上。即使添加了开机自启动脚本来关闭防火墙也没有用。于是在网上搜索了一下怎么进行root怎么登录,结果按网上说的把 /etc/systemd/system/getty.target.wants/getty@tty1.service 文件里 [Service] 下面的基础上添加了 --autologin root,如:
ExecStart=-/sbin/agetty --autologin root --noclear %I
然后保存,reboot。结果就悲剧了,系统开启后如下这个界面一直很卡
然后这个界面过后就出现最左上角一直等待输入的字符的提示(忘了拍下来了,同时我设置的是系统默认命令行启动),然后无法输入,一直那样卡着,完全进入系统了。然后在网上搜索了一下,结果找到一个 centos7系统启动时常见故障及修复方法_centos系统启动error:failure reading sector_蓝色的夏天qy的博客-CSDN博客 按照这里的方法进行修改,我没有执行 touch /.autorelabel
同时我还把原来修改的文件 /etc/systemd/system/getty.target.wants/getty@tty1.service 修改回去不知道是不是没有执行 touch /.autorelabel 的原因,系统起来是这个样子的:
简直就是崩溃了,本来想着放弃了,但网上一搜索,又搜索到说要进入救援模式,然后把root密码删除掉。就是在这个页面时,选一项(我这里选的一第个)
然后按e进行编辑,找到 ro :
这里只需要把 ro 改成 rw init=/sysroot/bin/sh,然后ctrl+x断续往下执行,然后会进入一个界面,跟上面添加的 rd.break 所进入的界面相似。到那个界面后,输入:
1, chroot /sysroot
2, passwd -d root 我先删除掉原来root的密码
3, passwd root 再设置 root 的密码
输入 2 次一样的密码成功后,然后输入 exit 退出到第1步前的状态,然后 reboot。
最后终于起来了,输入用户名 root 和密码。
回想起来修改这个文件 /etc/systemd/system/getty.target.wants/getty@tty1.service,是有问题的,因为root设置了密码,它怎么做到自己登录的呢?而且系统起来后那个黑屏界面,只有左上角一个类似输入符一直在闪烁,但也无法输入,按任何键都没有用,坑...........