修改了Linux7.5的 /etc/passwd 里的root用户名导致系统无法登陆,之解决办法。

时间:2024-03-20 11:21:44

问题描述: 修改了Linux7.5的 /etc/passwd 里的root用户名导致系统无法登陆,开机后无法正常启动,页面停留在piix4  SMBus Host Controller not enabled 就不继续了。开始以为是SMBus的问题,所以按照方法一修补了SMbus问题。但还是不能登陆系统。所以采用了方法2重装了系统的内核,把问题解决了。

 

方法1:

开机后按上下方向键,会暂停启动,然后根据下面的提示说明在你的操作系统选项上按 e 键会进入编辑 启动加载项 的模式

修改了Linux7.5的 /etc/passwd 里的root用户名导致系统无法登陆,之解决办法。

然后再linux16那一项末尾添加 rd.break。

然后根据下面的提示按Ctrl+x可以启动系统,进入救援模式。

在这个救援模式下输入以下命令

mount  -o  remount ,rw  /sysroot     #以读写方式进入重新挂载根目录系统

chroot   /sysroot     #切换到root用户,执行操作后会进入 sh-4.2#模式

输入 pwd 先看看当前处在什么目录,然后cd到你想去的那个目录,比如 modprobe.d 目录 然后vim 里面那个blacklist.conf  或dccp-blacklist.conf 可以编辑了

在文件添加

blacklist i2c_piix4

另一种情况是:

在虚拟机上运行Linux内核版本为4.7或以上的系统都在安装过程中或在启动时会因为加载intel_powerclamp驱动而导致崩溃

所以就要 blacklist inter_powerclamp

完成操作后在 sh-4.2# 下输入 exit 会返回 switch_root 然后这个界面才能输入 reboot 重启。

然后可以执行相应的查改命令了。注意这个时候vim命令是用不了的,可以使用vi命令。
 

方法2:

虚拟机开机后,按【F2】进BIOS 然后设置成光盘启动。这个步骤跟真机启动的时候设置是一样的。注意一定要在虚拟机的屏幕里点进去鼠标,然后马上按【F2】。注意,如果之前有进过系统,那么在虚拟机重启的时候按【F2】是不管用的,必须把虚拟机关闭再启动虚拟机才能进入BIOS的设置。,

光盘启动后,进入Troubleshootiing的模式。选那个 Rescue a Red Hat Enterprise System的救援模式。接下来按照屏幕提示按Enter,接下来会提示你输入1回车,进入 continue的那个选项。

然后屏幕上会告诉你现在在 /mnt/sysimage 文件夹里挂载了一个临时的系统。输入回车,这时候你就进入了救援模式的命令行。

现在屏幕会提示你输入 chroot /mnt/sysimage 才会切换到救援模式的临时系统,并且用户是这个系统的 root。所以你可以按照屏幕的提示,输入chroot /mnt/sysimage,然后你才算进入了这个救援模式的临时系统了。这一步很重要,因为只有在这个救援模式的临时系统下,你才能把光驱挂载和使用。尽管你的这个光驱本来就已经挂载到你的机器上作为你的启动盘了。

然后新建一个文件夹,比如 mkdir /mnt/cdrom1 ,然后输入 mount /dev/cdrom /mnt/cdrom1 ,把dev下的光驱挂载到你的这个临时系统,这之后屏幕会提示你光驱已经以只读模式加载了。

现在输入 rpm -ivh /mnt/cdrom1/Packages/kernel-3.10...  --force,强制重装内核。 其中/kernel后面是一长串字符,是系统内核的名称,可以按 【tab】键自动补全的。如果 字符输入有误,按【tab】键会出来哔哔声。

内核装好后,执行 grub2-install /dev/sda 重装grub2文件。正确执行完毕后会显示 No erro reported

接下来执行 grub2-mkconf -o /boot/grub2/grub.cfg 重新安装grub的配置文件。

然后输入exit退出临时系统的root用户,返回救援系统的命令行,再输入 reboot 重新启动,大概就可以正常启动系统了。