一:概述
在登录系统时,如果从打开电源到登录系统的顺序出了问题,就不会显示登录界面或登录提示信息,即使你在登录界面或登录提示中输入了用户名和密码,也不会登录成功。如果你遇到了这种情况。就没有办法登录系统进行系统的修复工作。解决这种问题就需要从DVD/CD-ROM或SIO镜像中启动安装程序,然后再执行修复工作。
二:CentOS中忘记密码无法登录得处理方法
除了忘记密码无法登录系统之外,如果引导加载程序GRUB2已损坏无法启动系统,也是无法登录系统的。你可以使用ISO镜像文件启动Linux系统,在LInux系统启动安装程序界面选择Troubleshooting(故障排除)选项,如下图所示。
在启动之时,GRUB会显示一个菜单列表以供用户选择,可以通过上下箭头键来选择需要得菜单项,按回车键即可引导操作系统。在Troubleshooting界面选择Resue a CentOS Linux system选项进入救援模式,如下图所示。之后会有四种选项供你选择,这里你需要选择第一个,即Continue选项。
在提示输入行中输入数字1表示选择Continue选项,然后按下Enter键进入Shell提示界面。
救援模式是一种在紧急情况下使用系统救援方式。可以通过这种方法对系统中因意外而丢失或被意外删除得系统文件进行修复找回,但是非系统文件系统不能通过这种方式找回。Linux系统得救援模式是一种特殊的系统模式,它是一个简略的系统,具有正常系统得大部分功能,也可以执行正常系统得大部分内容。
三:进入系统启动界面
调整启动顺序就好了。首先保证你的虚拟机是关闭状态,选择要修复的虚拟机,然后点击”设置“按钮,并选择“系统>主板”选项,在启动顺序中把光驱作为第一启动顺序,如果你没有添加光驱的话,还需要单击“存储”按钮,并选择“控制器:IDE”选项,添加CentOS虚拟光驱,之后保存并关闭设置界面,最后启动虚拟机,在LInux安装界面选择Troubleshooting,进入救援模式,执行修复工作就可以了。
当你看到Shell提示之后,需要使用chroot命令将根目录更改为/mnt/sysimage目录,如下图所示。经过chroot操作之后,系统读取到的目录和文件将不在是之前系统下的根目录,而是最新指定的位置中的目录和文件。这种操作增加了系统的安全性,方便用户开发引导Linux系统的启动及紧急救援等。
在Linux系统中,系统默认的目录结构都是以/(根目录)开始的。在使用chroot命令之后,系统目录结构将以指定的位置作为/的位置。chroot命令用于将根目录更改为参数指定的目录,将根目录从安装程序的根目录更改为硬盘的根目录后,用户仍然可以使用与通常相同的目录路径。
当你进行到这一步时,就可以重置你的密码了。在文件/etc/shadow中检查当前的加密密码,然后通过passwd命令设置新的密码,正确输入两次新密码即可成功重置密码,完成密码的重置之后,再次检查文件/etc/shadow中的加密密码,显示加密密码已更新。
密码的问题解决之后,如何重新安装GRUB2.首先你需要执行cat /proc/partitions命令检查分区的情况,然后使用grub2-install/dev/sda命令在损坏的磁盘/dev/sda上重新安装GRUB2.当提示instalation finished.No error reported信息时,表示成功安装了GRUB2,如下图所示。
完成修复工作之后,退出Shell并关闭虚拟机,然后再试试重启系统。
上述有些步骤由于启动界面没有相应的选项不能演示截图,敬请谅解
四:Ubntu上遇到无法登录的情况处理方法
Ubuntu中解决无法登录的问题也需要ISO镜像文件,设置步骤和CentOS一样。启动Ubuntu,进入安装程序界面,如下图所示。在启动界面选择“中文(简体)”选项。也可以选择其他语言。然后单击“使用Ubuntu”按钮,启动终端。
这种操作是需要root权限的。切换到root权限下使用df命令检查文件系统的安装状态。
df | grep -v snap
执行这个命令检查修复的磁盘分区,然后创建挂载点/mnt/sysimage来挂载修复文件系统。使用chroot命令切换到根目录至/mnt/sysimage。
cat /proc/partitions
mkdir /mnt/sysimage
mount /dev/sda1 /mnt/sysimage
chroot /mnt/sysimage
之后你就可以重置你的密码了。执行grep ubuntu /etc/shadow命令表示检查ubuntu这个用户当前的加密密码,然后通过passwd命令设置新的密码,正确输入两次新密码即可重置密码成功。完成密码的重置后,再次检查文件/etc/shadow中的加密密码,显示加密密码已经更新。
grep ubuntu /etc/shadow
passwd ubuntu
grep ubuntu /etc/shadow
Ubuntu中重新安装GRUB2的方法和CentOS中差不多,第一步也是通过cat /procpartitions命令检查要修复的磁盘分区。差别在第二步Ubuntu从安装程序启动时,不会在chroot磁盘的根文件系统中创建用于访问磁盘和分区的设备文件进行通信,设备文件存放在/dev目录下,这个mknod命令可以创建设备文件。
格式:mknod 设备文件名 {b|c} 主设备号 次设备号
其中b表示块设备,c表示字符设备。之后使用Ubuntu中的grub-install命令在损坏的磁盘上重新安装GRUB2就可以了。