@​​TOC​​ 此教程是非严谨教程,综合了网上的两种解决方案,因为我对Linux研究的不深,花了半天的时候才搞定,不想让你们也浪费时间,具体原理没有深入研究,能解决问题就行,看到此教程,你应该不需要看别的教程了。

系统简介

我的UOS是通过win10一键安装的,即win10+UOS双系统,系统信息如下

统信UOS提示系统磁盘空间不足_Linux

一直提示系统磁盘空间不足,可以通过此命令查看磁盘的使用率,结果如下图:

df -lh

当/dev/loop0的 可用空间不足的时候就会提示系统磁盘空间不足

统信UOS提示系统磁盘空间不足_UOS_02

通过扩容root.disk可以解决此问题

1.进入root账户。先在安装UOS系统的磁盘,选择用管理员身份打开,然后在新窗口,选择在终端中打开,即可进入root账户的终端

统信UOS提示系统磁盘空间不足_系统盘_03

2.查看root.disk的位置。我网上查了很多,都跟我的位置不一样,但是命令是一样,结果如下图:

losetup

统信UOS提示系统磁盘空间不足_统信_04

3.进入到root.disk所在的目录,并查看root.disk文件信息:

cd /host/uniontech/UOS/vdisk/
file ./root.disk

统信UOS提示系统磁盘空间不足_磁盘空间不足_05

发现其实这就是一个ext4镜像,那么问题就变得简单了,只要扩展这个镜像文件大小就可以了,用 resize2fs 来调整分区大小,由于原来文件只有20G,使用这个命令会同时扩展这个文件的大小,所以确保root.disk所在分区有足够的空间用于扩容。我扩了2次,每次50G,

sudo resize2fs ./root.disk 50G

此时,再执行以下命令,就可以看到/dev/loop0 的总空间就会变大了,:

df -lh

4.如果没有变大,按照下面的步骤去操作:

1.执行此命令,扩大root.disk这个文件

dd if=/dev/zero of=root.disk bs=1G conv=notrunc oflag=append count=50

这里if 是输入设备,/dev/zero是空设备,表示凭空增加

of 是输出设备,输入我们的虚拟磁盘文件名

bs是单位 1G

conv 表示不转换

oflag=append表示在文件屁股后面增加

count =50 增加50G;

2. 执行此命令,扩大loop0分区

sudo losetup -c /dev/loop0

扩大了文件之后,如果计算机里显示的系统盘容量并没有变化,可以执行此命令:

sudo losetup -c /dev/loop0

再看容量就变了,但是此时还是不停的报容量不够, 再执行此命令:

sudo resize2fs p /dev/loop0 50G

就好了,这里要输入分区的容量,如果输入大了,会出现You requested a new size of xxx blocks 字样,这就是失败了,缩小容量数字。 出现 the filesystem on /dev/loop0 is now xxx blocks long 就表示成功了到这里我们的扩容就完成了,UOS这里不是很友好,这个工作门槛有点高。

3.通过两种方法如果还不行,就再执行第3大步的命令就可以了,前提是确保还在root.disk文件所在的目录

sudo resize2fs ./root.disk 50G

参考链接:​​参考1​​ ​​参考2​