通过单用户模式进入系统解决方案
1、重启进入
2.看上图,按 e。红框中的ro改为:rw init=/sysroot/bin/sh
电脑3、按下 ctrl x ,启动单用户模式
4.切换到系统的真实根目录(可以理解) root 权限登录原系统,权限变大,但不是真的root这么大的权限)
chroot /sysroot
常用权限:
查看/var/log/检查和修改目录下的日志/etc/fstab修改root密码(echo "password" | passwd --stdin root)
5、修改/etc/fstab,先注释问题,或者记住正确的UUID可修改成正确的UUID,一般不记得这个鬼东西,可以用磁盘路径代替。在这里,我先注释一下有问题的行。在这里,我先注释一下有问题的行。
电脑6、reboot(重启系统),启动OK
7.重启后,输入blkid 命令,找磁盘UUID,然后按照UUID的格式在fstab重新写入文件中的配置信息,然后执行mount -a重新挂载。
二、解决磁盘挂载失败和磁盘挂载失败的问题(fuser)1)解决磁盘挂载失败问题记住:改/改/etc/fstab必须执行文件monut -a看看是否有错误,立即修改错误,否则很可能导致系统无法启动。
【问题】
$ umount /dev/sdb1umount: /opt/data1: target is busy.$ umount /dev/sdb1 -f # 不能强制取消吊载umount: /opt/data1: target is busy.# 一些操作系统提示umount: /dev/sdb1: device is busy.
【fuser工具】
fuser文件和网络套接字用于报告过程。fuser该命令列出了电脑使用当地进程的当地进程号File,参数指定的本地或远程文件。fuser该命令列出了使用当地进程的当地进程号File,参数指定的本地或远程文件。该命令列出了使用该设备上任何文件的过程,以阻止特殊设备。
每个过程号后面都有一个字母,字母指示过程中如何使用文件。
c:指示工作目录。 e:指示该文件为过程的可执行文件(即过程由文件拉起)。 f:在默认情况下,f字符没有显示文件被打开。 F:在默认情况下,F字符没有显示指示文件被打开写入。 r:指示该目录为进程的根目录。 m:指示过程使用该文件进行内存映射,或该文件是共享库文件,并被过程映射到内存中。
语法
fuser (选项)[文件|目录|端口号]
选项
-a:显示命令行中指定的所有文件。-k:杀死访问指定文件的所有过程。-i:用户需要在杀死过程前进行确认。-l:列出所有已知信号名。-m:指定加载文件系统或加载块设备。 -n:选择不同的名称空间。-u:显示每个过程后的用户名。
yum安装fuser
$ yum install -y psmisc
【解决】
$ fuser -m /opt/data1 # 查看目录下的过程,-m可以省略/opt/data1: 7767c 7786c 7792c# 杀掉进程$ kill -9 7767 7786 7792# 或者查询后直接杀死过程(-k),将以上两步合成一步$ fuser -k /opt/data1
再次卸载就OK了
$ umount /opt/data1
2)磁盘不能解决问题
解决方案和上面一样,先用fuser找出哪些过程还在运行,kill掉进程后再次mount就ok。
电脑