Linux虚拟机资源共享的常见方法
共享文件夹是虚拟机与主机之间最直接的资源共享方式,适用于日常文件传输。具体步骤因虚拟机软件而异:
D:\shared)并命名(如shared_folder),勾选“自动挂载”和“固定分配”;在Linux虚拟机中创建挂载点(如sudo mkdir /mnt/shared),执行sudo mount -t vboxsf shared_folder /mnt/shared挂载。shared),勾选“始终启用”;在Linux中创建挂载点(如sudo mkdir /mnt/hgfs),执行sudo mount -t vmhgfs .host:/shared /mnt/hgfs挂载。chmod调整,确保主机与虚拟机用户均可访问。NFS适用于Linux主机与虚拟机(或Linux虚拟机之间)的高速共享,支持实时同步。配置步骤:
sudo apt install nfs-kernel-server);创建共享目录(如sudo mkdir /srv/nfs/shared)并设置权限(sudo chmod 777 /srv/nfs/shared);编辑/etc/exports文件,添加/srv/nfs/shared *(rw,sync,no_subtree_check)(允许所有IP访问,读写权限);重启服务(sudo systemctl restart nfs-kernel-server)。sudo apt install nfs-common);创建挂载点(如sudo mkdir /mnt/nfs_shared);执行sudo mount server_ip:/srv/nfs/shared /mnt/nfs_shared挂载(server_ip为主机IP)。server_ip:/srv/nfs/shared /mnt/nfs_shared nfs defaults 0 0添加到虚拟机的/etc/fstab文件中。Samba实现Linux与Windows系统之间的资源共享,适用于混合环境。配置步骤:
sudo apt install samba);编辑/etc/samba/smb.conf文件,在末尾添加共享配置(如[shared] path = /srv/samba/shared available = yes valid users = your_linux_user read only = no browsable = yes);设置Samba用户密码(sudo smbpasswd -a your_linux_user);重启服务(sudo systemctl restart smbd)。\\host_ip\shared(host_ip为主机IP),输入Samba用户密码即可访问。smbclient //host_ip/shared -U your_linux_user命令访问,或通过mount -t cifs //host_ip/shared /mnt/samba -o username=your_linux_user,password=your_password挂载。SSHFS通过SSH协议实现安全文件共享,无需额外安装服务器(主机需开启SSH服务)。配置步骤:
sudo systemctl status ssh,若未开启则sudo systemctl start ssh)。sudo apt install sshfs);创建本地挂载点(如sudo mkdir /mnt/sshfs);执行sshfs username@host_ip:/remote/directory /mnt/sshfs挂载(username为主机用户,/remote/directory为主机共享目录)。fusermount -u /mnt/sshfs命令。FTP/SFTP适用于需要远程管理的场景,支持大文件传输。配置步骤:
sudo apt install vsftpd);编辑/etc/vsftpd.conf文件,修改anonymous_enable=NO(禁用匿名)、local_enable=YES(允许本地用户登录);重启服务(sudo systemctl restart vsftpd)。host_ip、用户名、密码),或通过命令行ftp host_ip登录。sftp username@host_ip。资源共享的前提是主机与虚拟机处于同一网络环境,需正确配置虚拟机网络模式:
192.168.1.100,虚拟机为192.168.1.101),适用于需要虚拟机被局域网其他设备访问的场景。