Antworten:
Wie in den Kommentaren erwähnt, müssen Sie ab Ubuntu 18.04 und Linux Mint Tara zuerst sudo apt install qemu-kvm
.
Um das Eigentum an der /dev/kvm
Nutzung zu überprüfen
ls -al /dev/kvm
Der Benutzer war root
die Gruppe kvm
. Verwenden Sie, um zu überprüfen, welche Benutzer in der kvm
Gruppe sind
grep kvm /etc/group
Dies kehrte zurück
kvm:x:some_number:
auf meinem System: Da es rechts vom Finale nichts :
gibt, gibt es keine Benutzer in der kvm
Gruppe.
Um Ihren Benutzer zur kvm Gruppe hinzufügen , könnten Sie
sudo adduser $USER kvm
Dadurch wird der Benutzer zur Gruppe hinzugefügt und erneut mit überprüft grep kvm /etc/group
.
Wie von @marcolz erwähnt, sollte der Befehl newgrp kvm
die Gruppenmitgliedschaft live für Sie ändern. Wenn dies nicht funktioniert hat, hat @Knossos erwähnt, dass Sie sich möglicherweise abmelden und wieder anmelden (oder neu starten) möchten, damit die Berechtigungen wirksam werden. Oder machen Sie es wie @nmirceac erwähnt und melden Sie sich in derselben Shell über erneut an su - $USER
.
root
und die Gruppe war root
. Sollten wir seine Gruppe ändern?
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
So habe ich es in Ubuntu 18.04 zum Laufen gebracht
sudo apt install qemu-kvm
Fügen Sie Ihren Benutzer der kvm-Gruppe hinzu, indem Sie:
sudo adduser <Replace with username> kvm
Wenn immer noch die Erlaubnis verweigert wird :
sudo chown <Replace with username> /dev/kvm
Versuch es.
/dev/kvm/
Ordners nicht ändern . Stattdessen sollten Sie den Benutzer kvm
wie in dieser Antwort zur Gruppe hinzufügen : stackoverflow.com/a/45749003/1213934
Versuchen Sie dies, es hat bei mir funktioniert:
sudo apt install qemu-kvm
sudo chown -R <username>:<username> /dev/kvm –
chown
- fügen Sie Ihren Benutzernamen zu den richtigen Gruppen hinzu - kvm oder libvirt. Weitere Informationen finden Sie in der Dokumentation zu [ help.ubuntu.com/community/KVM/Installation weiblich ( Ubuntu] .
–
Suffix? Dies führt sicherlich zu einem Fehler.
Haben Sie auch versucht, folgendes zu tun, sollte es funktionieren:
sudo chown <username> /dev/kvm
sudo chmod o+x /dev/kvm
chmod o+x
ist völlig nutzlos. Der erste Befehl bringt es zum Laufen - aber siehe meine anderen Kommentare, warum dies eine schlechte Idee ist.
/dev/kvm
. Es ist nicht nur so, dass es zwischen Neustarts / Systemaktualisierungen nicht bestehen bleibt. Außerdem werden die Systemeinstellungen zwangsweise geändert. Bleib weg.
Dies liegt daran, dass /dev/kvm
nicht zugänglich ist. Um von Android Studio aus zugänglich zu machen, führen Sie den folgenden Befehl aus
sudo chmod 777 -R /dev/kvm
Es wird nach Ihrem Passwort gefragt. Starten Sie danach Android Studio neu.
KVM
wird benötigt, um Emulator zu rum. Wenn Sie es noch nicht installiert haben, installieren Sie es
sudo apt install qemu-kvm
-R
ändern Sie rekursiv ( ) die Berechtigungen für eine einzelne Gerätedatei? Auch die Ausführungsberechtigungen sind überflüssig. Schließlich kann udev die Berechtigungen nach jedem Emulatorstart anpassen.
sudo chown $USER /dev/kvm
Das einfache Ausführen dieses einen Befehls hat hier im September 2019 für mich funktioniert:
Beschreibung: Ubuntu 18.04.3
LTS-Veröffentlichung: 18.04
Codename: bionisch
/dev/kvm
während seiner Laufzeit neu anpassen.
Ich benutze Ubuntu 18.04. Ich hatte das gleiche Problem. Ich führe diesen Befehl im Terminal aus und das Problem ist behoben.
sudo chown $USER /dev/kvm
Der obige Befehl gilt für alle Benutzer in Ihrem System.
Wenn Sie nur einem bestimmten Benutzer Zugriff gewähren möchten, führen Sie diesen Befehl aus
sudo chown UserNameHere /dev/kvm
Dies ist eine kurze Version von Gerds Antwort
sudo groupadd -r kvm
sudo gedit /lib/udev/rules.d/60-qemu-system-common.rules
Fügen Sie der geöffneten Datei die folgende Zeile hinzu und speichern Sie sie
KERNEL == "kvm", GROUP = "kvm", MODE = "0660"
Zum Schluss ausführen:
sudo usermod -a -G kvm <your_username>
Starten Sie Ihren PC neu und fertig!
/lib/udev/rules.d
. Udev verfügt über einen Overlay-Mechanismus, bei dem die Konfiguration /etc/udev/rules.d
Vorrang vor der verfügbaren Konfiguration hat /lib/udev/rules.d
.
Ich habe dem gleichen Problem begegnet und um dieses Problem zu lösen, geben Sie einfach die folgenden Befehle in Terminal für Linux-Clients ein
sudo apt-get install qemu-kvm
// type your password
sudo chmod 777 -R /dev/kvm
und danach versuchen Sie, den Simulator auszuführen, es wird funktionieren
Eine Installation ist absolut nicht erforderlich qemu-kvm
(und alle seine Abhängigkeiten) wenn Sie nur den Android Studio Emulator ausführen möchten.
Das einzige, was Sie tun müssen, ist, Ihrem Benutzer (dh dem Benutzer, mit dem Sie angemeldet sind) das Recht zu geben, auf das zuzugreifen /dev/kvm
Gerät zuzugreifen.
Dies erfolgt in drei einfachen Schritten.
Zuerst:Erstellen Sie die kvm
-group
groupadd -r kvm
Die Option -r
erstellt eine Systemgruppe, dh mit einer GID <= 999 (siehe /etc/login.defs
=>)SYS_GID_MAX
)
Ändern Sie die Berechtigungen für /dev/kvm
. Dies kann im Rahmen der qemu-kvm
Installation erfolgen, da eine der Abhängigkeiten die Installation ist qemu-system-common
(auf aktuellen Ubuntu-Systemen kann der Paketname variieren), wodurch wiederum die Datei installiert wird /lib/udev/rules.d/60-qemu-system-common.rules
, die Folgendes enthält:
KERNEL=="kvm", GROUP="kvm", MODE="0660"
Wenn Sie also nur eine Datei /etc/udev/rules.d/60-qemu-permissions.rules
mit der obigen Zeile erstellen , sind Sie mit dem ersten Schritt fertig.
Fügen Sie der Gruppe Ihren Benutzernamen hinzu, indem Sie ausführen
usermod -a -G kvm <your_username>
- Das -a
ist wichtig, um Ihren Benutzer zur kvm-Gruppe hinzuzufügen. Ohne das überschreiben Sie die Gruppeneinstellungen für Ihren Benutzer so, dass sie nur zu "kvm" gehören ...
Das ist es.
Damit die neue udev-Regel und Gruppeneinstellung wirksam wird, ist es am einfachsten, neu zu starten und sich erneut anzumelden.
Sie können auch ausführen
udevadm control --reload-rules && udevadm trigger
Zum erneuten Laden der Regeln müssen Sie sich jedoch für die neue Gruppe abmelden und erneut anmelden.
Ich benutze Linux Debian und ich sehe den gleichen Weg. In meiner AVD wird mir die Meldung "/ dev / kvm-Berechtigung verweigert" angezeigt, und ich habe versucht, die Lösung zu finden. Um dies zu lösen, geben Sie im Terminal Folgendes ein:
sudo chmod -R 777 /dev/kvm
Es wird ein Zugriff für den Ordner / dev / kvm gewährt. Überprüfen Sie dann erneut Ihre AVD . Die Fehlermeldung verschwindet. Ich hoffe, sie hilft.
sudo setfacl -m u:$USER:rwx /dev/kvm
Hat für mich gearbeitet.
chown
Beispiele hier, aber ich würde das x
aus den Berechtigungen weglassen .
Nur eine kleine Verbesserung gegenüber Jerrins Antwort auf die Behebung dieses Fehlers mit Ubuntu 18.04 durch Verwendung der $USER
im Bash-Terminal verfügbaren Variablen. Sie können also die folgenden Befehle mit zwei Befehlen verwenden:
sudo apt install qemu-kvm
Fügen Sie den aktuellen Benutzer zur kvm-Gruppe hinzu
sudo adduser $USER kvm
Auch wenn Sie immer noch Probleme haben, war ein weiteres Problem für mich die Art und Weise, wie ich Ubuntu installiert habe. Ich habe den Fehler gemacht, das Kontrollkästchen während der Installation für die Installation von Software von Drittanbietern zu aktivieren, die mit meiner NVIDIA-Grafikkarte für die Entwicklung nicht gut funktioniert hat. Also habe ich Ubuntu mit dieser Software von Drittanbietern neu installiert ungeprüft .
Öffnen Sie dann nach der Installation Software & Updates und wechseln Sie zur Registerkarte Zusätzliche Treiber. Wählen Sie die aktuellsten proprietären Treiber aus, die ebenfalls getestet wurden, und übernehmen Sie die Änderungen. Sollte den Computer neu starten, damit die Änderungen wirksam werden.
Dies funktionierte für mich unter Linux (x18). Ich hoffe, es funktioniert auch für Sie
sudo chown hp /dev/kvm
Unter Ubuntu sehen die Berechtigungen von /dev/kvm
normalerweise folgendermaßen aus:
$ ls -l /dev/kvm
crw-rw---- 1 root kvm 10, 232 May 24 09:54 /dev/kvm
Der Benutzer, der den Android-Emulator ausführt (dh Ihr Benutzer), muss Zugriff auf dieses Gerät erhalten.
Es gibt also grundsätzlich zwei Möglichkeiten, um Zugang zu erhalten:
Überprüfen Sie, ob Ihr Benutzer bereits Teil der kvm-Gruppe ist, z.
$ id
uid=1000(juser) gid=1000(juser) groups=1000(gms),10(wheel)
Wenn dies nicht der Fall ist, fügen Sie es hinzu, z.
$ sudo usermod --append --groups kvm juser
Nach dieser Änderung müssen Sie sich abmelden und erneut anmelden, damit die Gruppenänderung wirksam wird (erneut prüfen mit id
).
Alternativ können Sie einfach die Berechtigungen des /dev/kvm
Geräts erweitern.
Beispiel:
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, dies ist die Standardeinstellung für andere Distributionen wie Fedora und CentOS.
Überprüfen Sie die Wirksamkeit der oben genannten Befehle mit einem anderen ls
. Sie sollten auch eine ähnliche Ausgabe sehen:
$ ls -l /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 2020-05-16 09:19 /dev/kvm
Großer Vorteil: Sie müssen sich nicht abmelden und erneut anmelden, damit diese Änderung wirksam wird.
chmod
und chown
direkt einschalten /dev/kvm
- 1) Diese Änderungen bleiben beim Neustart nicht bestehen und 2) da die /dev/kvm
Berechtigungen vom udev-Daemon gesteuert werden, kann er seine Berechtigungen jederzeit "reparieren", z. B. nach jedem Emulatorlauf/dev/kvm
- Ihr Emulator benötigt lediglich Lese- und Schreibberechtigungen/dev/kvm
- ich weiß nicht, was damit los ist - sieht nach Frachtkult aus/dev/kvm
Gerät zugreifenÖffnen Sie das Terminal und melden Sie sich als Administrator an
sudo su
Gehen Sie zum Entwicklerordner
cd /dev/
Ändern Sie den KVM-Modus
chmod 777 -R kvm
cd /dev
statt Sudo.
chmod
an -R
? Das rekursive Ändern der Berechtigungen für eine einzelne Gerätedatei /dev/kvm
ist nicht besonders nützlich. Außerdem sind Ausführungsberechtigungen auf diesem Gerät überflüssig. Schließlich kann udev die /dev/kvm
Berechtigungen nach jedem Lauf neu anpassen . Daher ist diese Methode nicht sehr effektiv.
Ich befand mich in einer ähnlichen Situation mit demselben Berechtigungsfehler für / dev / kvm. Ich hatte die erforderlichen Installationen durchgeführt, aber den Benutzer nicht zur kvm-Gruppe hinzugefügt. Alles, was ich tun musste, war
sudo adduser <Replace with username> kvm
und natürlich vergessen Sie nicht, Ihre Ubuntu-Instanz neu zu starten.
Was es für mich unter Ubuntu 18.04 endgültig behoben hat, war:
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Ich habe diesen Fehler erhalten, nachdem ich mein Ubuntu auf 18.04.1 aktualisiert habe. Ich lade gerade ein neues System-Image für den Emulator herunter oder Sie können sagen, dass Sie einen neuen Emulator herunterladen und es funktioniert für mich.
/dev/kvm
-permissions.
Obwohl KVM ein Modul ist, das in den Linux-Kernel selbst integriert ist, bedeutet dies nicht, dass standardmäßig alle erforderlichen Pakete in Ihrer Ubuntu / Linux-Installation enthalten sind. Sie benötigen einige, um loszulegen, und sie können mit diesem Befehl im Terminal installiert werden:
& sudo apt install qemu-kvm libvirt-clients libvirt-daemon-system bridge-utils virt-manager
Konfigurieren Sie die Netzwerkbrücke
Damit Ihre virtuellen Maschinen auf Ihre Netzwerkschnittstelle zugreifen und ihre eigenen IP-Adressen erhalten, müssen wir das Bridged Networking auf unserem System konfigurieren.
Führen Sie zunächst den folgenden Linux-Befehl aus, um herauszufinden, welcher Name Ihrer Netzwerkschnittstelle zugewiesen wurde. Wenn wir dies wissen, können wir später zusätzliche Konfigurationen vornehmen.
$ ip a
In meinem Fall wird die Netzwerkschnittstelle aufgerufen enp2s0
. Ihre wird wahrscheinlich sehr ähnlich benannt.
Um Ubuntu mitzuteilen, dass unsere Verbindung überbrückt werden soll, müssen wir die Konfigurationsdatei für die Netzwerkschnittstellen bearbeiten. Dies wirkt sich überhaupt nicht negativ auf Ihre Verbindung aus. Diese Verbindung kann nur für die VMs freigegeben werden.
Verwenden Sie code
(Visual Studio Code) oder Ihren bevorzugten Texteditor, um die folgende Datei zu öffnen:
$ code /etc/network/interfaces
Wenn Sie diese Datei zum ersten Mal öffnen, ist sie möglicherweise leer oder enthält nur ein paar Zeilen. Ihre Bridge-Schnittstelle wird aufgerufen br0
. Fügen Sie daher die folgende Zeile hinzu, damit die Schnittstelle standardmäßig angezeigt wird:
auto br0
Fügen Sie unterhalb dieser Zeile die folgende Zeile für Ihre aktuelle Netzwerkschnittstelle hinzu (diejenige, deren Namen Sie zuvor festgelegt haben).
iface enp2s0 inet manual
Als Nächstes können Sie die Bridge-Informationen hinzufügen. Diese Zeilen teilen Ubuntu mit, dass Ihre Bridge DHCP für die automatische Zuweisung von IP-Adressen verwendet und Ihre Bridge Ihre aktuelle Schnittstelle verwaltet.
iface br0 inet dhcp
bridge_ports enp2s0
So sollte Ihre Datei aussehen, wenn alle Änderungen übernommen wurden (wenn Sie auch ein paar Zeilen haben, die bereits vorhanden waren, ist es in Ordnung, sie auch zu haben):
Speichern Sie Ihre Änderungen und beenden Sie die Datei.
Fügen Sie Ihren Benutzer zu den Gruppen hinzu
Um Ihre virtuelle Maschine (n) ohne Root-Rechte zu verwalten, muss Ihr Benutzer zwei Benutzergruppen angehören. Führen Sie die folgenden Befehle aus, um Ihren Benutzer zu den entsprechenden Gruppen hinzuzufügen (indem Sie Benutzer1 durch den Namen Ihres Benutzers ersetzen):
$ sudo adduser user1 libvirt
$ sudo adduser user1 libvirt-qemu
$ sudo adduser user1 kvm
Wenn Sie fertig sind, sollten Sie Ihr System neu starten, um sicherzustellen, dass alle Änderungen an Ihrer Benutzer- und Netzwerkkonfiguration wirksam werden.
libvirt
und keine Notwendigkeit für die Konfiguration von Schnittstellen ...
Um ein virtuelles Gerät unter Linux zu erstellen, muss ich diesen drei Befehlen folgen und es hilft mir, Probleme beim Erstellen von AVD-Geräten zu vermeiden.
sudo apt install qemu-kvm
sudo adduser $USER kvm
sudo chown $USER /dev/kvm
Jetzt können Sie Android Studio neu starten und mit dem Emulator eine Anwendung erstellen.
Geben Sie mit diesem Befehl die entsprechenden Berechtigungen ein
sudo chmod 777 -R /dev/kvm
Das Ausführen des folgenden Befehls in Ubuntu 18.04 funktionierte für mich sudo chown -R / dev / kvm
/dev/kvm
eine Datei -R
keine Auswirkungen hat --- Drittens: chown
Benötigt ein new owner
Argument --- Viertens: Nach dem Neustart müssen Sie dies immer wieder tun.
Wenn Sie Ihre Idee mit sudo öffnen. Sie werden dieses Problem nicht haben.
qemu-kvm
und dem Hinzufügen meines Benutzers zur Gruppe hatkvm
es nicht funktioniert. Aber es tat nach dem Neustart des Computers (Ubuntu 18.04).