You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu虚拟机启动时snapd管理的AppArmor配置加载失败无法启动怎么修复

优先提取虚拟机内重要数据(避免操作失误丢失数据)
  • 关闭当前崩溃的虚拟机,在VMWare Workstation的对应虚拟机设置页,找到存储选项,将该虚拟机的虚拟磁盘文件(.vmdk后缀)挂载到另一台正常运行的Linux虚拟机上(可临时新建一个轻量Ubuntu虚拟机,基础配置即可)
  • 挂载完成后在正常虚拟机内执行lsblk找到新增的磁盘设备,一般为/dev/sdb,对应原虚拟机的系统分区为/dev/sdb5(和报错信息里的sda5对应)
  • 执行挂载命令:mount /dev/sdb5 /mnt,之后即可在/mnt目录下读取原虚拟机内的所有数据,先把重要文件拷贝到宿主机或其他存储介质完成备份后,再进行系统修复操作。
系统修复方案
  • 重启原虚拟机,在VMWare的BIOS自检界面快速按住Shift键,进入GRUB引导菜单
  • 找到日常使用的内核引导项,按e进入编辑模式,找到以linux开头的行,在行尾添加init=/bin/bash,按下Ctrl+X启动进入单用户模式
  • 进入单用户模式后先将根分区重新挂载为可写:mount -o remount,rw /
  • 临时禁用报错的相关服务验证启动逻辑:执行systemctl disable apparmor、systemctl disable snapd.apparmor
  • 解决SMBus报错:执行echo "blacklist i2c_piix4" >> /etc/modprobe.d/blacklist.conf,禁用SMBus相关内核模块
  • 执行exec /sbin/init继续正常启动流程,验证是否可以正常进入系统
  • 如果仍然启动崩溃,回到单用户模式执行apt purge snapd卸载snapd服务,Ubuntu 20.04基础运行不依赖snapd,后续可按需重装
  • 可同时执行fsck /dev/sda5 -y修复可能存在的分区文件系统错误
  • 修复完成正常进入系统后,若需要使用AppArmor可执行systemctl enable --now apparmor重新启用服务

内容的提问来源于stack exchange,提问作者Milan Lakhani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 10:54:02