0%

解决linux上android studio的虚拟机permissions denied

之前有个备用的pixel用作测试,然后这几天借给朋友去了,无奈开虚拟机来测试,结果发现新建虚拟机的时候出现了/dev/kvm/ permissions denied的报错,想了下,去改了下这个目录的权限。

1
sudo chmod 777 /dev/kem

嗯,再来一次就没有报错,完美解决。

不过可气的是,事情居然没有这么简单,第二天开电脑,再次启动虚拟机的时候居然又给我报错,权限不足。

想了下,不应该,这都已经写入了,为啥启动不了,然后重新给了下执行权限。

1
sudo chmod +x /dev/kvm

然后重启了下,可以启动。

不放心,又关掉as重新启动一次,居然又是权限不足。

然后到看了下as的wiki:

官方给的说法是安装kvm的时候是用的sudo临时提权,所以默认情况下kvm是属于root用户组,而每次启动都是以自己的用户来启动而我的用户又不是root也没和root同组。
so,每次打开都得临时提权

下面来介绍下如何把当前用户添加进kvm所有者同组中

以防万一,先看看你有没有安装kvm:

1
sudo apt install qemu-kvm

检查下kvm的所有者:

1
ls -al /dev/kvm

可以看到root是其所有者,然后我们看一下所有者同组中有什么成员:

1
grep kvm /etc/group

可以发现同组中并没有用户存在:

1
kvm:x:other_number:

然后我们把当前用户给添加进kvm的所有者同组中:

1
2
sudo adduser Username kvm
#username是你自己的用户名

然后再次查看同组用户,可以看到我们已经把用户添加进了所有者同组:

1
kvm:x:123:weison

最后,我们只需要注销下当前用户就可以了,再次启动或者创建虚拟机就不会报错了。