如果我们有Windows 10或11,并且使用WSL ()和发行版(如Ubuntu ),那么我们是否会使用与创建可引导Linux PC相同的二进制文件呢?
例如,当我们使用WSL Bash或Zsh命令提示符时,如果我们安装:
如果我们创建了一个可引导的Linux驱动器或USB驱动器并从那里启动,它是否使用相同的二进制文件?
实际上,Ruby/gcc/cc可能不是一个问题,但是对于Linux驱动程序,这不是与Windows本地GPU驱动程序发生冲突吗?
发布于 2021-12-13 13:11:02
嗯,是和不是(因为你问了几种不同类型的二进制文件)。
是的,假设您使用的是x64 Linux系统,两个系统之间的二进制文件是相同的。实际上,您可以直接从物理Linux机器中取出一个驱动器,或者:
chroot进入该驱动器上的文件系统(以及这个已经完成了)。在这些任务中,没有对二进制文件进行“转换”或更改。
注意,在以这种方式引导WSL2时,您正在从原始发行版运行大多数二进制文件。但是,实际的内核和init是由WSL2提供的,因此它可以引导Windows集成(例如运行Windows .exe's、网络集成和更多)。
值得注意的是,Systemd不会自动启动。解决办法在WSL2下支持Systemd,但是它需要运行引导后,以便WSL的init可以首先完成它的工作。
另一方面,期望直接访问物理硬件的二进制驱动程序通常无法工作,除非WSL提供了一个虚拟的等效程序。WSL2正在虚拟环境中运行。但也有一些例外..。
但是,可以通过USB/IP (从Windows)共享USB设备并在WSL/Linux中连接到它们,从而直接访问Windows中的USB设备。对于这些设备,二进制驱动程序可以工作。
最近的WSL2内核版本包含了USB/IP支持,但即使在此之前,也可以在启用该功能的情况下构建自己的内核。
最近的WSL2版本(Windows11和Windows1021H2)提供了将Windows驱动程序用于WSL2 GPU计算任务的能力。这允许利用GPU计算体系结构(例如TensorFlow)的Linux二进制文件利用Windows。
我不能和密码挖掘打交道(而且我怀疑微软是否会推动这一点),但我希望现在也可以在这些二进制文件中使用这种架构。
发布于 2021-12-13 07:54:06
不是的。WSL只是微软对Linux的解释,与独立的Linux没有相同的硬件访问权限。
https://unix.stackexchange.com/questions/681216
复制相似问题