我正在尝试将vdi
s 存储到使用 nautilus 和 sftp 安装到我的机器的网络机器上。
我确认我可以访问该目录并且可以写入它。
我收到的错误是这样的:
Failed to open the disk image file /run/user/1000/gvfs/sftp:host=.../MINT.vdi.
Could not open the medium '/run/user/1000/gvfs/sftp:host=.../MINT.vdi'.
VD: error VERR_NET_OPERATION_NOT_SUPPORTED opening image file '/run/user/1000/gvfs/sftp:host=.../MINT.vdi' (VERR_NET_OPERATION_NOT_SUPPORTED).
Result Code: NS_ERROR_FAILURE (0x80004005)
Component: MediumWrap
Interface: IMedium {4afe423b-43e0-e9d0-82e8-ceb307940dda}
Callee: IVirtualBox {9570b9d5-f1a1-448a-10c5-e12f5285adad}
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)
我也尝试启用和禁用“使用主机 I/O 缓存”,仍然是同样的消息。
答案1
返回此错误是因为 GVFS SFTP 后端不允许打开文件以同时进行读写(即O_RDWR
open(2) 系统调用的标志)。此类尝试将返回 -EOPNOTSUPP,VirtualBox 会将其转换为 VERR_NET_OPERATION_NOT_SUPPORTED(含义相同)。
使用其他 GVFS 后端(例如 SMB)可能会有更好的运气,但总的来说,我根本不建议使用 GVFS 和 gvfs-fuse 来访问 VM 磁盘映像 - 而是使用内核级网络文件系统,例如 NFSv4 或 SMB3。