Linux系统中访问共享文件虚拟机,核心是通过虚拟机软件提供的共享文件系统或网络文件协议完成挂载。使用前需确认虚拟机类型、网络状态及共享目录设置。以下按VirtualBox、VMware、Samba、NFS及磁盘镜像直读几种主流场景分别说明。

一、VirtualBox 虚拟机共享文件夹:若宿主机为 Linux,虚拟机为 Linux,可在 VirtualBox 中选中该虚拟机并设置共享文件夹,名称设为 share。启动虚拟机后,先安装增强功能(Guest Additions),然后执行以下命令挂载:
sudo mkdir -p /mnt/share
sudo mount -t vboxsf share /mnt/share
其中 share 为共享名,/mnt/share 为挂载点。若需永久挂载,可将对应行写入 /etc/fstab。
二、VMware 虚拟机共享文件夹:Linux 虚拟机通常安装 open-vm-tools(即 VMware Tools 的开源版本)来启用共享文件夹功能。在 VMware 中设置主机共享目录后,进入虚拟机执行:
sudo mkdir -p /mnt/hgfs
sudo vmhgfs-fuse .host:/ /mnt/hgfs
默认会挂载所有共享目录;也可以指定子路径,例如:
sudo vmhgfs-fuse .host:/myshare /mnt/hgfs
完成后,进入 /mnt/hgfs 即可访问共享文件。
三、通过 Samba 访问 Windows 共享:如果虚拟机是 Windows,并已开启文件夹共享,Linux 宿主机可安装 cifs-utils 后挂载:
sudo apt install cifs-utils(Debian/Ubuntu 系统)
sudo mount -t cifs //虚拟机IP/共享名 /mnt/share -o username=用户,password=密码
也可以用 smbclient //虚拟机IP/共享名 -U 用户 直接浏览。若 Linux 虚拟机需要访问 Windows 宿主机共享,方法相同,只需将 IP 指向宿主机。
四、通过 NFS 访问 Linux/Unix 共享:若宿主机或虚拟机运行 Linux 且已启用 NFS 服务,可在客户端挂载:
sudo mount -t nfs 服务器IP:/导出目录 /本地挂载点
例如:
sudo mount -t nfs 192.168.1.10:/srv/share /mnt/nfs
这种方式适合 Linux 与 Linux 之间的透明共享,性能较好。
五、直接读取虚拟机磁盘镜像:如果不想启动虚拟机,Linux 下可以使用 qemu-nbd 或 guestmount 直接挂载 VDI、VMDK、QCOW2 等镜像文件。安装 libguestfs-tools 后执行:
guestmount -a 虚拟机磁盘镜像 -i /mnt/image
这种方法适合紧急读取或修改虚拟机内部文件,无需占用虚拟机资源。
六、通过 SSH 或 SFTP 访问:如果虚拟机已开启 SSH 服务,Linux 终端可直接使用 scp 或 sftp 进行文件传输,无需配置共享文件夹:
scp 用户@虚拟机IP:/远程路径 /本地路径
这是最通用且安全的方式,适用于几乎所有虚拟机场景。
总结:在Linux中打开共享文件虚拟机,应优先确认虚拟机软件类型与共享方式。VirtualBox 和 VMware 自带共享目录功能,Samba 和 NFS 适合网络共享,SSH 则适合快速传输。按实际环境选择对应命令即可完成访问。

查看详情

查看详情