目录
Windows 与 Linux 无缝打通:WSL2/VMware/VirtualBox 文件互访全方案(2026 最新)
一、为什么要打通 Windows 和 Linux?
二、方案一:WSL2(微软官方推荐,性能最强)
2.1 什么是 WSL2?
2.2 安装 WSL2(一步搞定)
2.3 文件互访(零配置)
从 Windows 访问 WSL 文件
从 WSL 访问 Windows 文件
2.4 性能优化技巧
2.5 优缺点分析
三、方案二:VMware Workstation 虚拟机(完整 Linux 环境)
3.1 安装 VMware Tools(必须)
3.2 设置共享文件夹
3.3 挂载共享文件夹
3.4 自动挂载(开机自动加载)
3.5 权限问题解决
3.6 优缺点分析
四、方案三:VirtualBox 虚拟机(免费开源)
4.1 安装增强功能
4.2 设置共享文件夹
4.3 挂载共享文件夹
4.4 优缺点分析
五、方案四:通用方案(适用于任何 Linux 系统)
5.1 SSHFS(通过 SSH 挂载远程文件系统)
安装 SSHFS
挂载远程文件系统
卸载远程文件系统
5.2 Samba(Windows 网络共享)
安装 Samba
配置 Samba
在 Windows 中访问 Linux 共享文件夹
5.3 优缺点分析
六、四大方案对比表
七、最佳实践与常见坑
7.1 文件权限问题(最常见)
7.2 性能优化建议
7.3 大小写敏感问题
7.4 常见错误解决
八、总结与推荐
作为一个同时使用 Windows 和 Linux 的开发者,我曾经无数次被两个系统之间的文件传输问题折磨:用 U 盘拷来拷去太慢,用 QQ 传文件会压缩,用 FTP 配置麻烦还不安全。
直到我把所有主流方案都试了一遍,终于找到了一套完美的解决方案。今天这篇博客,我会把 WSL2、VMware、VirtualBox 以及通用的 SSHFS/Samba 方案全部讲清楚,从最简单的一键配置到高级性能优化,保证你看完就能实现 Windows 和 Linux 的无缝文件互访。
一、为什么要打通 Windows 和 Linux?
先说说我们为什么要折腾这个事:
- Windows 的优势:日常办公、游戏、图形界面软件(PS、PR、Office)、硬件兼容性好
- Linux 的优势:开发环境、命令行工具、服务器部署、开源软件生态
- 痛点:在 Windows 上写代码,想在 Linux 上运行测试;在 Linux 上生成的文件,想在 Windows 上用编辑器打开;需要在两个系统之间频繁传输大文件
如果你也有这些痛点,那么这篇博客就是为你准备的。
二、方案一:WSL2(微软官方推荐,性能最强)
一句话结论:如果你只是需要 Linux 的命令行环境做开发,WSL2 是绝对的首选,没有之一。它是微软官方内置的 Linux 子系统,性能接近原生,文件互访几乎零配置。
2.1 什么是 WSL2?
WSL(Windows Subsystem for Linux)是微软在 Windows 10 中引入的功能,允许你直接在 Windows 上运行 Linux 环境,不需要安装虚拟机。WSL2 是第二代版本,使用了真正的 Linux 内核,性能比第一代提升了 5-10 倍。
2.2 安装 WSL2(一步搞定)
现在 Windows 10 2004 以上版本和 Windows 11 都支持一键安装 WSL2:
- 以管理员身份打开 PowerShell
- 运行以下命令:
wsl --install- 等待安装完成,重启电脑
- 重启后会自动打开 Ubuntu 终端,设置用户名和密码即可
如果你想安装其他发行版,可以运行:
wsl --list --online # 查看可用的发行版 wsl --install -d Debian # 安装Debian2.3 文件互访(零配置)
这是 WSL2 最香的地方,文件互访完全不需要任何配置:
从 Windows 访问 WSL 文件
打开文件资源管理器,在地址栏输入:
\\wsl$你会看到所有已安装的 WSL 发行版,点击进去就是 Linux 的根目录。你可以像操作 Windows 文件一样复制、粘贴、编辑 Linux 文件。
最佳实践:把常用的 Linux 目录固定到快速访问,比如\\wsl$\Ubuntu\home\你的用户名,这样下次直接点击就能进入。
从 WSL 访问 Windows 文件
WSL 会自动把 Windows 的所有盘符挂载到/mnt/目录下:
- C 盘:
/mnt/c/ - D 盘:
/mnt/d/ - E 盘:
/mnt/e/
比如你想访问 Windows 桌面上的文件,路径就是:
cd /mnt/c/Users/你的Windows用户名/Desktop2.4 性能优化技巧
最重要的一点:永远把你的开发项目放在 WSL 的文件系统中,不要放在/mnt/c/下。
因为 WSL 访问 Windows 文件系统(/mnt/c/)的性能会下降 50% 以上,而访问自己的文件系统性能接近原生 Linux。
正确的开发流程是:
- 在 WSL 中创建项目目录:
mkdir ~/projects - 在 Windows 的 VS Code 中安装 WSL 插件
- 用 VS Code 打开 WSL 中的项目:
code ~/projects - 所有代码编辑在 Windows 的 VS Code 中进行,运行和测试在 WSL 中进行
这样你既能享受 Windows 上 VS Code 的流畅体验,又能获得 Linux 原生的开发性能。
2.5 优缺点分析
✅ 优点:
- 微软官方支持,稳定性好
- 性能接近原生 Linux
- 文件互访零配置
- 占用资源少,启动速度快
- 可以直接运行 Linux 命令和程序
❌ 缺点:
- 没有完整的 Linux 桌面环境(虽然可以安装,但体验一般)
- 对一些需要内核模块的程序支持不好
- 系统调用不完全兼容原生 Linux
三、方案二:VMware Workstation 虚拟机(完整 Linux 环境)
如果你需要完整的 Linux 桌面环境,或者需要运行一些 WSL2 不支持的程序,那么 VMware Workstation 是最好的选择。
3.1 安装 VMware Tools(必须)
要实现文件互访,首先必须安装 VMware Tools,这是 VMware 提供的增强工具,包含了共享文件夹、剪贴板共享、拖放等功能。
安装方法:
- 启动虚拟机
- 点击 VMware 菜单栏的 "虚拟机"→"安装 VMware Tools"
- 在 Linux 虚拟机中,会自动挂载一个光盘镜像
- 打开终端,运行以下命令:
cd /media/你的用户名/VMware Tools tar -xzf VMwareTools-*.tar.gz cd vmware-tools-distrib sudo ./vmware-install.pl- 一路按回车默认安装即可,安装完成后重启虚拟机
3.2 设置共享文件夹
- 关闭虚拟机
- 点击 VMware 菜单栏的 "虚拟机"→"设置"
- 切换到 "选项" 标签,选择 "共享文件夹"
- 选择 "总是启用"
- 点击 "添加",选择你想共享的 Windows 文件夹
- 给共享文件夹起个名字,比如 "Windows_Share"
- 勾选 "启用此共享",点击 "完成"
3.3 挂载共享文件夹
启动虚拟机后,共享文件夹会自动挂载到/mnt/hgfs/目录下:
cd /mnt/hgfs/Windows_Share你现在就可以在 Linux 中访问 Windows 的共享文件夹了。
3.4 自动挂载(开机自动加载)
如果重启后共享文件夹不见了,可以手动挂载:
sudo vmhgfs-fuse .host:/Windows_Share /mnt/hgfs/Windows_Share -o allow_other如果想开机自动挂载,可以编辑/etc/fstab文件:
sudo nano /etc/fstab在文件末尾添加一行:
.host:/Windows_Share /mnt/hgfs/Windows_Share fuse.vmhgfs-fuse allow_other,defaults 0 0保存退出,重启虚拟机即可。
3.5 权限问题解决
最常见的问题是 Linux 用户没有权限访问共享文件夹,解决方法:
- 把你的用户添加到
vmhgfs-fuse组:
sudo usermod -aG vmhgfs-fuse 你的用户名- 注销重新登录即可
3.6 优缺点分析
✅ 优点:
- 完整的 Linux 桌面环境
- 兼容性最好,几乎能运行所有 Linux 程序
- 支持快照、克隆等高级功能
- 剪贴板和拖放功能完美支持
❌ 缺点:
- 占用资源多,需要分配足够的内存和 CPU
- 性能比 WSL2 略差
- 需要手动安装 VMware Tools 和配置共享文件夹
四、方案三:VirtualBox 虚拟机(免费开源)
如果你不想花钱买 VMware,VirtualBox 是一个很好的免费替代品。它的功能和 VMware 差不多,只是性能和稳定性略差一些。
4.1 安装增强功能
和 VMware 类似,VirtualBox 也需要安装增强功能才能实现文件互访:
- 启动虚拟机
- 点击 VirtualBox 菜单栏的 "设备"→"安装增强功能"
- 在 Linux 虚拟机中,会自动挂载一个光盘镜像
- 打开终端,运行以下命令:
cd /media/你的用户名/VBox_GAs_* sudo ./VBoxLinuxAdditions.run- 安装完成后重启虚拟机
4.2 设置共享文件夹
- 关闭虚拟机
- 点击 VirtualBox 菜单栏的 "设备"→"共享文件夹"→"共享文件夹设置"
- 点击右上角的 "+" 号
- 选择你想共享的 Windows 文件夹
- 给共享文件夹起个名字,比如 "Windows_Share"
- 勾选 "自动挂载" 和 "固定分配"
- 点击 "OK"
4.3 挂载共享文件夹
启动虚拟机后,共享文件夹会自动挂载到/media/sf_Windows_Share目录下。
注意:默认情况下只有 root 用户才能访问共享文件夹,你需要把你的用户添加到vboxsf组:
sudo usermod -aG vboxsf 你的用户名注销重新登录即可。
4.4 优缺点分析
✅ 优点:
- 完全免费开源
- 功能齐全,支持快照、克隆等
- 跨平台,支持 Windows、macOS、Linux
❌ 缺点:
- 性能比 VMware 差
- 稳定性一般,偶尔会崩溃
- 增强功能的兼容性不如 VMware Tools
五、方案四:通用方案(适用于任何 Linux 系统)
如果你用的是其他虚拟机软件,或者是远程的 Linux 服务器,那么可以用以下两种通用方案。
5.1 SSHFS(通过 SSH 挂载远程文件系统)
SSHFS 是一个通过 SSH 协议挂载远程文件系统的工具,它不需要任何额外的配置,只要 Linux 系统开启了 SSH 服务就能用。
安装 SSHFS
- Ubuntu/Debian:
sudo apt update && sudo apt install sshfs- CentOS/RHEL:
sudo yum install sshfs挂载远程文件系统
# 创建挂载点 mkdir ~/remote # 挂载远程目录 sshfs 用户名@服务器IP:/远程目录 ~/remote比如你想把远程服务器的/home/user/projects目录挂载到本地的~/remote目录:
sshfs user@192.168.1.100:/home/user/projects ~/remote卸载远程文件系统
fusermount -u ~/remote5.2 Samba(Windows 网络共享)
Samba 是一个实现了 SMB/CIFS 协议的软件,可以让 Linux 系统像 Windows 一样提供网络共享服务。
安装 Samba
sudo apt update && sudo apt install samba配置 Samba
- 备份原始配置文件:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak- 编辑配置文件:
sudo nano /etc/samba/smb.conf- 在文件末尾添加以下内容:
[Linux_Share] comment = Linux Shared Folder path = /home/你的用户名/share browseable = yes writable = yes guest ok = no read only = no- 创建共享目录并设置权限:
mkdir ~/share chmod 777 ~/share- 创建 Samba 用户:
sudo smbpasswd -a 你的用户名输入并确认密码。
- 重启 Samba 服务:
sudo systemctl restart smbd在 Windows 中访问 Linux 共享文件夹
- 打开文件资源管理器
- 在地址栏输入:
\\Linux的IP地址\Linux_Share - 输入你刚才创建的 Samba 用户名和密码即可
5.3 优缺点分析
✅ 优点:
- 通用,适用于任何 Linux 系统和虚拟机软件
- 不需要安装额外的虚拟机工具
- 支持跨网络访问
❌ 缺点:
- 性能比前几种方案差
- 需要手动配置,比较麻烦
- 安全性需要注意
六、四大方案对比表
表格
| 方案 | 性能 | 复杂度 | 集成度 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|---|---|---|
| WSL2 | ★★★★★ | ★☆☆☆☆ | ★★★★★ | 日常开发、命令行环境 | 官方支持、性能好、零配置 | 没有完整桌面环境 |
| VMware | ★★★★☆ | ★★☆☆☆ | ★★★★☆ | 需要完整桌面环境 | 兼容性好、功能全 | 占用资源多、收费 |
| VirtualBox | ★★★☆☆ | ★★☆☆☆ | ★★★☆☆ | 免费使用、简单需求 | 完全免费、开源 | 性能和稳定性一般 |
| SSHFS/Samba | ★★☆☆☆ | ★★★★☆ | ★☆☆☆☆ | 远程服务器、通用场景 | 通用、跨平台 | 性能差、配置麻烦 |
七、最佳实践与常见坑
7.1 文件权限问题(最常见)
- 在 WSL 中,Windows 文件的权限默认是 777,你可以通过修改
/etc/wsl.conf来调整:
sudo nano /etc/wsl.conf添加以下内容:
[automount] options = "metadata,umask=22,fmask=11"保存退出,重启 WSL:wsl --shutdown
- 在 VMware 和 VirtualBox 中,一定要把用户添加到对应的用户组(
vmhgfs-fuse或vboxsf),否则会没有权限访问共享文件夹。
7.2 性能优化建议
- WSL2:永远把项目文件放在 WSL 的文件系统中,不要放在
/mnt/c/下 - 虚拟机:分配至少 4GB 内存和 2 个 CPU 核心,开启硬件虚拟化
- 大文件传输:优先使用共享文件夹,不要用拖放或剪贴板
7.3 大小写敏感问题
Linux 是大小写敏感的,而 Windows 默认是大小写不敏感的。这会导致一些问题,比如在 Linux 中创建的File.txt和file.txt是两个不同的文件,但在 Windows 中会被认为是同一个文件。
解决方法:在 WSL 中,Windows 文件系统默认是大小写不敏感的,而 WSL 自己的文件系统是大小写敏感的。所以尽量在 WSL 的文件系统中开发,避免这个问题。
7.4 常见错误解决
- WSL2 无法启动:确保在 BIOS 中开启了硬件虚拟化,并且 Windows 的 "虚拟机平台" 和 "适用于 Linux 的 Windows 子系统" 功能已经开启。
- 共享文件夹看不到:重新安装 VMware Tools 或 VirtualBox 增强功能,重启虚拟机。
- 权限不够:把用户添加到对应的用户组,或者修改共享文件夹的权限。
八、总结与推荐
最后,给大家一个明确的推荐:
- 如果你只是需要 Linux 的命令行环境做开发:强烈推荐 WSL2,它是目前最好的方案,性能好,配置简单,微软官方支持。
- 如果你需要完整的 Linux 桌面环境:推荐 VMware Workstation,兼容性和稳定性最好,功能最全。
- 如果你不想花钱:推荐 VirtualBox,完全免费开源,满足基本需求没问题。
- 如果你用的是远程 Linux 服务器:推荐 SSHFS,配置简单,使用方便。