Lek*_*eyn 31 file-sharing samba windows qemu
过去我使用过 Virtual Box,它非常支持与 Windows 来宾共享主机上的文件夹。我正在为 QEMU 寻找类似的功能。
该文档建议公开运行在网络某处的 Samba 服务器,或使用-net user,smb=/path/to/folder
来启动 samba 服务器。
我-net user,smb
对 QEMU的选择不走运。它所做的只是启动smbd
(由于端口冲突,它与本地运行的另一个服务冲突)。可以说,这是无法使用的,尤其是考虑到多个客人时。(对于Linux,-virtfs
(Plan 9)可用于轻松共享文件夹。)
Samba 的其他问题是它不仅限于文件夹共享,它还可以共享打印机、用户映射等等。我所需要的只是与 Windows 来宾共享一个(或多个?)文件夹。
是否存在适用于 Windows 客户机的 QEMU 的替代文件夹共享方法?
或者有没有办法配置 Samba 以将其自身限制为一组非常有限的功能并将其集成到 QEMU 中?这应该:
Lek*_*eyn 19
无法运行的-net user,smb
选项是由于与较新的 Samba 版本 (>= 4) 不兼容造成的。这已在 QEMU v2.2.0 及更新版本中通过以下更改得到修复:
(Debian 已将后两个补丁向后移植到 Jessie 中的 2.1+dfsg-6。)
您可以像\\10.0.2.4\qemu
使用用户网络一样导出一个文件夹:
qemu-system-x86_64 \
-net user,smb=/absolute/path/to/folder \
-net nic,model=virtio \
...
Run Code Online (Sandbox Code Playgroud)
使用这些选项成功启动 QEMU 后,/tmp/qemu-smb.*-*/
将创建一个包含smb.conf
. 如果您足够快,则可以修改此文件以将路径设为只读或导出更多文件夹。
每当通过“用户”网络访问端口 139 或 445 时,就会执行 samba 守护程序。通信通过 smbd 进程的标准输入/输出/错误发生。这就是较新的守护进程失败的原因,它会将错误消息写入管道而不是协议消息。
由于这种操作方法,守护进程不会侦听主机端口,因此只能由来宾访问。因此网络中的其他客户端甚至本地用户都无法使用此守护程序访问文件夹。
由于 QEMU v2.2.0 打印机共享是通过 samba 配置完全禁用的,所以另一个担心就没有了。
速度取决于网卡,所以建议使用Windows下的virtionetkvm
驱动。
另请注意,守护程序按/usr/sbin/smbd
编译时指定的绝对路径(通常为)执行(使用--smbd
选项)。每当您需要尝试新的二进制文件或 interpose 时smbd
,您都需要修改该路径下的文件。
可执行文件 ( *.exe
) 必须在主机 ( chmod +x FILE
)上可执行,来宾才能拥有执行权限。要允许执行任何文件,请将acl allow execute always = True
选项添加到共享。
允许执行任何文件的只读smb.conf 配置示例(基于 QEMU v2.2.0):
... [qem] 路径= /home/peter/windows 只读=是 客人好=真 force user= peter acl allow execute always = True
Stu*_*all 12
在2018一个简单的方法来共享之间的文件夹的Linux主机及的Windows虚拟机,以使RDP在Windowsguest
和连接到vm
与Remmina远程桌面客户端与启用共享文件夹:
这个下创建一个文件夹此PC(Linux上的共享文件夹hostname
)一个\\tsclient\shared-folder-name
内部网络共享guest
。您还可以映射网络驱动器:
该解决方案并没有要求samba
在运行。
在libvirt
/下测试,virt-manager
但应该适用于任何虚拟化。
归档时间: |
|
查看次数: |
78263 次 |
最近记录: |