
引言在安装 AmberTools、GROMACS、CP2K、LAMMPS、NWChem 等科研软件时很多朋友都会遇到一个非常基础但又非常关键的问题为什么教程里总是在讲 Ubuntu、CentOS、Debian 这类 Linux 系统而不是直接在 Windows 上安装原因其实很简单很多科研软件本质上是为 Linux 环境开发和编译的Windows 并不能原生直接运行这些 Linux 软件。因此如果你当前使用的是 Windows 系统又想安装和使用 Linux 软件就必须先准备一个能够承载 Linux 环境的“载体”。目前 Windows 上最常见的 Linux 载体主要有三种WSL2 子系统、VMware 虚拟机、双系统。本文将详细讲清楚为什么 Windows 无法直接使用 Linux 软件、什么叫载体、常见载体分别是什么、安装出来长什么样以及我们该如何选择合适的安装方式。安装出来长什么样子以及核心区别放在了第三、四点中请往下查看出处《智澈乐尚网络工作平台》一、为什么 Windows 不能直接使用 Linux 软件很多朋友都会有一个疑问“Linux 软件不也是软件吗为什么 Windows 不能直接安装和使用”这并不是软件本身的问题而是因为Windows 和 Linux 是两套不同的操作系统体系它们在底层运行机制上并不兼容。1Windows 和 Linux 的底层体系不同虽然 Windows 和 Linux 都属于操作系统但它们在很多核心方面都完全不同例如内核不同Windows 使用的是 Windows NT 内核Linux 软件依赖的是 Linux 内核提供的系统调用接口。可执行文件格式不同Windows 常见的程序是.exeLinux 常见程序则是 ELF 格式的二进制文件。二者不是同一个体系Windows 默认并不能原生识别 Linux 的可执行文件。依赖环境不同很多 Linux 软件依赖glibc、gcc、g、gfortran、make、cmake、OpenMPI、bash等运行环境而 Windows 本身并不具备这套 Linux 原生生态。命令行和路径规则不同Linux 常见路径是/home/user/softwareWindows 常见路径是C:\Users\xxx\Desktop。Linux 还有权限控制、软链接、环境变量、Shell 脚本等机制这些都与 Windows 体系存在明显差异。2很多科研软件本质上依赖 Linux 运行环境像下面这些软件AmberToolsAmberGROMACSCP2KLAMMPSNWChemVASPAutoDock Vina 的部分高级环境MPI 并行计算相关工具链它们很多都不是那种“下载一个安装包双击下一步即可安装”的 Windows 图形界面程序而通常是通过源码编译通过命令行运行依赖 GCC / GFortran / CMake / MPI 工具链依赖 Linux 的目录结构与权限体系依赖 Linux 下的动态库和运行时环境。所以本质上并不是 Windows “不能装一个文件”而是Windows 缺少 Linux 软件正常运行所需要的整套底层环境。这就好比你手里拿到了一个发动机但没有对应的整车底盘和传动系统那么它本身也无法正常运转。3结论Windows 不是不能用而是不能原生直接用所以这一点一定要理解清楚Windows 不是完全不能使用 Linux 软件而是 Windows 不能原生直接运行 Linux 软件。如果想在 Windows 电脑上安装和运行 Linux 软件就必须先给它准备一个可以承载 Linux 运行环境的方式也就是下面要讲的——载体。二、什么叫“载体”既然 Windows 不能直接原生运行 Linux 软件那么就必须先在 Windows 机器上构建出一个Linux 运行环境让 Linux 软件有地方可以安装和执行。这个承载 Linux 环境的方式就可以理解为载体简单来说你当前电脑主系统是Windows但你要安装的是Linux 软件那么你就必须先在这台 Windows 电脑上准备一个能够承载 Linux 系统环境的平台再进入这个环境中安装 AmberTools、GROMACS、CP2K 等软件。1载体不是软件本体而是运行环境这里一定要区分清楚类型作用Linux 软件你真正想安装和使用的科研程序载体给 Linux 软件提供运行环境的方式例如AmberTools、GROMACS、CP2K是软件本体WSL2、VMware、双系统是载体。也就是说正确的安装逻辑应该是先准备 Linux 载体再进入这个载体中的 Linux 环境最后安装对应的 Linux 软件。2为什么必须先有载体因为 Linux 软件不是单独存在的它往往依附于一整套 Linux 生态环境包括Shell 命令行Linux 权限机制依赖库编译器包管理器并行计算环境动态链接库文件系统规则。所以如果你没有先准备 Linux 载体那么这些 Linux 软件就没有地方运行。因此Windows 用户安装 Linux 软件时第一步从来都不是“直接安装软件”而是“先准备承载 Linux 的载体”。三、Windows 常见的三种 Linux 载体目前在 Windows 上安装 Linux 软件最常见的三种方式分别是WSL2 子系统VMware 虚拟机双系统它们都可以让你在 Windows 电脑上获得 Linux 环境但实现方式完全不同。1WSL2 子系统WSL2 的全称是Windows Subsystem for Linux 2即Windows 下的 Linux 子系统。它本质上是微软提供的一种方式让 Windows 可以直接承载一个接近原生的 Linux 环境。安装好 WSL2 后你可以在 Windows 中直接使用 Ubuntu、Debian 等 Linux 发行版。WSL2 的特点不需要重装系统不需要像传统虚拟机那样完整模拟一台新电脑资源开销相对较小与 Windows 文件互通方便安装命令行科研软件非常方便对大多数 AmberTools、GROMACS、Python、Conda 等场景都比较友好。WSL2 的本质可以把它理解为Windows 里嵌入了一个 Linux 子系统环境。它并不是传统意义上“完整显示 Linux 桌面”的安装方式而更像是Windows 仍然是主系统Linux 通过终端方式嵌入在 Windows 中你通过终端命令进入并使用 Linux 环境。2VMware 虚拟机VMware 的原理是在 Windows 中再“虚拟”出一台电脑然后在这台虚拟电脑里安装 Linux 系统。你可以把它理解为Windows 电脑里面再开了一台 Linux 电脑。VMware 的特点Linux 系统完整度高隔离性更强一般带完整图形桌面比较适合学习 Linux 系统本身适合需要桌面环境的使用者。VMware 的不足占用内存、CPU、磁盘空间更多性能通常弱于原生 LinuxGPU 直通和 CUDA 配置较麻烦不适合追求极致性能的高负载科学计算。3双系统双系统的意思是在同一台电脑里同时安装Windows和Linux两套操作系统开机时自己选择进入哪一套系统。也就是说想办公、写文档、日常娱乐时进入 Windows想进行科研计算、编译安装、运行大型软件时进入 Linux。双系统的特点Linux 运行最接近原生硬件性能通常优于虚拟机更适合 CUDA、MPI、GPU 加速、高性能计算更适合长期深度使用 Linux 的科研用户。双系统的不足安装和分区相对麻烦需要处理系统引导配置不当可能影响原有 Windows切换系统必须重启电脑。四、这些载体安装出来后长什么样子很多朋友第一次接触 Linux 载体时会有一个特别现实的问题“你说了 WSL2、VMware、双系统那它们安装完以后到底长什么样”这个问题其实非常重要因为很多新手会误以为看不到 Linux 桌面就是没装成功只看到一个黑框不像系统以为双系统和虚拟机是同一种东西。实际上这三种载体安装完成后的表现形式完全不同。1WSL2 安装出来长什么样WSL2 安装完成后最直观的表现通常就是一个黑色命令行窗口。比如你安装好 Ubuntu 之后打开它一般会看到类似这样的界面userDESKTOP-XXXX:/mnt/c/Users/xxx$这个黑色窗口并不是简单的“命令提示符”而是一个真正的Linux 终端环境。你以后输入的很多命令例如lscdpwdsudo apt updateconda activate ambertoolsgmx --version都是在这个 Linux 环境里执行的。也就是说WSL2 安装好之后表面上看像一个黑色框框但这个黑色框框背后实际上承载的是一个可以运行 Linux 软件的子系统环境。所以很多新手第一次看到 WSL2会觉得“怎么只是个黑框”其实那就是 Linux 命令行本身。当然WSL2 可以额外安装可视化的桌面只是说默认只有黑色框框而已额外的可视化桌面会用带远程渲染的Xserver技术就复杂的多。有需要可以和我说下面就展示一下WSL2 安装了额外安装可视化的桌面以后的效果WSL2 的外观特点总结项目表现形式主体运行位置仍然在 Windows 内部打开后看到的样子通常是黑色终端窗口是否默认带 Linux 桌面一般没有本质Windows 中承载的 Linux 子系统2VMware 安装出来长什么样VMware 和 WSL2 完全不同。WSL2 更像是“在 Windows 里开一个 Linux 命令行环境”而 VMware 更像是在 Windows 里面再套一个完整的 Linux 电脑。安装好 VMware 后你会先看到VMware 软件本身的壳子界面也就是 VMware Workstation 的管理窗口。然后你在这个壳子里面启动 Ubuntu、CentOS 或其他 Linux 系统。启动之后你通常看到的是Linux 开机界面登录界面完整的 Linux 图形桌面文件管理器、设置、终端、浏览器等。所以 VMware 很好理解VMware 本身是外层的壳子Linux 系统是被这个壳子包裹起来运行的完整操作系统。你可以把它理解为Windows 是你真实的电脑VMware 是你在 Windows 里开的一个“虚拟电脑窗口”这个虚拟电脑里面装的是 Linux。VMware 的外观特点总结项目表现形式主体运行位置Windows 软件内部打开后看到的样子VMware 窗口里运行完整 Linux 系统是否默认带 Linux 桌面有通常是完整桌面环境本质Windows 中虚拟出一台 Linux 电脑3双系统安装出来长什么样双系统和前两者又不一样。WSL2 和 VMware 都还是在Windows 系统内部运行的但双系统不是。双系统安装完成后最明显的变化是开机的时候会先出现一个系统选择界面。比如进入 Windows进入 Ubuntu或者进入其他 Linux 系统。也就是说双系统并不是“在 Windows 里面打开 Linux”而是你的电脑里同时装了两套系统开机时自己选择进入哪一个选 Windows就进入 Windows选 Linux就直接进入完整 Linux 系统。因此双系统安装出来后的表现一般有两个层面第一层开机选择界面开机时会看到系统引导菜单供你选择要进入的系统。第二层进入后的完整系统桌面只要你选了 Linux那么接下来看到的就是真正完整的 Linux 系统桌面而不是 Windows 里的一个窗口也不是一个简单黑框。所以双系统可以理解为不是 Windows 包着 Linux也不是 Windows 里再开一个 Linux而是这台电脑本身同时安装了 Windows 和 Linux两套系统并列存在。双系统的外观特点总结项目表现形式主体运行位置电脑本机原生安装打开后看到的样子开机先选系统进入后是完整 Linux 桌面是否默认带 Linux 桌面有本质一台电脑安装两套独立系统五、三种载体“看起来”的区别为了方便理解可以把三种方式直接这样区分载体安装完成后最直观的样子你可以怎么理解WSL2一个黑色命令行窗口Windows 里嵌入了一个 Linux 终端环境VMwareVMware 软件窗口中运行完整 Linux 桌面Windows 里再开了一台 Linux 虚拟电脑双系统开机时先选系统进去后就是完整 Linux 系统一台电脑同时装两套系统开机二选一如果用最简单的话来总结WSL2看起来最像“黑框命令行”VMware看起来最像“窗口里的 Linux 电脑”双系统看起来最像“真正单独安装的 Linux 系统”。所以很多新手第一次装好 WSL2 后会误以为自己只是打开了一个终端没有装成功。其实不是那整个黑色终端背后就是 Linux 环境本身。六、如何选择适合自己的载体因为篇幅原因还请大家移步《如何选择适合自己的载体》 查看七、与我联系——解决任意系统安装、环境问题了解清楚了Gromacs安装之前的这些知识以后如果嫌弃麻烦需要远程安装的友友可以联系PC端电脑通过点击PC端分子对接软件合集——“能看到某宝对应的分子对接软件商品。手机淘宝通过点击手淘分子对接软件合集 “——能看到某宝对应的分子对接软件商品如果嫌麻烦需要协助的可以直接“智澈了科研计算”需要转发的友友请注明原创出处哦