Diese präzise Anleitung von mir funktioniert und wird Euch viele Stunden Arbeit ersparen. Früher nutzte ich Virtualbox von Oracle. Mir ist jedoch die OpenSource Virtuelle Maschine von QEMU, KVM persönlich lieber.
In dieser Anleitung findet sich sowohl die Einrichtung des Dateiautausches mit virtiofs als auch über samba. Ersteres ist zu empfehlen. Ebenso habe ich der Vollständigkeit halber die KVM/QEMU VM Installation (Manjaro) beigefügt.
Viel Spaß damit!
Methode: VirtIO-FS ist zu empfohlen, Samba nur als Notlösung oder Ergänzung
Kompatibel mit: Manjaro, Windows 10/11, QEMU-KVM ≥ 6.0
Letzte Aktualisierung: 2025-11-22
I) Dateiaustausch über virtiofs einrichten: Manjaro Host ↔ Windows VM - Beste Methode zum Dateiaustausch, Datenaustausch - präzise Anleitung
Ziel
Einrichtung eines performanten, stabilen Dateiaustauschs mittels VirtIO-FS, ohne Netzwerk-Overhead.
Keine Samba-Abhängigkeiten, keine Firewall-Probleme, maximale Geschwindigkeit.
1. Voraussetzungen: KVM/QEMU VM Installation (Manjaro)
-
Pakete installieren:
sudo pacman -S qemu-full libvirt virt-manager dnsmasq edk2-ovmf ebtables iptables-nft -
Benutzerberechtigungen:
sudo usermod -aG libvirt,kvm,input $(whoami) # $(whoami) = dein Benutzername sudo systemctl enable --now libvirtd newgrp libvirt # Gruppenänderung übernehmen -
Verifizieren:
virt-host-validate # Alles muss "PASS" sein
Fehlermeldungen bei der Verifikation: Erklärung
| Warnung/Fehler | Dringlichkeit | Handlungsbedarf? |
|---|---|---|
| Cgroup devices | Niedrig | Nur bei LXC-Nutzung |
| IOMMU | Hoch | Ja, falls GPU-Passthrough |
| Secure Guest | Keine | Nein |
| Deine KVM/QEMU-Installation ist funktionsfähig – die Warnungen beeinträchtigen Standard-VMs nicht. Keine Aktion nötig – deine VM-Umgebung ist bereits einsatzbereit. | ||
| Die Warnungen sind nur für spezielle Szenarien (GPU-Passthrough, LXC-Container) relevant. |
| System | Erforderlich |
|---|---|
| Host (Manjaro) | qemu-full, libvirt, virt-manager, virtiofsd |
| Gast (Windows) | Windows 10 (1809+) oder Windows 11 |
| VM-Manager | virt-manager ≥ 4.0 |
2. Host-Seite: Manjaro vorbereiten
2.1 Shared-Verzeichnis erstellen
mkdir -p ~/VM-Shared
chmod 755 ~/VM-Shared
Ersetze bei Bedarf den Pfad mit einem anderen Ort bzw. Ordner (z. B.
/mnt/data/shared).
2.2 virtiofsd installieren (falls nicht vorhanden)
sudo pacman -S virtiofsd --needed
2.3 Pakete sicherstellen
sudo pacman -S qemu-full libvirt virt-manager --needed
2.4 Optional - Prüfen, ob virtiofsd installiert ist**:
which virtiofsd
# Falls nicht vorhanden:
sudo pacman -S virtiofsd
3. VM konfigurieren (virt-manager)
Die VM muss ausgeschaltet sein.
3.1 Shared Memory aktivieren
-
VM auswählen → “Öffnen” (rechte Maustaste)
-
Linker Bereich: “Memory”
-
Rechts:
“Enable shared memory” aktivieren -
Übernehmen
3.2 Filesystem hinzufügen
-
Unten links: “Hardware hinzufügen”
-
Typ: “Filesystem”
-
Einstellungen:
-
Driver:
virtiofs -
Source path:
/home/$USER/VM-Shared(vollständiger Pfad) -
Target path:
VM-Shared(beliebiger Name, kein Laufwerksbuchstabe, kann auch shared oder sonst wie heißen. Ich habe den Ordner und den Target path gleich bezeichnet.)
- Fertigstellen
Der
Target pathwird später im Windows-Gast als\?\VirtioFs\[target]verwendet.
4. Gast-Seite: Windows einrichten
Wichtig: Die Reihenfolge ist entscheidend.
4.1 WinFsp installieren (Voraussetzung!)
-
Download: Releases · winfsp/winfsp · GitHub
-
Datei:
winfsp-x64.msi(aktuell:winfsp-2.1.25156.msi) -
Aktion: Doppelklick → Installieren
-
Neustart: Nicht sofort bestätigen – erst Schritt 4.2 abschließen
WinFsp MUSS vor den VirtIO-Treibern installiert sein. Andernfalls schlägt der Dienst fehl.
4.2 VirtIO-FS Treiber installieren
-
Download: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/
-
Datei:
virtio-win-gt-x64.msi -
Aktion: Doppelklick → Installieren
-
Neustart: Jetzt durchführen
Diese MSI-Datei enthält alle benötigten Komponenten:
viofs.inf,virtiofs.exe,VirtioFsSvc.exe.
4.3 VirtIO-FS Service einrichten
Als Administrator ausführen (CMD, nicht PowerShell!)
sc create VirtioFsSvc binpath="C:\Program Files\Virtio-Win\VioFS\virtiofs.exe" start=auto depend="WinFsp.Launcher/VirtioFsDrv" DisplayName="Virtio FS Service"
Falls der Dienst bereits existiert:
sc delete VirtioFsSvcDann neu anlegen.
4.4 Service starten
sc start VirtioFsSvc
Prüfen:
sc query VirtioFsSvc→
STATE: 4 RUNNING
4.5 Laufwerk verbinden
net use Z: \\?\VirtioFs\VM-Shared /persistent:yes
Das Laufwerk
Z:ist jetzt dauerhaft verfügbar.
Ersetze
Z:undVM-Sharednach Bedarf. Kann dann auch z.B. ‘shared’ heißen, wenn du es im Target oben so benannt hast.‘Bei Systemfehler 85 einfach im Explorer nachsehen, ob Laufwerk bereits vorhanden ist’
5. Nach der Einrichtung
5.1 Automatischer Mount bei Login
Das Laufwerk wird automatisch verbunden, da /persistent:yes gesetzt ist.
5.2 Zugriff testen
dir Z:\
echo "Test erfolgreich" > Z:\test.txt
type Z:\test.txt
6. Troubleshooting
| Problem | Ursache | Lösung |
|---|---|---|
sc start → Fehler 1053 |
WinFsp nicht installiert oder falsch installiert | WinFsp vorher installieren, Neustart machen |
Systemfehler 53 bei net use |
Dienst läuft nicht oder Target-Name falsch | sc query VirtioFsSvc prüfen; Target-Name in virt-manager prüfen |
virtiofs.exe --help → DLL-Fehler |
WinFsp defekt oder nicht geladen | WinFsp neu installieren, Neustart nicht überspringen |
| Laufwerk verbindet nicht | Dienst nicht persistent | sc config VirtioFsSvc start=auto |
7.
Vorteile von virtiofs gegenüber Samba
| Kriterium | virtiofs |
Samba |
|---|---|---|
| Geschwindigkeit | ||
| Latenz | Sehr niedrig | Höher durch Netzwerkstack |
| Integration, Einrichtung | Einmalig, danach automatisch | Manuell per net use oder Explorer |
| Netzwerkabhängigkeit | ||
| Firewall-Probleme | Nie | Manchmal (Ports 139, 445) |
| Kompatibilität | QEMU/KVM ≥ 6.0 | Universell |
Fazit: Wenn VirtIO-FS läuft, ist es die beste Lösung. Samba ist nur eine Alternative, wenn VirtIO-FS nicht funktioniert.
8. Weiterführende Links
-
VirtIO-Win: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win-gt-x64.msi
-
VirtIO-FS Docs: https://virtio-fs.gitlab.io/
Anmerkung: Von der Möglichkeit über virtio-9p zu verbinden ist stark abzuraten.
9. Troubleshooting
VirtIO-FS wird in Windows nicht erkannt
-
Shared Memory aktiviert? (Punkt 3 der VM-Konfiguration)
-
WinFsp installiert? (vor dem VirtIO-Treiber)
-
Service läuft?:
sc query VirtioFsSvcin CMD“Target path” bereits verwendet
-
In virt-manager einen eindeutigen Namen wählen (z.B.
myshare,data, etc.) -
Nicht den gleichen Namen wie andere Filesystems verwenden
Performance-Probleme
-
RAM für VM erhöhen (VirtIO-FS nutzt shared memory)
-
Disk-Cache in VM-Settings:
writebackstattnone
II) Samba – Dateifreigabe Manjaro → Windows VM als Ergänzung - präzise Anleitung
Zweck: Klar, zuverlässig, fehlerfrei – auch parallel zu VirtIO-FS nutzbar.
Status: Getestet mit Manjaro, QEMU/KVM, Windows 10/11.
Wichtig: Diese Methode kann parallel zu VirtIO-FS laufen, auch mit gleichem Ordner – wenn korrekt konfiguriert.
Ziel
Einrichtung einer stabilen Samba-Freigabe vom Manjaro-Host zur Windows-VM – als Alternative oder Ergänzung zu VirtIO-FS.
1. Host-Seite (Manjaro)
1.1 Samba installieren
sudo pacman -S samba --needed
![]()
manjaro-settings-sambaist veraltet – nicht erforderlich.
Nur
sambawird benötigt.
1.2 Samba-Service verwalten
# Dienste starten
sudo systemctl start smb nmb
# Automatischen Start aktivieren
sudo systemctl enable smb nmb
Wichtig: Beide Dienste sind nötig:
smb: Dateifreigabe
nmb: NetBIOS-Nameauflösung (für Browsersicht)
1.3 Konfiguration prüfen
sudo testparm
Erfolg, wenn am Ende steht:
Loaded services file OK.
1.4 Freigabe konfigurieren (/etc/samba/smb.conf)
sudo nano /etc/samba/smb.conf
Am Ende hinzufügen:
[VMShare]
path = /mnt/Daten/VirtualPC-KVM-QEMU/VM-Shared
browseable = yes
read only = no
guest ok = yes
directory mask = 0755
create mask = 0644
force user = MeinBenutzername
Ersetze
MeinBenutzernamemit deinem echten Benutzernamen:whoami
![]()
guest ok = yes: Ermöglicht anonymen Zugriff – ideal für VMs.
![]()
force user: Alle Änderungen werden Ihrem Benutzerkonto zugeordnet.
1.5 Service nach Änderung neu starten
sudo systemctl restart smb nmb
1.6 Firewall erlauben (falls aktiv bzw. überhaupt vorhanden)
sudo firewall-cmd --add-service=samba --permanent
sudo firewall-cmd --reload
Nur bei
firewalld.
Bei
ufw:sudo ufw allow samba
2. VM-Netzwerk konfigurieren (virt-manager)
VM muss ausgeschaltet sein.
-
VM öffnen → „Details anzeigen“
-
Links: Netzwerk
-
Rechts: „Vorhandenes Gerät verwenden“
-
Netzwerkquelle:
Default (NAT)oder Bridge (falls gewünscht, Habe ich nicht getestet) -
Modell:
virtio(empfohlen, besserer Durchsatz)
NICHT „User-Mode (SLIRP)“ – blockt SMB-Verkehr.
3. Windows-Gast: Verbindung herstellen
3.1 Host-IP ermitteln (auf Manjaro)
ip addr show
Beachte, dass du die IP-Adresse Deines Hosts herausfindest.
3.2 Verbindung im Windows-Explorer
-
Öffnen den Datei-Explorer
-
Links: „Dieser PC“
-
Oben: „Netzlaufwerk verbinden“
-
Wähle einen Laufwerksbuchstaben (z. B.
Y:) -
Gebe den Pfad ein:
\\IP-Adresse-Host\VMShare
Ersetze
IP-Adresse-Hostmit der tatsächlichen Host-IP ausip addr show
Der Name
VMSharestammt aus dersmb.conf– nicht der Ordnername
Kein
/am Ende
-
Aktiviere, wenn überhaupt nötig (normalerweise nicht nötig): „Verbindung mit anderen Anmeldeinformationen herstellen“
→ Benutzer:guest -
→ Passwort: leer
Alternativ: Gebe direkt in die Adresszeile ein:
\\IP-Adresse-Host\VMShare
4. Parallelbetrieb: VirtIO-FS und Samba
| Methode | Pfad (Beispiel) | Vorteil |
|---|---|---|
| VirtIO-FS | Z:\ → \\?\VirtioFs\VM-Shared |
Maximale Performance, niedrige Latenz |
| Samba | Y:\ → \\IP-Adresse-Host\VMShare |
Zugriff von anderen Geräten, einfache Einrichtung |
Beide Methoden können denselben Host-Ordner nutzen.
Vermeide gleichzeitige Schreibzugriffe auf dieselbe Datei → Datenverlust möglich.
5. Ordner vorbereiten (falls nicht vorhanden)
sudo mkdir -p /mnt/Daten/VirtualPC-KVM-QEMU/VM-Shared
sudo chown -R $USER:$USER /mnt/Daten/VirtualPC-KVM-QEMU/VM-Shared
Stellt sicher, dass der Benutzer Lese- und Schreibrechte hat.
6. Troubleshooting
| Problem | Ursache | Lösung |
|---|---|---|
Netzwerkpfad nicht gefunden |
Falsche IP oder Freigabename | \\IHRE-HOST-IP\VMShare prüfen |
Zugriff verweigert |
Falscher force user oder Ordnerrechte |
sudo chown auf den Ordner anwenden |
Keine Verbindung |
Firewall blockt | sudo firewall-cmd --add-service=samba --permanent && --reload |
Gastzugriff nicht möglich |
guest ok = no |
In smb.conf auf yes setzen, systemctl restart smb nmb |
Samba startet nicht |
Syntaxfehler in smb.conf |
sudo testparm prüfen |
8. Zusammenfassung
-
Samba funktioniert im NAT-Modus – aber nur per IP-Adresse des Hosts, nicht per Hostname. -
Unter Boot-Optionen in den VM-Einstellungen ist das NIC „Netzwerk“ nicht erforderlich zu aktivieren. Es ist für Netzwerkverbindungen. -
Samba und VirtIO-FS können parallel laufen, auch auf demselben Ordner. -
Ideal: VirtIO-FS für Performance, Samba für Flexibilität.
Parallelbetrieb: VirtIO-FS und Samba
Der gleichzeitige Betrieb von VirtIO-FS und Samba ist problemlos möglich. Beide Dienste arbeiten unabhängig voneinander:
-
VirtIO-FS: Paravirtuelle Schnittstelle über Shared Memory – hohe Performance, kein Netzwerk.
-
Samba: Netzwerkfreigabe über TCP/IP – flexibel, geräteübergreifend zugänglich.
Sie können parallel aktiv sein, ohne sich gegenseitig zu beeinträchtigen.
Empfohlene Praxis
| Nutzung | Empfehlung |
|---|---|
| Tägliche Arbeit in der Windows-VM | Exklusiv über VirtIO-FS (Laufwerk Z:) |
| Zugriff von anderen Geräten | Über Samba |
| Backup / Freigabe | Samba, solange keine Schreibkonflikte entstehen |
Tipp: Nutze VirtIO-FS als primären Pfad, Samba als sekundären Zugriff. So kombinierst du Performance und Flexibilität sicher.
III) Extra: Deaktivierung der Windows-Sicherheitswarnung für virt-manager über Samba in Windows
Die Warnmeldung erscheint, weil Windows 10 die Dateien, die über Samba von deinem Linux-Host übertragen werden, als potenzielles Sicherheitsrisiko einstuft. Dies ist eine standardmäßige Sicherheitsmaßnahme von Windows.
1. Temporäre Lösung
Du kannst einfach auf “OK” klicken, um die Dateien trotz der Warnung zu verwenden. Bei jedem Zugriff müsstest du dies jedoch wiederholen.
2. Dauerhafte Lösungen
a) Dateien zur Ausnahmeliste hinzufügen:
-
Klicke auf “Details ausblenden” in der Warnmeldung
-
Aktiviere die Option “Blockierung für diese Dateien aufheben”
-
Bestätige mit “OK”
b) Internetoptionen in Windows anpassen:
-
Öffne die Windows-Systemsteuerung
-
Gehe zu “Internetoptionen” → “Sicherheit” → “Lokales Intranet”
-
Klicke auf “Sites” → “Erweitert”
-
Füge den UNC-Pfad oder die IP-Adresse Ihres Linux-Servers hinzu
-
Bestätige mit “OK”
c) Sicherheitszonen-Einstellungen ändern:
-
Öffne die Windows-Systemsteuerung
-
Gehe zu “Internetoptionen” → “Sicherheit”
-
Wähle die Zone “Internet” oder “Lokales Intranet”
-
Klicke auf “Stufe anpassen”
-
Suche nach “Dateien herunterladen” und setze diese Option auf “Aktivieren”
d) Gruppenrichtlinien anpassen (für fortgeschrittene Benutzer):
-
Öffne den Gruppenrichtlinien-Editor (gpedit.msc)
-
Navigiere zu “Benutzerkonfiguration” → “Administrative Vorlagen” → “Windows-Komponenten” → “Anhänge”
-
Konfiguriere die Einstellungen für Dateianhänge nach deinen Bedürfnissen