Linux虚拟机内存占满导致无法开机的原因与解决方法
一、原因与解决办法
Linxu版本:ubuntu22.04.5
问题描述:虚拟机磁盘空间不足打算进行空间扩展,关机后完成宽展操作再次开机就卡在了下图所示的位置无法正常开机。

原因:根目录磁盘占满,无法启动图形会话。
解决办法:
1.重启客户机,在启动过程中持续按 ESC 按键调出 GRUB 启动菜单如下图:

2.高亮在第一个选项按 e 进入启动参数编辑
3.找到以 linux 开头那一行,行尾删掉 splash quiet,在这一行尾添加(作用:直接进入纯命令行,不启动图形界面):
systemd.unit=multi-user.target
4.按下 Ctrl + X 启动,登录账号、密码
5.终端执行扩容修复命令
# 1. 查看磁盘占用,确认是否磁盘100%爆满 df -h # 查看分区信息,验证扩容是否生效 lsblk # 扩展分区(重点!扩容虚拟机磁盘后没做这一步就会异常) sudo growpart /dev/sda 3 # 扩展ext4文件系统 sudo resize2fs /dev/sda3
6.尝试正常启动图形
sudo systemctl set-default graphical.target sudo reboot
7.关机后取消勾选「启动时连接」

二、扩容后可能出现的问题
扩容后重启虚拟机出现不能上网的问题。
1.故障现象
进入图形桌面后,网卡ens33状态为DOWN,无法自动获取 IP;
手动修复底层网络连通后,终端可以正常上网,但 GNOME 右上角没有网络图标。
2.根本诱因
多次在multi-user.target(字符终端)与graphical.target(图形桌面)切换,系统服务启动时序紊乱:
NetworkManager 无法开机自动激活网卡;
虚拟机 Wayland 显示协议与 GNOME 存在兼容性问题,网络托盘程序nm-applet无法正常加载。
3.解决过程
(1)基础排查
# 查看网卡状态 ip a # 查看netplan配置文件 ls /etc/netplan/ # 查看文件如下图 sudo nano /etc/netplan/01-network-manager-all.yaml # 应用netplan配置 sudo netplan apply

(2)激活网卡、恢复底层网络
# 启用ens33网卡 sudo ip link set ens33 up # 重启网络管理服务 sudo systemctl restart NetworkManager # 临时DHCP获取IP地址 sudo dhclient ens33
到此这篇关于Linux虚拟机内存占满导致无法开机的原因与解决方法的文章就介绍到这了,更多相关Linux内存占满导致无法开机内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法
本篇文章主要介绍了使用Kubeadm在CentOS7.2上部署Kubernetes集群的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-03-03
CentOS7.4开机出现welcome to emergency mode的解决方法
CentOS7.4开机出现welcome to emergency mode,报这个错误多数情况下是因为/etc/fstab文件的错误。注意一下是不是加载了外部硬盘、存储器或者是网络共享空间,在重启时没有加载上导致的2018-09-09


最新评论