Answers:
如评论中所述,从Ubuntu 18.04和Linux Mint Tara开始,您需要首先sudo apt install qemu-kvm
。
检查/dev/kvm
使用的所有权
ls -al /dev/kvm
用户是root
组kvm
。要检查kvm
组中有哪些用户,请使用
grep kvm /etc/group
这回来了
kvm:x:some_number:
在我的系统上:由于决赛:
没有任何权利,因此该kvm
组中没有用户。
要将用户添加到kvm组,可以使用
sudo adduser $USER kvm
会将用户添加到该组,然后使用再次检查grep kvm /etc/group
。
如@marcolz所述,该命令newgrp kvm
应为您实时更改组成员身份。如果这不起作用,@ Knossos提到您可能要注销并重新登录(或重新启动),以使权限生效。或按照@nmirceac所述进行操作,然后通过再次登录同一shell su - $USER
。
root
和组root
。我们应该改变它的组吗?
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
这就是我如何使其在Ubuntu 18.04中工作
sudo apt install qemu-kvm
使用以下命令将您的用户添加到kvm组:
sudo adduser <Replace with username> kvm
如果仍然显示拒绝权限:
sudo chown <Replace with username> /dev/kvm
尝试一下。
试试这个,对我有用:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
chown
-将用户名添加到适当的组-kvm或libvirt。请参阅[ help.ubuntu.com/community/KVM/Installation](Ubuntu)的文档。
–
后缀是什么?这肯定会产生错误。
您是否还尝试过以下操作,它应该可以工作:
sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
chmod o+x
是完全没用的。第一个命令使其有效-但请参阅我的其他评论,以了解为什么这不是一个好主意。
/dev/kvm
。不仅仅是它在重启/系统更新之间不会持续存在。它还会强行修改系统设置。远离。
这是因为/dev/kvm
无法访问。要使可从android studio访问,请运行以下命令
sudo chmod 777 -R /dev/kvm
它将要求您输入密码。之后,重新启动Android Studio。
KVM
朗姆酒模拟器是必需的。如果尚未安装,请先安装
sudo apt install qemu-kvm
-R
)更改单个设备文件的权限?而且,执行权限是多余的。最后,udev可以在每个仿真器启动后调整权限。
sudo chown $USER /dev/kvm
只需运行一个命令即可在2019年9月在我这里运行:
说明:Ubuntu 18.04.3
LTS版本:18.04
代号:仿生
/dev/kvm
在其运行时重新调整其所有权。
我正在使用Ubuntu 18.04。我面临着同样的问题。我在终端中运行此命令,问题已解决。
sudo chown $USER /dev/kvm
上面的命令适用于系统中存在的所有用户。
如果只想授予特定用户访问权限,请运行此命令
sudo chown UserNameHere /dev/kvm
这是格德答案的简短版本
sudo groupadd -r kvm
sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules
将以下行添加到打开的文件并保存
KERNEL ==“ kvm”,GROUP =“ kvm”,MODE =“ 0660”
最后运行:
sudo usermod -a -G kvm <your_username>
重新启动PC并完成!
/lib/udev/rules.d
。Udev具有覆盖机制,其中放置的配置/etc/udev/rules.d
优先于之下的可用配置/lib/udev/rules.d
。
我解决了相同的问题,并且要解决此问题,只需在Linux客户端的终端中键入以下命令
sudo apt-get install qemu-kvm
// type your password
sudo chmod 777 -R /dev/kvm
然后尝试运行模拟器就可以了
qemu-kvm
如果您只想运行Android Studio模拟器,则绝对不需要安装(及其所有依赖项)。
您唯一要做的就是赋予您的用户(即您登录时使用的用户)访问/dev/kvm
-device的权限。
这可以通过三个简单的步骤完成。
第一:创建kvm
-group
groupadd -r kvm
该选项-r
创建一个系统组,即GID <= 999(请参阅/etc/login.defs
=> SYS_GID_MAX
)
更改对的权限/dev/kvm
。这可以作为qemu-kvm
-installation的一部分来完成,因为其中一个依赖项正在安装qemu-system-common
(在当前的Ubuntu系统上,程序包名称可能会有所不同),这反过来又会安装/lib/udev/rules.d/60-qemu-system-common.rules
包含以下内容的文件:
KERNEL=="kvm", GROUP="kvm", MODE="0660"
因此,如果仅创建/etc/udev/rules.d/60-qemu-permissions.rules
包含上述行的文件,则第一步已完成。
通过执行将您的用户名添加到组中
usermod -a -G kvm <your_username>
- -a
对于将用户添加到kvm-group 很重要。否则,您将覆盖用户的组设置,使其仅属于“ kvm” ...
而已。
为了使新的udev规则和组设置生效,最简单的方法是重新启动并再次登录。
您也可以执行
udevadm control --reload-rules && udevadm trigger
重新加载规则,但您仍然必须注销并再次登录新组。
我正在使用linux debian,而且我也面临同样的问题。在我的AVD中显示一条消息“ / dev / kvm权限被拒绝”,我试图找到解决方案,那么我要解决的是,在终端中键入以下命令:
sudo chmod -R 777 /dev/kvm
它将授予对/ dev / kvm文件夹的访问权限,然后再次检查您的AVD,错误消息将消失,希望对您有所帮助。
sudo setfacl -m u:$USER:rwx /dev/kvm
为我工作。
chown
这里的所有示例都要好,但是我会忽略x
权限。
通过利用bash终端中可用的变量,Jerrin对使用Ubuntu 18.04修复此错误的答案仅作了一点改进$USER
。因此,您可以使用以下命令两个命令:
sudo apt install qemu-kvm
将当前用户添加到kvm组
sudo adduser $USER kvm
另外,如果您仍然遇到问题,那么对我来说另一个问题是我安装Ubuntu的方式。我在安装过程中勾选了复选框,以安装第3方软件,但该错误与我的nvidia图形卡不能很好地兼容。因此,我未选中此第三方软件就重新安装了Ubuntu 。
然后在安装后,打开“软件和更新”,然后转到“其他驱动程序”选项卡。选择也经过测试的最新专有驱动程序并应用更改。应该重新启动机器以使更改生效。
这在Linux(x18)上为我工作☑希望它也对您有用
sudo chown hp /dev/kvm
在Ubuntu下,/dev/kvm
通常的权限如下所示:
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm
运行Android模拟器的用户(即您的用户)需要访问此设备。
因此,基本上有两种获取访问权限的方法:
检查您的用户是否已经属于kvm组,例如:
$ id
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)
如果不是,则添加例如:
$ sudo usermod --append --groups kvm juser
更改之后,您必须注销并再次登录以使组更改生效(使用再次检查id
)。
另外,您也可以扩大/dev/kvm
设备的权限。
例:
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' \
| sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
FWIW,这是其他发行版(例如Fedora和CentOS)的默认设置。
与另一个命令一起检查上述命令的有效性ls
。您也应该看到类似的输出:
$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm
最大优势:您无需注销并再次登录即可使此更改生效。
chmod
并chown
直接调用/dev/kvm
-1)这些更改在重启后不会持久存在; 2)由于/dev/kvm
权限是由udev守护程序控制的,因此它可以随时“修复”其权限,例如,在运行每个仿真器之后/dev/kvm
-您的仿真器只需要读写权限/dev/kvm
-我不知道这是怎么回事-看起来像是货邪教/dev/kvm
设备即可打开终端并以管理员身份登录
sudo su
转到开发文件夹
cd /dev/
更改kvm模式
chmod 777 -R kvm
cd /dev
不是sudo。
chmod
用-R
?递归更改单个设备文件上的权限/dev/kvm
似乎不太有用。另外,在该设备上执行权限是多余的。最后,udev可以/dev/kvm
在每次运行后重新调整权限。因此,这种方法不是很有效。
我处于类似的情况,对/ dev / kvm的权限存在相同的错误,我已经进行了必要的安装,但没有将用户添加到kvm组中,我要做的就是
sudo adduser <Replace with username> kvm
当然不要忘记重启Ubuntu实例。
最终在Ubuntu 18.04上为我解决的问题是:
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
尽管KVM是Linux内核本身内置的模块,但这并不意味着默认情况下Ubuntu / Linux安装中已包含所有必需的软件包。您将需要一些入门,并且可以使用以下命令在终端中安装它们:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
配置网桥
为了使您的虚拟机能够访问网络接口并为其分配IP地址,我们需要在系统上配置桥接网络。
首先,运行以下Linux命令,以查找网络接口已分配的名称。知道这一点将使我们以后可以进行其他配置。
$ ip a
在我的情况下,网络接口称为enp2s0
。您的名字可能会非常相似。
为了告诉Ubuntu我们希望桥接连接,我们需要编辑网络接口配置文件。这样做完全不会对您的连接产生负面影响。它仅允许该连接与VM共享。
使用code
(Visual Studio Code)或您喜欢的文本编辑器打开以下文件:
$ code /etc/network/interfaces
首次打开此文件时,该文件可能为空或仅包含几行。您的网桥接口称为br0
,因此默认情况下添加以下行以显示该接口:
auto br0
在此行下面,为您当前的网络接口(以下是您先前确定的名字)添加以下行。
iface enp2s0 inet manual
接下来,您可以添加网桥信息。这些行告诉Ubuntu,您的网桥将使用DHCP进行自动IP地址分配,并且您的网桥将管理您的当前接口。
iface br0 inet dhcp
bridge_ports enp2s0
一旦应用了所有更改,这就是文件的外观(如果您已经有几行内容了,也可以进行修改):
保存您的更改并退出文件。
将您的用户添加到组中
为了在没有root特权的情况下管理您的虚拟机,您的用户将需要属于两个用户组。运行以下命令以将您的用户添加到适当的组(将user1替换为用户名):
$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm
完成后,应重新启动系统,以确保对用户和网络配置所做的所有更改都可以生效。
libvirt
,也不需要配置接口...
为了在Linux中制作虚拟设备-我必须遵循以下三个命令,它可以帮助我避免构建AVD设备的麻烦-该过程是-
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
因此,现在您可以开始运行,重新启动android studio并开始使用模拟器构建应用程序。
使用此命令提供适当的权限
sudo chmod 777 -R /dev/kvm
如果您使用sudo打开您的ide。您不会遇到这个问题。
qemu-kvm
并将我的用户添加到该组后,kvm
它不起作用。但是在重新启动计算机(Ubuntu 18.04)之后就可以了。