大多数人都知道,在 Microsoft Store 中,Ubuntu 的三个版本。这意味着在 Windows 上我可以模拟 Ubuntu 并直接在 Windows 上使用 Ubuntu 命令行。
问题很简单:在 Windows 中模拟的 Ubuntu 命令行上,哪些操作是我不能做的,而在基于 Linux 的 Ubuntu 上却可以做到?下载这个 Ubuntu 应用程序、安装它,然后只使用它而不是使用真正的操作系统,这有用吗?是否可以安装所有开发库?我可以编写(或不编写)设备驱动程序吗?换句话说:限制是什么?
基于 Ubuntu Linux 的 Ubuntu 缺少哪些功能?
欢迎新的答案:我知道每个软件都在通过改进特性和功能而不断改变!
答案1
在 Windows 10 Subsystem for Linux 下运行的 Ubuntu 不是一个完整的发行版。事实上,它根本不是 Linux——它没有 Linux 内核。因此,您无法测试或尝试内核扩展(包括驱动程序),因为你没有运行 Linux。
如果你想做这样的事情,要么在虚拟机中安装 Ubuntu——Win10 包含 Hyper-V,但我个人更喜欢免费的 VirtualBox——要么在裸机上运行 Ubuntu,双启动你的机器。你几乎肯定会发现后者比运行 Windows 更快——我在我的所有机器上都是这样。部分原因是运行 Windows 时需要防病毒保护,这会降低性能,尤其是磁盘性能。而由于你需要它,Win10 包含内置防病毒软件。
使用 Linux,您不需要任何功能,因此对性能的影响较小。
答案2
上述每个答案都有很多有用的信息。我在这里总结了每个答案的主要概念。
2020 年 4 月更新:使用 WSL 的优点和缺点是这里解释。很明显,拥有真正的 Linux 内核是一种优势!此外,这里有一个指南可帮助您在 Windows 10 上安装 WSL 2。如果您已经安装了 WSL 1 并且想要升级到 WSL 2,这里您可以找到操作说明。
2019 年 8 月更新: 新的WSL 2被释放(读这里了解更多信息)。看来您可以使用真正的 Linux 内核和 Linux 文件系统。老实说,到目前为止我还没有尝试过新版本(它在我的 TODO 列表中)。
2019 年 5 月更新:正如最近的一个答案所指出的那样,WSL 正在通过使用真正的 Linux 内核并给出更多选项而不断发展。我经历过这个文件如果得到证实,这将是向前迈出的一大步。这里你可以找到一篇关于“W10 上真正的 Linux 内核”的精彩文章
答案 2018 年 7 月 总结: 正如其中一条评论所指出的,“Windows 上的 Ubuntu 是在 Linux 兼容模式下的 Windows 内核上的完整 Ubuntu 用户空间”。
我不能做的事:
- 官方称,目前不支持任何图形界面。这也意味着无法执行图形应用程序。此外,出于这个原因,经典 Ubuntu Linux 的标准 GUI 当然不受支持。
- Linus 开发的 Linux 内核不属于 Windows Subsystem for Linux (WSL)。这意味着您无法开发驱动程序并直接试用。
- 并非每个命令行都有效。
我可以做什么:
- 使用命令行和基本的 Bash shell。可以编写和执行脚本。
- 开发应用程序(编译或交叉编译并执行它们)但目前还没有图形。
- 使用“apt-get”来安装/删除新的/旧的数据包。
附加信息:
答案3
在 Windows 的 Linux 子系统 (WSL) 下无法轻松完成的事情之一是运行 Linux GUI 应用程序。
为此,您必须安装不受支持的 X11 服务器,例如 VcXsrv 或 Xming。
启用 WSL 相对简单。作为 Linux 命令行用户空间,它似乎相当不错。
答案4
截至 2019 年 5 月,WSL 2 正在开发中。
文件系统性能显著提升以及完整的系统调用兼容性,这意味着您可以在 WSL 2 中运行更多 Linux 应用程序,例如 Docker。
...
WSL 2 采用了一种全新的架构,它使用真正的Linux内核。
...
WSL 2 的初始版本将于 2019 年 6 月底通过 Windows 预览体验计划推出。
(重点是我的)