解决Ubuntu的根目录内存不够导致无法开机问题

我的配置环境:
VMware 16pro: 16.2.4 build-20089737
Ubuntu:22.04.1

前言

这个问题真的很吐血,磁盘内存一直被系统文件给消耗,并且随着你操作次数吃掉你本就不富裕的磁盘空间。最终,我的Ubuntu在沉默中爆发了,直接开摆,开机就不能启动图形界面了。
在这里插入图片描述
然后我去问了我的linux老师,终于能开机了,并且还帮我扩展了根目录所在空间。感谢老师,没有你我可怎么活啊!(狗头ing)

解决因内存不够无法开机问题

原因:

我的Ubuntu其实没有进行严重的文件破坏(删除重要的系统配置文件,如在/etc和/dev之下的文件),但因为分配给根目录的磁盘空间太小,操作几次命令之后就塞满了。导致Ubuntu启动时无法进行挂载图形用户界面。

解决:

1、先启动Ubuntu
在这里插入图片描述
2、在开机界面长按“shift”进入
在这里插入图片描述
3、进入shell命令行模式详细步骤
删掉

这里已经进入了Recovery Menu
在这里插入图片描述
在这里插入图片描述
4、查看磁盘空间情况,删除不重要文件
到这里,就和在终端中的操作一样了,在此不过多赘述。只有删掉一些文件后,释放出内存,Ubuntu才不会在开机时就卡死。

例如,删除 firefox 浏览器、删除/var下的日志文件(log)

不过这只是临时解决开机问题的办法,要对ubuntu进行操作练习,这临时释放的一点空间是不够的。为了一劳永逸,进行根目录所在磁盘扩容才是关键。

Ubuntu的根目录内存扩容方法

step1、外置内存分配给虚拟机

因为磁盘空间满了,有可能是分区占满了所有的内存,没有剩余空间,所以要先进行磁盘扩容增加剩余空间。之后才能进行分区扩容。
在这里插入图片描述

对Ubuntu任意目录进行扩容

1、先下载gparted工具使磁盘可视化

 sudo apt-get install gparted

2、启动gparted

sudo gparted

在可视化界面可以清楚的看到已用空间未用空间
在这里插入图片描述

3、再进磁盘查看根目录所在磁盘分区
在这里插入图片描述
进入磁盘就可以清楚得看到当时下载ubuntu时做的分区规划,我的分区改过了,以前不是这样的。
在这里插入图片描述
在这里插入图片描述
正常情况到这里就完成根目录的扩容了,但我不是。我当时情况很复杂,sda2是系统文件分区,sda3是交换分区,sda4是个人文件系统分区。由于相邻分区都是被占用的状态,无法分配空间给sda2。

扩容要求:
1、被扩容的磁盘的状态要为未分配。
2、只能将待扩容磁盘相邻的空间扩容给根目录所在的sda2。

因此,在这里sda2右边有个钥匙,不能直接扩容,只能将待扩容磁盘相邻的空间扩容给他,所以删掉了原本的swap /dev/sda3 和/dev/sda5,释放内存空间给sda2。(如果盘里有数据先进行复制到其他地方,再删除)
删掉之后,再重复扩容步骤就可以正常扩容了。
扩容完成之后还要重新创建交换分区和个人文件系统分区,这里是老师帮忙完成的我不太会操作,我找到个教程,也差不多是这样的。
Ubuntu如何新建分区

如果原本根目录相邻空间就有未分配的磁盘,直接给它扩容就行。

总结:

  1. Ubuntu启动后卡死,可以在启动时,按住“shift” 键进入shell命令行模式进行相关操作,找到无法启动的原因。
  2. 内存不够的情况分两种,一种是虚拟机内有剩余空间未分配,但已分配给根目录的空间满了,这里直接执行根目录扩容相关操作即可;另一种是虚拟机内没有剩余空间,需要先进行磁盘扩容,再进行根目录扩容。
  3. 扩容的步骤不难,但是有可能会出现一系列问题(包括Boot权限不够、文件的rwx权限修改,复制文件内容错误等),自己不太懂的话,建议重装Ubuntu系统,然后安装时候就把根目录的内存空间扩大。

参考内容:

  • 如何为Ubuntu的根目录扩容(简单实用版):https://blog.csdn.net/weixin_53063839/article/details/125685403
  • Ubuntu 20.04 根目录磁盘扩容(很快 很简单):
    https://blog.csdn.net/weixin_43764974/article/details/124042351

猜你喜欢

转载自blog.csdn.net/weixin_52248428/article/details/127268914