Linux开机出现读秒1min30s的问题

Linux开机出现读秒1min30s的问题

出现的问题

电脑开机或重启后出现:A start job is running for dev-disk-by…(1min,30s)

查找原因

查找相关问题,发现主要原因是swap分区挂载不上,一直读取导致的。

1.在终端输入命令:

$ free -m

显示swap的total和free为0。

2.再输入下面的命令查看Swap状态。

$ swapon --show

没有弹出任何信息,说明swap分区没有激活。

3.再输入mount命令来查看已挂载的硬盘分区。

$ mount

发现swap分区没有挂载,此时已经确认系统启动时swap分区挂载失败。

解决过程

1.首先输入下面的命令查看swap分区的真实UUID。

$ sudo blkid

然后再查看/etc/fstab文件中swap分区的UUID。

$ sudo vi /etc/fstab

如果二者不同,则直接将fstab文件中swap分区的UUID替换成blkid命令查看到的UUID。保存后重启就能解决问题了。

2.然而我在解决问题的时候,发现这两个UUID是一致的。于是只能继续想办法。既然没挂载上,那可能是对应分区出了问题。
由于我使用的是虚拟机,那肯定不是硬件问题,只需要重新分配一下swap分区就行。
谨慎操作,别把硬盘数据搞没了,或者把系统搞挂了,这个分区我确认过是纯粹用来作为swap分区的,且本人使用的是虚拟机,胆子比较大,大家有问题还是先确认一下比较好

sudo mkswap /dev/xxx

其中的/dev/xxx 需要换成在输入blkid命令后查看得到的硬盘分区,例如/dev/sda2。
这样系统会将该分区重置为新的swap分区,分配一个新的UUID。
我再次重新挂载发现能挂载上,于是直接改掉/etc/fstab文件中对应的UUID,重启之后,却依然要读一分半,问题依然存在。

3.那么看样子是不能直接从硬盘分区挂载了。

  • 先挂到可访问的挂载点,再从文件中读取。

sudo dd if=/dev/xxx of=/swapfile bs=1M count=4096 status=progress

这句指令使系统从标准输入或文件读取数据(即if),依指定的格式来转换数据,再输出到文件(即of)。具体意思是将xxx分区的空间作为输入链接到/swapfile文件存取。后面的空间大小是1M*4096,即分配4G的空间到文件。

/swapfile是自己定义的,也可以是/swap/swapfile这种,方便自己区分就行。随后设置文件权限

$sudo chmod 600 /swapfile

  • 然后把生成的文件转换成 swap 文件

$sudo mkswap /swapfile

命令执行后会提示结果,显示新的UUID。

  • 激活 Swap 文件

$sudo mkswap /swapfile

  • 执行free -m 发现已经挂载上,接下来再更改/etc/fstab文件中swap分区的条目。

$ sudo vi /etc/fstab

修改对应行,直接改掉之前的分区,现在从文件中读取,不需要UUID了。改为:

/swapfile swap swap defaults 0 0

再次重启,不用等一分半了,问题解决。仅供参考,谢谢。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值