Ответы:
Как уже упоминалось в комментариях, начиная с 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, и войдите в ту же оболочку через 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
Попробуй это.
/dev/kvm/
папки. вместо этого вы должны добавить пользователя в kvm
группу, как в этом ответе: stackoverflow.com/a/45749003/1213934
Попробуйте это, у меня получилось
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 года:
Описание: 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>
Перезагрузите компьютер и готово!
/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
-группа
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-группу. Без этого вы перезапишете групповые настройки для вашего пользователя только на принадлежность к "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
из разрешений.
Только одно небольшое улучшение в ответе Джеррина на исправление этой ошибки в Ubuntu 18.04 с использованием $USER
переменной, доступной в терминале bash. Таким образом, вы можете использовать следующие команды две команды:
sudo apt install qemu-kvm
Добавить текущего пользователя в группу kvm
sudo adduser $USER kvm
Также, если у вас все еще есть проблемы, еще одной проблемой для меня был способ, которым я установил Ubuntu. Я сделал ошибку, установив флажок во время установки для установки стороннего программного обеспечения, которое не очень хорошо подходило для моей видеокарты nvidia для разработки. Поэтому я переустановил Ubuntu с неконтролируемым сторонним программным обеспечением .
Затем после установки откройте «Software & Updates» и перейдите на вкладку «Дополнительные драйверы». Выберите самые последние проприетарные драйверы, которые также были протестированы, и внесите изменения. Необходимо перезагрузить машину, чтобы изменения вступили в силу.
Это сработало для меня в Linux (x18) ope Надеюсь, это сработает и у вас
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
Перейти в папку dev
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
Я получил эту ошибку после обновления моей Ubuntu до 18.04.1. Я просто загружаю новый образ системы для эмулятора, или вы можете сказать, что загружаете новый эмулятор, и он работает для меня.
/dev/kvm
-permissions.
Хотя KVM - это модуль, встроенный в само ядро Linux, это не означает, что все необходимые пакеты включены в вашу установку Ubuntu / Linux по умолчанию. Вам понадобится несколько, чтобы начать, и они могут быть установлены с помощью этой команды в терминале:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
Настройте сетевой мост
Чтобы ваши виртуальные машины могли получить доступ к вашему сетевому интерфейсу и были назначены свои собственные IP-адреса, нам необходимо настроить мостовую сеть в нашей системе.
Сначала запустите следующую команду Linux, чтобы узнать, какому имени был присвоен ваш сетевой интерфейс. Знание этого позволит нам выполнить дополнительную настройку позже.
$ ip a
В моем случае сетевой интерфейс называется enp2s0
. Ваш, вероятно, будет очень похожим именем.
Чтобы сообщить Ubuntu, что мы хотим, чтобы наше соединение было мостовым, нам нужно отредактировать файл конфигурации сетевых интерфейсов. Это никак не повлияет на ваше соединение. Это только позволит этому соединению быть разделенным с виртуальными машинами.
Используйте 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
Выполнение приведенной ниже команды в Ubuntu 18.04 сработало для меня sudo chown -R / dev / kvm
/dev/kvm
файл не -R
имеет никакого эффекта. - Третий: chown
требует new owner
аргумента. --- Четвертый: после перезагрузки вы должны делать это снова и снова.
Если вы откроете свой иде с помощью sudo. У вас не будет этой проблемы.
qemu-kvm
и добавления моего пользователя в группуkvm
не получилось. Но это произошло после перезагрузки компьютера (Ubuntu 18.04).