s.d*_*uro 5 hyper-v virtual-machine windows-subsystem-for-linux wsl2
单独设置 WSL2 和用户界面,然后使用 xrdp/RDP 访问它变得非常流行。
它与在 Hyper-V 中创建虚拟机有何不同?
首先我们要注意的是,WSL2 正在虚拟机中运行(而 WSL1 没有)。它利用了 Hyper-V 的一些底层功能,但它不是Hyper -V。然而,由于它们使用相同的虚拟机管理程序,因此它们可以愉快地共存,这与其他一些虚拟机平台不同。
然而,WSL2 并不是像 Hyper-V 那样的虚拟机平台,您可以在其中创建自己的计算机配置。
xrdp
现在回答您的主要问题——访问 WSL2和创建 Hyper-V 虚拟机有什么区别?请注意,以下大部分内容也应适用于 Windows 11 中即将推出的 WSLg 功能:
互操作性:WSL 提供了一些与 Windows 良好的互操作性功能,包括:
当然,您可以在虚拟机和 Windows 之间共享文件,但需要您自己进行设置。然而,据我所知,其他两个功能不容易在虚拟机上复制。
Hyper-V 等 VM 平台使您能够添加和配置虚拟设备(例如 USB、显示器、音频)。使用 WSL,您几乎需要使用这些已配置的设备。例如,WSL 的init
进程(其 PID 1)将使用(默认情况下对您隐藏的)Hyper-V 虚拟 NIC 自动配置网络。您无法轻松添加或更改此网络。
当然,WSL2 上没有“屏幕”。正如您所提到的,访问是通过xrdp
X 服务器进行的。这也意味着没有“控制台”。您启动的每个 WSL 实例都是一个 PTS。
WSL2 中甚至没有“电源开/关”的概念,因此尝试shutdown
不会有任何效果。
PID /init
1 也是一个相当大的差异。由于 WSL 在 init 期间设置其 Interop,因此它使用自己的进程。这意味着默认情况下 Systemd 不是 PID 1,并且您无法使用或期望systemctl
任何相关命令起作用。对于这个问题有一些古怪的解决方法,但您可能最好习惯非 Systemd 的等效方法。例如,sudo systemctl start ssh
它不是 ,而是较旧的 SysVInit 样式sudo service ssh start
。
我不知道您的技能和舒适程度——如果您已经熟悉 Linux,并且在阅读使用 Systemd 的文档时可以自己进行所需的调整,那就太好了。如果不是,那么虚拟机可能是更好的选择,至少在“学习”初期是这样。
归档时间: |
|
查看次数: |
11772 次 |
最近记录: |