别再乱装了!Windows 使用 Linux 软件前,先弄懂 WSL2、VMware 和双系统 【Gromacs、Amber、Lammps、VASP、CP2K、AmberTools】等
引言
在安装 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 是两套不同的操作系统体系,它们在底层运行机制上并不兼容。
(1)Windows 和 Linux 的底层体系不同
虽然 Windows 和 Linux 都属于操作系统,但它们在很多核心方面都完全不同,例如:
Windows 使用的是 Windows NT 内核;
Linux 软件依赖的是 Linux 内核提供的系统调用接口。
Windows 常见的程序是 `.exe`;
Linux 常见程序则是 ELF 格式的二进制文件。
二者不是同一个体系,Windows 默认并不能原生识别 Linux 的可执行文件。
很多 Linux 软件依赖 glibc、gcc、g++、gfortran、make、cmake、OpenMPI、bash 等运行环境;
而 Windows 本身并不具备这套 Linux 原生生态。
Linux 常见路径是 `/home/user/software`;
Windows 常见路径是 `C:\Users\xxx\Desktop`。
Linux 还有权限控制、软链接、环境变量、Shell 脚本等机制,这些都与 Windows 体系存在明显差异。
(2)很多科研软件本质上依赖 Linux 运行环境
像下面这些软件:
它们很多都不是那种“下载一个安装包,双击下一步即可安装”的 Windows 图形界面程序,而通常是:
- 依赖 GCC / GFortran / CMake / MPI 工具链;
所以本质上并不是 Windows “不能装一个文件”,而是:
Windows 缺少 Linux 软件正常运行所需要的整套底层环境。
这就好比你手里拿到了一个发动机,但没有对应的整车底盘和传动系统,那么它本身也无法正常运转。
(3)结论:Windows 不是不能用,而是不能原生直接用
所以这一点一定要理解清楚:
Windows 不是完全不能使用 Linux 软件;
而是 Windows 不能原生直接运行 Linux 软件。
如果想在 Windows 电脑上安装和运行 Linux 软件,就必须先给它准备一个可以承载 Linux 运行环境的方式,也就是下面要讲的——载体。
二、什么叫“载体”
既然 Windows 不能直接原生运行 Linux 软件,那么就必须先在 Windows 机器上构建出一个Linux 运行环境,让 Linux 软件有地方可以安装和执行。
这个承载 Linux 环境的方式,就可以理解为:
载体
简单来说:
- 那么你就必须先在这台 Windows 电脑上准备一个 能够承载 Linux 系统环境的平台;
- 再进入这个环境中,安装 AmberTools、GROMACS、CP2K 等软件。
(1)载体不是软件本体,而是运行环境
这里一定要区分清楚:
例如:
- AmberTools、GROMACS、CP2K
- WSL2、VMware、双系统
也就是说,正确的安装逻辑应该是:
(2)为什么必须先有载体
因为 Linux 软件不是单独存在的,它往往依附于一整套 Linux 生态环境,包括:
所以如果你没有先准备 Linux 载体,那么这些 Linux 软件就没有地方运行。
因此,Windows 用户安装 Linux 软件时,第一步从来都不是“直接安装软件”,而是“先准备承载 Linux 的载体”。
三、Windows 常见的三种 Linux 载体
目前在 Windows 上安装 Linux 软件,最常见的三种方式分别是:
它们都可以让你在 Windows 电脑上获得 Linux 环境,但实现方式完全不同。
(1)WSL2 子系统
WSL2 的全称是Windows Subsystem for Linux 2,即Windows 下的 Linux 子系统。
它本质上是微软提供的一种方式,让 Windows 可以直接承载一个接近原生的 Linux 环境。安装好 WSL2 后,你可以在 Windows 中直接使用 Ubuntu、Debian 等 Linux 发行版。
WSL2 的特点:
- 对大多数 AmberTools、GROMACS、Python、Conda 等场景都比较友好。
WSL2 的本质:
可以把它理解为:
Windows 里嵌入了一个 Linux 子系统环境。
它并不是传统意义上“完整显示 Linux 桌面”的安装方式,而更像是:
- Linux 通过终端方式嵌入在 Windows 中;
(2)VMware 虚拟机
VMware 的原理,是在 Windows 中再“虚拟”出一台电脑,然后在这台虚拟电脑里安装 Linux 系统。
你可以把它理解为:
Windows 电脑里面,再开了一台 Linux 电脑。
VMware 的特点:
VMware 的不足:
(3)双系统
双系统的意思是:在同一台电脑里同时安装Windows和Linux两套操作系统,开机时自己选择进入哪一套系统。
也就是说:
- 想办公、写文档、日常娱乐时,进入 Windows;
- 想进行科研计算、编译安装、运行大型软件时,进入 Linux。
双系统的特点:
- 更适合 CUDA、MPI、GPU 加速、高性能计算;
双系统的不足:
四、这些载体安装出来后,长什么样子
很多朋友第一次接触 Linux 载体时,会有一个特别现实的问题:
“你说了 WSL2、VMware、双系统,那它们安装完以后到底长什么样?”
这个问题其实非常重要,因为很多新手会误以为:
实际上,这三种载体安装完成后的表现形式完全不同。
(1)WSL2 安装出来长什么样
WSL2 安装完成后,最直观的表现通常就是一个黑色命令行窗口。
比如你安装好 Ubuntu 之后,打开它,一般会看到类似这样的界面:
user@DESKTOP-XXXX:/mnt/c/Users/xxx$
这个黑色窗口并不是简单的“命令提示符”,而是一个真正的Linux 终端环境。你以后输入的很多命令,例如:
- conda activate ambertools
都是在这个 Linux 环境里执行的。
也就是说:
WSL2 安装好之后,表面上看像一个黑色框框;
但这个黑色框框背后,实际上承载的是一个可以运行 Linux 软件的子系统环境。
所以很多新手第一次看到 WSL2,会觉得“怎么只是个黑框”,其实那就是 Linux 命令行本身。
当然WSL2 可以额外安装可视化的桌面,只是说默认只有黑色框框而已;额外的可视化桌面会用带远程渲染的Xserver技术,就复杂的多。有需要可以和我说,下面就展示一下WSL2 安装了额外安装可视化的桌面以后的效果:
WSL2 的外观特点总结:
(2)VMware 安装出来长什么样
VMware 和 WSL2 完全不同。
WSL2 更像是“在 Windows 里开一个 Linux 命令行环境”,而 VMware 更像是:
在 Windows 里面,再套一个完整的 Linux 电脑。
安装好 VMware 后,你会先看到VMware 软件本身的壳子界面,也就是 VMware Workstation 的管理窗口。然后你在这个壳子里面启动 Ubuntu、CentOS 或其他 Linux 系统。
启动之后,你通常看到的是:
所以 VMware 很好理解:
VMware 本身是外层的壳子;
Linux 系统是被这个壳子包裹起来运行的完整操作系统。
你可以把它理解为:
- VMware 是你在 Windows 里开的一个“虚拟电脑窗口”;
VMware 的外观特点总结:
| |
| |
| VMware 窗口里运行完整 Linux 系统 |
| 有,通常是完整桌面环境 |
| Windows 中虚拟出一台 Linux 电脑 |
(3)双系统安装出来长什么样
双系统和前两者又不一样。
WSL2 和 VMware 都还是在Windows 系统内部运行的;但双系统不是。
双系统安装完成后,最明显的变化是:
开机的时候,会先出现一个系统选择界面。
比如:
也就是说,双系统并不是“在 Windows 里面打开 Linux”,而是:
- 选 Linux,就直接进入完整 Linux 系统。
因此,双系统安装出来后的表现一般有两个层面:
第一层:开机选择界面
开机时会看到系统引导菜单,供你选择要进入的系统。
第二层:进入后的完整系统桌面
只要你选了 Linux,那么接下来看到的就是真正完整的 Linux 系统桌面,而不是 Windows 里的一个窗口,也不是一个简单黑框。
所以双系统可以理解为:
不是 Windows 包着 Linux;
也不是 Windows 里再开一个 Linux;
而是这台电脑本身同时安装了 Windows 和 Linux,两套系统并列存在。
双系统的外观特点总结:
| |
| 电脑本机原生安装,独立于windows |
| 开机先选系统,进入后是完整 Linux 桌面 |
| 有 |
| 一台电脑安装两套独立系统 |
五、三种载体“看起来”的区别
为了方便理解,可以把三种方式直接这样区分:
| | |
| | Windows 里嵌入了一个 Linux 终端环境 |
| VMware 软件窗口中运行完整 Linux 桌面 | Windows 里再开了一台 Linux 虚拟电脑 |
| | |
如果用最简单的话来总结:
WSL2:看起来最像“黑框命令行”;VMware:看起来最像“窗口里的 Linux 电脑”;双系统:看起来最像“真正单独安装的 Linux 系统”。
所以很多新手第一次装好 WSL2 后,会误以为自己只是打开了一个终端,没有装成功。其实不是,那整个黑色终端背后,就是 Linux 环境本身。
六、如何选择适合自己的载体
因为篇幅原因,还请大家移步《如何选择适合自己的载体》查看!
七、与我联系——解决任意系统安装、环境问题
了解清楚了Gromacs安装之前的这些知识以后,如果嫌弃麻烦需要远程安装的友友可以联系!PC端电脑通过点击PC端分子对接软件合集——“能看到某宝对应的分子对接软件商品!!!。手机淘宝通过:点击手淘分子对接软件合集“——能看到某宝对应的分子对接软件商品!!!
如果嫌麻烦需要协助的可以直接留言,需要转发的友友请注明原创出处哦!!!