GNU Linux启动时文件系统mountall挂载出错问题的处理
/*********************************************************************
* Author : Samson
* Date : 12/05/2014
* Test platform:
* 3.13.0-24-generic
* GNU bash, 4.3.11(1)-release
* *******************************************************************/
---------------------
作者:风去沙来
来源:CSDN
原文:https://blog.csdn.net/yygydjkthh/article/details/41748285
版权声明:本文为博主原创文章,转载请附上博文链接!
查看uuid的方法:
UUID(Universal Unique Identifier):通用唯一标识;
在GNU Linux系统进行挂载的时候,mountall服务会进行文件系统的挂载,通常是读取/etc/fstab文件中的挂载配置进行挂载,内容类似如下:
ufo@ufo:~$ cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda6 during installation
UUID=54e52c07-3dce-4cc9-b106-6079aad2536d / ext4 errors=remount-ro 0 1
# swap was on /dev/sda5 during installation
UUID=0893466f-30b4-494e-b234-ce3da8ee8ca9 none swap sw 0 0
如上的/dev/sda6这个块设备的UUID对应的即为UUID=后的值,要将此块设备挂载到/目录上,文件系统为ext4。更多具体的各个项的意义可参考此篇文章:
http://blog.csdn.net/xuleilx/article/details/7889460
ufo@ufo:~$ blkid -o list
device fs_type label mount point UUID
-------------------------------------------------------------------------------
/dev/sda1 ntfs 系统保留 (not mounted) E45A22425A22123A
/dev/sda2 ntfs (not mounted) D09826319826168E
/dev/sda5 swap <swap> 0893466f-30b4-494e-b234-ce3da8ee8ca9
/dev/sda6 ext4 / 54e52c07-3dce-4cc9-b106-6079aad2536d
ufo@ufo:~$ ls -l /dev/disk/by-uuid/
总用量 0
lrwxrwxrwx 1 root root 10 12月 3 20:07 0893466f-30b4-494e-b234-ce3da8ee8ca9 -> ../../sda5
lrwxrwxrwx 1 root root 10 12月 3 20:07 54e52c07-3dce-4cc9-b106-6079aad2536d -> ../../sda6
lrwxrwxrwx 1 root root 10 12月 3 20:07 D09826319826168E -> ../../sda2
lrwxrwxrwx 1 root root 10 12月 3 20:07 E45A22425A22123A -> ../../sda1
当在不正常操作的情况下,系统在启动时会出现挂载文件系统出错的提示,有可能出现的错误大致分为以下几种:
(1)、Continue to wait, or Press S to skip mounting or M for manual recovery
(2)、Press F to attempt to fix the errors, I to ignore, S to skip mounting, or M for manual recovery
(3)、Press I to ignore, S to skip mounting, or M for manual recovery
(4)、Press S to skip mounting or M for manual recovery
(5)、Checking disk drives for errors. This may take several minutes.
针对如上出现的问题,一般情况下若不是/目录的挂载块设备挂载不了(再说了,根目录的挂载在使用grub进行启动时就已经使用了其对应的uuid进行了挂载,和/etc/fstab也没有什么关系),其它的例如:
把/opt目录给挂载一个块设备这样的操作,直接跳过或忽略是可以进入系统的,只是在此例子中opt目录使用的空间是使用的和/目录一个块设备的空间,在空间上并没有以块设备的分离而分开。
那么问题来了,如何修复和处理这样的情况呢?
(1)、进行手动修复时,可以使用以上查看UUID的命令查看设备的UUID是否和/etc/fstab中的UUID一致。不一致的话,将/etc/fstab的值改为和查看到的块的UUID的值;
(2)、使用fsck命令进行分区的修复;可参考此篇文章:
http://blog.csdn.net/yusiguyuan/article/details/18302439
PS:
在LinuxMint中,和此相关的包为:
mountall(主要是在系统启动时进行文件系统的挂载及进行回写plymouth的回调函数) plymouth(在此问题中主要是负责将开机过程中的mount错误在闪屏中时进行显示交互及处理)
另在使用的过程中,发现修改系统时间后重启电脑会出现(3)、Press I to ignore, S to skip mounting, or M for manual recovery报错。这个应该是由于在启动时使用fsck扫描时由于超级块中的时间相关太多而造成的此问题的出现,直接忽略即可。关于超级块可参看:http://blog.csdn.net/yygydjkthh/article/details/39031839
GNU Linux启动时文件系统mountall挂载出错问题的处理的更多相关文章
- 关于Linux启动时挂载rootfs的几种方式
一直对Linux启动时挂载根文件系统的过程存在着很多疑问,今天在水木精华区找到了有用的资料,摘录如下: 1.Linux启动时,经过一系列初始化之后,需要mount 根文件系统,为最后运行init进程等 ...
- Linux 启动时profile、bashrc、~/.bash_profile、~/.bashrc、~/.bash_profile执行顺序以及文件说明
Linux 启动时profile.bashrc.~/.bash_profile.~/.bashrc.~/.bash_profile执行顺序以及文件说明 一.执行顺序 登录linux时,/etc/pro ...
- linux启动时文件系统错误问题
linux开机启动时,文件系统错误(磁盘有坏轨或文件系统出现错误) 原因: 1.系统运行时,突然断电或不正常关机,导致文件系统错误(文件系统错误并不是硬件错误,而是软件数据的问题) ...
- 从linux启动到rootfs的挂载分析
简单的来说,根文件系统包括虚拟根文件系统和真实根文件系统.在Kernel启动的初始阶段,首先去创建虚拟的根文件系统,接下来再去调用do_mount来加载真正的文件系统,并将根文件系统切换到真正的文件系 ...
- 转:嵌入式linux启动时运行的inittab文件
嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要少得多.嵌入式系统下的linux启动过程一般是: 1 在bootloader中制定各种要 ...
- Linux启动时显示Grub命令行及修改
1.在启动Linux系统时,如果/boot/grub/grub.cfg文件损坏或者不存在时,启动Linux时,就会有Grub命令行的提示. 如下操作,将系统自带的grub.cfg文件改名.重新启动系统 ...
- [转载]嵌入式linux启动时运行的inittab文件
源地址:https://www.cnblogs.com/yfz0/p/5853826.html 嵌入式系统下的linux启动配置文件,不同与普通的PC linux启动配置,启动相关文件与文件的内容也要 ...
- 详解如何在 Linux 启动时自动执行命令或脚本
我一直很好奇,在启动 Linux 系统并登录的过程中到底发生了什么事情.按下开机键或启动一个虚拟机,你就启动了一系列事件,之后会进入到一个功能完备的系统中,有时,这个过程不到一分钟.当你注销或者关机时 ...
- Sharepoint 2010 工作流启动时处理表单出错
问题: Shareoint 2010 列表工作流启动时,显示“处理表单时出现严重错误”. Error Message-1: Object doesn't support property or met ...
随机推荐
- 数据库MySQL六
介绍什么是JDBC JAVA SE也有 提高综合篇 JDBC(Java Database Connectivity) :java和数据库的连接技术,sun公司推出的一套java应用程序访问数据库的技术 ...
- Windows搭建Linux子系统(WSL)详细教程
介绍 WSL(windows下的Linux子系统) Windows Subsystem for Linux(简称WSL)是一个在Windows 10上能够运行原生Linux二进制可执行文件(ELF格式 ...
- day6.细说类型2
一.字符串(一)字符串需要掌握的操作1.# strip (清除):序列是一段字符串,该函数表示从头和从尾部同时开始进行扫描,如果扫描的字符在序列字符串中,则剔除掉,一直到遇到一个不在序列字符串中的字符 ...
- Day14_80_反射机制+IO+Propreties动态创建对象
反射机制+IO+Propreties动态创建对象 * 使用Properties文件,在文件中通过<key value>的形式保存一下类名,然后通过IO 获取该类名,再然后利用反射机制得到该 ...
- 数据结构之Queue | 让我们一块来学习数据结构
前面的两篇文章分别介绍了List和Stack,下面让我们一起来学习Queue 数据结构之List | 让我们一块来学习数据结构 数据结构之Stack | 让我们一块来学习数据结构 队列的概况 队列是一 ...
- 【全网首发】鸿蒙开源三方组件--强大的弹窗库XPopup组件
目录: 1.介绍 2.效果一览 3.依赖 4.如何使用 5.下载链接 6.<鸿蒙开源三方组件>文章合集 1. 介绍 XPopup是一个弹窗库,可能是Harmony平台最好的弹窗库.它从 ...
- 034- do_while语句
语法 初始化语句; do { 循环体语句; 控制条件语句; }while(boolean表达式); 执行过程: 首先会执行do循环体中的语句,然后运算while中的boolean表达式,如果是true ...
- 基于防火墙的VRRP技术--华为防火墙双机热备--VGMP
目录 主备备份双机热备配置 负载分担双机热备配置 为了解决多个VRRP备份组状态不一致的问题,华为防火墙引入VGMP(VRRP Group Management Protocol)来实现对VRRP备份 ...
- picpick截屏软件脱壳
0x01 准备 OD 基本查壳软件 picpick可执行文件(不是快捷方式) 0x02 查壳 软件是2018年9月,还是比较新的 显示EP区段是.vmp1,没见过,不知道是压缩壳还是加密壳,搜索所示y ...
- SQL注入平台第一关,注入?id=1'不报错的问题
第一关需要在地址栏输入id参数测试是否有注入点 我这里输入 http://localhost/sqli-labs-master/Less-1/?id=1 下一步将id参数改为?id=1' http:/ ...