Как расшарить папку хоста для гостевой винды при использовании qemu-kvm?

Автор dr_faust, 27 мая 2025, 20:13:16

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

dr_faust



Пытаюсь с горем пополам освоить «нативную» виртуализацию в линуксе.

Хост-система devuan 4, т. е. пакетная база весьма древняя с debian 11. Установил со штатных репозиториев qemu-system, libvirt, virt-manager.

В качестве гостевой системы установил windows xp x32. Проблема с подключением к хосту для установки в нее ПО и обмена рабочими файлами.
Гугл говорит, что надо использовать virtiofs. Однако такого пакета в репозитории нет. Что-то похожее появляется только в debian 13 и sid. Как-то не хочется тащить из sid в такую древнюю систему.
Кроме того, в тех же статьях написано, что в саму гостевую систему надо установить драйвер. Как его бинарник туда перебросить и работает ли он на такой древней винде?

Из всего указанного два вопроса:
Возможно ли в принципе при таких исходных данных расшарить папку?
Если да, то как?

Пробовал установить qemu-system-guest и в настройках виртуалки добавить файловую систему: mount mapper, read-only. Только ничего не отображается в запущенной виртуалке.

В virtualbox автоматически подключался iso-образ, с которого устанавливалось дополнение для работы с хост-системой. Как тут одно ХЗ. Сеть и то легче настраивается чем расшаривание.
Devuan 4. Debian 12. LXDE.

yoric

Я так запускаю:
qemu-system-x86_64 -hda /home/user/winxp-sp3.hda -rtc base=localtime -enable-kvm -m 1024 -netdev user,id=n0,smb=/home/user/dir/ -device rtl8139,netdev=n0 -daemonizeЗапустив qemu, запускаю на исполнение файлик (или можно руками прописать):
#!/bin/bash
CONFDIR=`ls -d /tmp/*|grep qemu-smb`
echo "[global]
min protocol = NT1" >> $CONFDIR/smb.conf

На винде прописать в windows/system32/drivers/etc/host:
10.0.2.4 smbserver
И появится \\smbserver\qemu в поиске сети винды.

dzhoser

Также XP может не поддерживать протокол SMB2. Нужно разрешить его использование в devuan
Ubuntu->Linux mint->Astra Linux SE->Debian 12
Для новичков

dr_faust

yoric, по вашему рецепту предлагает подключиться к запущенной виртуалке через vnc-клиент. У меня в качестве такового почему-то установлен tigervncviewer. Пользоваться виндой совершенно невозможно из-за жуткого поведения мыши. Дергается постоянно, перестает работать в виртуалкой даже если на 1/3 приближу курсор к краю виндового рабочего стола. Потому рецепт даже не испробовал.

В virt-manager vnc работает замечательно. Стал подумывать о том, чтобы создать изолированный свич, повесить на его ip установленную на хосте samba да подключиться. Однако у этого менеджера какие-то сильно хистрые настройки по изоляции qemu от хоста. Пока еще до конца в англоязычных манах на сей счет не разобрался.

30 мая 2025, 00:18:29
Цитата: dzhoser от 28 мая 2025, 22:27:17Также XP может не поддерживать протокол SMB2. Нужно разрешить его использование в devuan

Хм... Может разрешить использование более ранее протокола прописав в
/etc/samba/smb.conf
server min protocol = NT1
?
Devuan 4. Debian 12. LXDE.

yoric

Цитата: dr_faust от 30 мая 2025, 00:16:54yoric, по вашему рецепту предлагает подключиться к запущенной виртуалке через vnc-клиент
Кто предлагает? Я вроде ясно написал, что там и к чему.

Цитата: yoric от 28 мая 2025, 06:39:04-netdev user,id=n0,smb=/home/user/dir/
подразумевает, что это будет видно как шару в винде

Цитата: dr_faust от 30 мая 2025, 00:16:54Может разрешить использование более ранее протокола прописав в
Ну точно не читали

dr_faust

Цитата: yoric от 30 мая 2025, 05:57:16
Цитата: dr_faust от 30 мая 2025, 00:16:54yoric, по вашему рецепту предлагает подключиться к запущенной виртуалке через vnc-клиент
Кто предлагает? Я вроде ясно написал, что там и к чему.



Лог запущенной из консоли виртуалки qemu. Что-то вроде подключите vnc-клиент на 127.0.0.1:5900. пользоватся графикой  из tigervnc-viewer невозможно из-за плохой работы мыши.

Насколько понял, по вашему рецепту оно создает сервер samba в песочнице только для этой виртуалки. Может оно и работает. Не знаю. Я просто физически не могу в проводнике виндовс вбить адрес этого созданного сервера.

Поэтому начал думать нельзя ли проделать то же самое, но запстив на хосте постоянный samba и дав доступ к нему управляемой через virt-manager виртуалку, в котором нет проблем с мышью. Вроде можно, но надо нати время хорошо покурить английские маны.
Devuan 4. Debian 12. LXDE.

yoric

Цитата: dr_faust от 30 мая 2025, 11:25:56Я просто физически не могу в проводнике виндовс вбить адрес этого созданного сервера.
Ничего не надо вбивать, оно само появится в поиске сетей в виде \\smbserver\qemu

dr_faust

Цитата: yoric от 30 мая 2025, 12:24:52
Цитата: dr_faust от 30 мая 2025, 11:25:56Я просто физически не могу в проводнике виндовс вбить адрес этого созданного сервера.
Ничего не надо вбивать, оно само появится в поиске сетей в виде \\smbserver\qemu

Допустим, появляется. Однако это не отменяет того, что с такой работой мыши я не могу выбрась в боковой панели проводника винды раздел сети и что-то там прострикать, посмотреть что появилось, а что нет.
Devuan 4. Debian 12. LXDE.

ChubaDuba

Я пользуюсь NFS.
На основном ноутбуке поднят сервер, а на втором (Win7) штатными средствами при загрузке OC автоматически монтируются внешний жесткий диск и определённая директория с основного ноутбука:


yoric


dr_faust

Проблема частично решена. К сожалению, "частично" ключевое слово.

Windows XP "из коробки" не поддерживает nfs. Установил windows 7.

Добавил в вирт-манагере виртуальный интерфейс типа "изолированный" на 10.0.2.0/24. При его создании создаются пользовательские цепочки для iptables, ноыые правила. В каком файле они прописаны и как их редактировать хз. Поэтому создал в стандарных цепочках такие правила
iptables -A OUTUT -s 10.0.2.0/24 -d 10.0.2.0./24 -o virbr0 -j ACCEPT
iptables -A INPUT -s 10.0.2.0/24 -d 10.0.2.0./24 -i virbr0 -j ACCEPT
Без них ничего работать не будет.

Установил nfs-сервер пакетом nfs-kernel-server.
В /etc/exports прописал
/share 10.0.2.*(rw,no_subtree_check,sync)

Долго тупил при подключении в виртуалке при помощи графического мастера, прописывая адрес клиентской машины(в каком-то дурном гайде было), а надо было \\10.0.2.1\share. Наконец прописал правильно и оно запустилось.
НО вместо кирилицы кракозябры(латитица нормально) и не запускаются exe-файлы

Вопросы.
- Как убрать кракозябры из имен файлов и папок?
- Как запустить исполняемые exe?
- Где искать конфиг для настройки фаервола под виртуальный интерфейс?

Кроме того такой не отсосящийся непосредственно к этому вопрос: "Как узнать ip nfs-сервера?" Я ж нигде не прописывал в качестве такового 10.0.2.1. Ни в одном интернетном гайде нет ничего относительно задания ip  сервера.

02 июня 2025, 16:33:28
P.S. Если внастройке виртульного интерфейса указано "автозапуск при занрузке системы", то иконка network manager-a, через которую выбирвю к чему подключаться, не появляется в трее. При этом
service network-manager status
пишет
NetworkManager is running.

Если его рестартонуть, то иконка повяляется.
Пробовал прописать рестарт в rc.local.
В файле /etc/insserv.conf привел к виду
$network +networking +ifupdown +netfilter-persistent +network-manager
(двух последних не было по-умолчанию)

Ничего не помогает.

02 июня 2025, 16:33:55
Если удалить автозагрузку, то нетворк манагер работает нормально.
Devuan 4. Debian 12. LXDE.

ChubaDuba

Цитата: dr_faust от 02 июня 2025, 16:26:49Windows XP "из коробки" не поддерживает nfs.
Есть Windows Services for UNIX

Цитата: dr_faust от 02 июня 2025, 16:26:49- Как убрать кракозябры из имен файлов и папок?
Никак

Цитата: dr_faust от 02 июня 2025, 16:26:49Как запустить исполняемые exe?
Никак


dr_faust

Цитата: ChubaDuba от 02 июня 2025, 17:13:17
Цитата: dr_faust от 02 июня 2025, 16:26:49Windows XP "из коробки" не поддерживает nfs.
Есть Windows Services for UNIX


По его вколючении станет достумна юниксовая утилита mount, mount -t nfs \\10.0.2.1\share X:
Так я понимаю?

02 июня 2025, 19:44:56
Цитата: ChubaDuba от 02 июня 2025, 17:13:17
Цитата: dr_faust от 02 июня 2025, 16:26:49- Как убрать кракозябры из имен файлов и папок?
Никак

Цитата: dr_faust от 02 июня 2025, 16:26:49Как запустить исполняемые exe?
Никак

Там вроде новая версия протокоа есть. 4. Навороченная. В ней тоже никак?
Devuan 4. Debian 12. LXDE.

ChubaDuba

Цитата: dr_faust от 02 июня 2025, 19:44:06По его вколючении станет достумна юниксовая утилита mount, mount -t nfs \\10.0.2.1\share X:
Так я понимаю?
В WinXP сам не пробовал, но видимо да, раз в составе есть сервер и клиент NFS.

Цитата: dr_faust от 02 июня 2025, 19:44:06В ней тоже никак?
Тоже.

P.S. А почему вы не решите свою задачу с помощью VirtualBox?