Ubuntu启动时a start job is running for dev-disk-by延时解决
写在前面:本博客为本人原创,严禁任何形式的转载!本博客只允许放在博客园(.cnblogs.com),如果您在其他网站看到这篇博文,请通过下面这个唯一的合法链接转到原文!
本博客全网唯一合法URL:http://www.cnblogs.com/acm-icpcer/p/8448519.html
我在我写的博客
最全最详细:ubuntu16.04下linux内核编译以及设备驱动程序的编写(针对新手而写)
里面的“虚拟机扩容”这个部分有点问题,本来按照我所描述的步骤去操作是没什么问题的(因为后来我给家里的联想古董一体机安装了linux发现没有出问题),但是可能是第一次给虚拟机挂载硬盘的时候交换区swap没有设置好,导致linux内核不能感知到硬盘交换区的存在,本来不是什么大问题,因为linux默认在90s内如果没有感知到swap交换区就会执行默认引导程序启动操作系统,但是这就使得开机时间增加了90s。这还了得!+90s的续命机会怎么能放弃?于是本文就续命。。。不是,就解决该问题提出解决方案。
首先我们可以在开机界面发现linux内核的报错语句:
a start job is running for dev-disk-by uuid <disk-partition-uuid>
这就是万恶之源,linux就是在此处被延时了90s,但是这句话看得人半懂不懂,没关系,90s延时过去后下面还有一条不起眼的语句:
Denpendency failed for Swap
之前就是因为没有看见这句最关键的警告所以才一直没有找到解决方法,看到这句话之后,恍然大悟,才知道是交换区出了问题。
那么如何解决呢,自然只好到交换区里面去看看了,执行命令:
swapon --show
如果你的交换区正常,那么就会是这样:

不正常就是这样:

也就是说,你执行了查看swap区命令,但是却找不到交换区,也就是说实际上你的操作系统根本没有交换区。这是很麻烦的事情,因为这样的话操作系统内存与虚拟内存的数据交换就是直接进行的,首先,这会拖慢系统吞吐量,因为虚拟内存在硬盘上,无论是ssd还是机械的温彻斯特硬盘,它们的速度都远不敌dram内存的速度快;其次,离开了交换区的缓冲效果,大量数据直接从内存写入硬盘,硬盘会受不了,造成一定的损伤。总之,长远来看,没有交换区这是一个很严重的问题。尤其对于大型服务器来说,这是致命伤,因为如果访问量过大或者服务器遭受了DDoS攻击的话,服务器硬盘很可能会直接烧坏。
不过,既然知道了问题所在就好解决了。我们知道,操作系统通过PCB感知进程,通过TCB感知线程,通过JCB感知等待调度的作业,那么操作系统必定会通过一个东东来感知数据交换区,这个东东就是UUID号码。
先执行以下命令查看现有的硬盘情况:
mount
结果是:

上面这是我修复后的结果,如果没有修复我们可以从执行的结果看出swap区并没有挂载。
输入以下命令查看操作系统预备给交换区的UUID:
sudo blkid
执行后的结果如下图:

从第二条信息/dev/sda5可以看到swap区本应该拥有的UUID。
查看一下我们挂载硬盘失误后实际产生的UUID:
sudo nano /etc/fstab
执行后发现两个UUID不一致,才知道问题出在UUID上。
知道了问题那就好办了,更改/etc/fstab文件中swap分区的UUID就可以了。即通过命令打开vim来修改:
sudo vim /etc/fstab
切记在此一定要用sudo的权限去修改,因为/etc/fstab文件是系统文件,不使用管理员权限的话只能读而不能写。
修改文件内的swap的UUID为刚刚使用命令sudo blkid查看的swap应持有的UUID即可,下图是修改成功的结果:

重启操作系统,问题修复。续命+90s。
TZ@home
2018/2/14
Ubuntu启动时a start job is running for dev-disk-by延时解决的更多相关文章
- 如何让ubuntu启动时打印字符信息----字符启动
一.概述 要想实现字符启动,需要修改grub.cfg(启动配置文件),将“静态启动”改为“字符启动”. 但是grub.cfg通常只作为只读文件,修改它时实际上修改的是其他的文件然后再通过update- ...
- Ubuntu启动时直接进入命令行模式
直接粘命令吧 sudo vim /etc/init/lightdm.conf 注释掉下面的内容 start on ((filesystem and runlevel [!06] and started ...
- ubuntu 启动时提示 Failed to load session ubuntu
启动时候提示 Failed to load session ubuntu 通过 CTRL + ALT + [F1~F6] 进入终端界面登陆进系统, 进去之后执行 sudo apt-get instal ...
- ubuntu 启动项创建器 选择不了CD镜像,IOS镜像的解决方法
自己系统是ubuntu14.04 , 想使用 ubuntu自带的启动项创建器(usb-creator-gtk)做一个CDLinux的U盘启动项, 打开程序后发现U盘识别了, 在添加镜像的时候,发现怎么 ...
- 基于WSL2 的 Docker Desktop 启动时 Failed to set version to docker-desktop: exit code: -1的解决方法
在Windows 10 的 2004 版本 中, 启用 使用Docker Desktop 时 发现 根本无法启动, 偶尔 或者频繁的出错: System.InvalidOperationExcep ...
- Eclipse启动时提示fail to create the Java Virtual Machine问题的解决
今天偶然打开Eclipse.发现无法打开,出现例如以下提示: 后来经过上网查询.发现是eclipse.ini文件的问题,打开eclipse安装文件夹下的eclipse.ini文件: -startup ...
- Eclipse启动时提示fail to create the Java Virtual Machine问题的解决办法
是eclipse.ini文件的问题,打开eclipse安装目录下的eclipse.ini文件: 将其中的256m改为128m,512m改为256m,1024m改为512m即可 修改后如下: -star ...
- Ubuntu无法进入图形化界面(报错/dev/sda1:clean的解决)
进入命令行模式,执行下面的命令: rm -rf /etc/X11/xorg.conf cp /etc/X11/xorg.conf.failsafe /etc/X11/xorg.conf 重启电脑. 上 ...
- Ubuntu启动停止在checking battery state...
Ubuntu在“checking battery state...”处停止了,出现这种现象的原因可能有很多种.笔者遇到的是其中的一种. 情景描述: 笔者此前将Ubuntu的图形启动方式修改为了字符界面 ...
随机推荐
- Fluent动网格【4】:DEFINE_CG_MOTION宏实例
DEFINE_CG_MOTION宏通常用于定义刚体部件的运动.本文以一个简单的案例描述DEFINE_CG_MOTION的使用方法. 案例描述 本次计算的案例如图所示.在计算域中有一个刚体块(图中的小正 ...
- <BEA-141281> <unable to get file lock, will retry ...>
原文:http://gdutlzh.blog.163.com/blog/static/164746951201291903824812/ <BEA-141281> <unable t ...
- WPF之UI虚拟化
在WPF应用程序开发过程中,大数据量的数据展现通常都要考虑性能问题.有下面一种常见的情况:原始数据源数据量很大,但是某一时刻数据容器中的可见元素个数是有限的,剩余大多数元素都处于不可见状态,如果一次性 ...
- Go Revel - Modules(模块)
revel中的模块是一个可以插入到应用中的包, 它允许从第三方引入至应用,并在它和应用之间共享控制器.视图与资源等数据. 一个模块应当具有和revel应用相同的结构."主"程序会以 ...
- BitSet的用法
1,BitSet类 大小可动态改变, 取值为true或false的位集合.用于表示一组布尔标志. 此类实现了一个按需增长的位向量.位 set 的每个组件都有一个 boolean 值.用非负的整数 ...
- OSI网络体系结构
为把在一个网络结构下开发的系统与在另一个网络结构下开发的系统互连起来,以实现更高一级的应用,使异种机之间的通信成为可能,便于网络结构标准化,国际标准化组织(ISO)于1983年形成了开放系统互连基本参 ...
- 【转】Winform程序未捕获异常解决方法 EventType clr20r3 P1
from:http://blog.csdn.net/chichaodechao/article/details/8294922 在开发winform程序时,用到多线程,在服务器部署后运行,老是自动关才 ...
- Oracle 11g EM删除重建的方法
虚拟机里的Oracle 11g好长时间没用了,突然打开之后发现EM无法访问了,EM可以重建,于是也不打算查找原因了,直接使大招 OS:Windows Server 2012 Oracle:11g R2 ...
- ELK+Filebeat+Kafka+ZooKeeper 构建海量日志分析平台
日志分析平台,架构图如下: 架构解读 : (整个架构从左到右,总共分为5层) 第一层.数据采集层 最左边的是业务服务器集群,上面安装了filebeat做日志采集,同时把采集的日志分别发送给两个logs ...
- Ant与Proguard集中
示例: <taskdef resource="proguard/ant/task.properties" classpath="/usr/local ...