Ubuntu重启Docker Desktop后KVM支持缺失,kvm_intel模块未自动加载
解决Ubuntu上kvm_intel模块无法自动加载导致Docker Desktop提示KVM未启用的问题
以下是针对该问题的排查和解决步骤:
1. 确认modules-load配置文件有效性
- 检查
/etc/modules-load.d/kvm.conf的内容,确保仅包含一行:
若内容不是cat /etc/modules-load.d/kvm.confkvm_intel,用编辑器修改:
写入sudo nano /etc/modules-load.d/kvm.confkvm_intel后保存退出。 - 检查文件权限,确保为root所有且权限正确:
若权限不符,执行:ls -l /etc/modules-load.d/kvm.confsudo chmod 644 /etc/modules-load.d/kvm.conf && sudo chown root:root /etc/modules-load.d/kvm.conf
2. 检查systemd-modules-load服务状态
- 重启模块加载服务并查看运行状态:
sudo systemctl restart systemd-modules-load.service sudo systemctl status systemd-modules-load.service - 查看服务日志,排查加载失败原因:
若日志显示依赖问题,可在sudo journalctl -u systemd-modules-load.service -bkvm.conf中添加kvm模块(kvm_intel依赖kvm,通常会自动加载,但手动添加可避免异常):echo -e "kvm\nkvm_intel" | sudo tee /etc/modules-load.d/kvm.conf
3. 排查模块黑名单
- 检查是否有配置文件将kvm_intel加入黑名单:
若找到grep -r "kvm_intel" /etc/modprobe.d/blacklist kvm_intel的行,用编辑器注释掉(在行首加#)。
4. 配置udev规则确保/dev/kvm可访问
- 创建udev规则文件,保证/dev/kvm权限符合Docker访问要求:
echo 'KERNEL=="kvm", MODE="0666", GROUP="kvm"' | sudo tee /etc/udev/rules.d/99-kvm.rules - 将当前用户加入kvm组,避免权限问题:
此操作需重启后生效。sudo usermod -aG kvm $USER
5. 更新initramfs强制模块加载
- 若内核初始化镜像未包含kvm_intel,执行更新:
完成后重启系统。sudo update-initramfs -u -k all
6. 验证修复效果
重启系统后,执行以下命令确认模块加载状态:
lsmod | grep kvm ls /dev/kvm
若输出包含kvm和kvm_intel,且/dev/kvm存在,再启动Docker Desktop即可消除KVM未启用的提示。
内容的提问来源于stack exchange,提问作者MODY
相关产品推荐
相关产品推荐

