Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > Linux内存占满导致无法开机

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

作者:进阶的猪

你的Linux虚拟机是否因磁盘空间占满而无法开机,本文详细讲解Ubuntu 22.04虚拟机根目录占满导致图形界面无法启动的解决办法,包括通过GRUB进入命令行模式、执行扩容修复命令,还解决了扩容后可能出现的无法上网问题,需要的朋友可以参考下

一、原因与解决办法

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内存占满导致无法开机内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文