Linux内核编译安装后磁盘空间已满问题解决过程
【注】本文为个人遇到Linux内核经过make,make modules……乃至最后install以后VMware磁盘空间爆炸的情况后,而又不想重装虚拟机,自己找资料实现解决的,文章中一些链接是来自别的博主的(感谢这些大佬产出的高质量文章,没有他们我自己也不一定能解决这问题),如有侵权,请联系我删除。
本人运行环境:VMware + vscode + Linux Ubuntu18.04
【温馨提醒】当这一切解决以后各位朋友不要吝惜VMware的快照功能,真的很有用!之后如果不是因为存储空间不够,直接恢复到编译内核前的快照就行了!
文章目录
- Linux内核编译安装后磁盘空间已满问题解决过程
- 1、虚拟机扩容(我看的是这个链接)
- 2、磁盘已满无法开机(no space left……)
- 3、扩容后续(我自己未用到,我点开的是上面第1条里的链接)
- 4、vmware磁盘当前空间依旧显示不变?点开这个链接看看吧!
- 5、重启后如果出现找不到OS的情况怎么办
- 5、关于VMware快照(*)
1、虚拟机扩容(我看的是这个链接)
这里不得不删除所有快照,因为不然vmware上无法扩展,细节请点击下面的链接。
虚拟机扩容
2、磁盘已满无法开机(no space left……)
下面内容可实现删除一堆东西的功能。
请先点开链接:磁盘已满无法开机问题
下面的代码是我自己在ubuntu里打开火狐方便复制代码的,因为Try Ubuntu中vm-tools用不了(我自己安装了以后重启还是没用),具体的内容执行步骤还是要点进文章链接看看哦。
sudo -s
fdisk -l
mount /dev/sda1 /mnt
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt
回到根目录:注意,我用的内核源码是linux-5.10.202版本,下面的代码请根据各位看官自己内核版本修改~
sudo rm -rf /lib/modules/5.10.202
sudo rm -rf /usr/src/linux-headers-5.10.202
sudo rm -rf /boot/*5.10.202*
sudo rm -rf /var/lib/dpkg/info/linux-headers-5.10.202*
sudo rm -rf /usr/src
umount /mnt
遇到mnt busy问题后的解决:
查看 /mnt/ 的进程状态。比如可以看到 PID 1340 进程正在运行。
fuser -mv /mnt/
杀掉访问文件的进程。
fuser -kv /mnt/
再用 fuser -mv /mnt/ 查看 /mnt/ 。PID 1340 进程已经被杀掉。
fuser -mv /mnt/
最后如果实在不行,暴力解决:
umount -l /mnt
3、扩容后续(我自己未用到,我点开的是上面第1条里的链接)
https://blog.csdn.net/m0_61549260/article/details/129751313
4、vmware磁盘当前空间依旧显示不变?点开这个链接看看吧!
记得先用sudo su切换为root模式
虚拟机删除文件后,磁盘文件所占物理空间没有变小的解决方式 - 知乎 (zhihu.com)【我用的是知乎文中的方法二,亲测有效】
5、重启后如果出现找不到OS的情况怎么办
选择自己Linux原来的内核版本(因为新版本在上面操作中已经被卸载了),我自己没有选择recovery mode,然后回车即可。我遇到的情况是我的linux5.10.202文件夹还在,这个文件夹大小有目共睹
OK!删了,反正后面装回来很快……当然像make mrproper之类的指令也可以用用,据说也有效果。
5、关于VMware快照(*)
VMware快照相关