Linux虚拟机内存占满导致无法开机的原因及解决方法

作者:袖梨 2026-07-23

一、原因与解决办法

Linxu版本:ubuntu22.04.5

问题描述:虚拟机磁盘空间不足打算进行空间扩展,关机后完成宽展操作再次开机就卡在了下图所示的位置无法正常开机。

Linux虚拟机内存占满导致无法开机的原因与解决方法

原因:根目录磁盘占满,无法启动图形会话。

解决办法:

1.重启客户机,在启动过程中持续按 ESC 按键调出 GRUB 启动菜单如下图:

Linux虚拟机内存占满导致无法开机的原因与解决方法

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.targetsudo reboot

7.关机后取消勾选「启动时连接」

Linux虚拟机内存占满导致无法开机的原因与解决方法

二、扩容后可能出现的问题

扩容后重启虚拟机出现不能上网的问题。

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

Linux虚拟机内存占满导致无法开机的原因与解决方法

(2)激活网卡、恢复底层网络

# 启用ens33网卡sudo ip link set ens33 up# 重启网络管理服务sudo systemctl restart NetworkManager# 临时DHCP获取IP地址sudo dhclient ens33

相关文章

精彩推荐