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

kvm-ok检测正常但/dev/kvm不存在,运行budtmo安卓容器报错

问题描述

BIOS已开启虚拟化,kvm-ok检测显示KVM可用,但执行以下Docker命令时:

docker run -d -p 6080:6080 -e EMULATOR_DEVICE="Samsung Galaxy S10" -e WEB_VNC=true --device /dev/kvm --name android-container budtmo/docker-android:emulator_14.0

出现错误:

docker: Error response from daemon: error gathering device information while adding custom device "/dev/kvm": no such file or directory.

环境为双系统Ubuntu 22.04.04,已尝试更换仓库不同模拟器、重装Docker,问题仍存在。

解决步骤
  • 先确认/dev/kvm设备文件是否存在:
    执行命令:

    ls -l /dev/kvm
    

    若输出为空,说明设备文件未生成,继续后续步骤。

  • 检查并加载KVM内核模块:
    执行命令查看模块状态:

    lsmod | grep kvm
    

    若无输出,手动加载对应模块(Intel CPU用kvm_intel,AMD CPU用kvm_amd):

    sudo modprobe kvm
    sudo modprobe kvm_intel  # AMD用户替换为 sudo modprobe kvm_amd
    

    加载完成后再次检查/dev/kvm是否出现。

  • 修复设备文件权限与用户组:
    若/dev/kvm存在但Docker无法访问,先查看权限:

    ls -l /dev/kvm
    

    正常权限应为crw-rw-rw-,归属root:kvm。若不符合,执行:

    sudo chown root:kvm /dev/kvm
    sudo chmod 666 /dev/kvm
    

    同时确保当前用户加入kvm组:

    sudo usermod -aG kvm $USER
    

    执行后注销并重新登录使设置生效。

  • 双系统特殊问题处理:
    双系统环境下,Windows的Hyper-V或快速启动可能干扰KVM设备生成:

    1. 进入Windows系统,关闭Hyper-V(控制面板→程序→启用或关闭Windows功能,取消勾选Hyper-V)
    2. 关闭Windows快速启动(控制面板→电源选项→选择电源按钮的功能→更改当前不可用的设置,取消勾选“启用快速启动”)
    3. 完全关机后再启动进入Ubuntu,避免用重启切换系统。
  • 验证Docker访问权限:
    执行以下命令测试Docker能否正常访问KVM:

    docker run --rm --device /dev/kvm busybox ls -l /dev/kvm
    

    若能正常输出设备信息,说明问题已解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 13:42:13