linux - 如何在 Windows 10 下自动设置和配置适用于 Linux 的 Windows 子系统?

标签 linux windows automation windows-subsystem-for-linux

当我在 Windows 10 上设置 WSL 时,它需要我手动配置它:

https://msdn.microsoft.com/en-us/commandline/wsl/install_guide

这不适用于自动化。有没有一种方法可以安装和配置它,使其不需要手动设置?

最佳答案

虽然 MSDN 文档指的是一个交互式过程,但您可以执行一些 cmdlet 和命令,无需手动干预即可进入工作状态。

以下信息假定您从 PowerShell 的现代实例运行,并将以管理员身份在该环境中执行。


Enable Developer Mode. This provides you the option and availability to install the Windows Subsystem for Linux (feature).

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock"/t REG_DWORD /f /v "AllowDevelopmentWithoutDevLicense" /d "1"

完成此操作后,您可以在“更新和安全”设置的“面向开发人员”部分看到开发人员模式现在已打开。

developer mode on

Install the Windows Subsystem for Linux (Beta) feature, and suppress the reboot prompt.

Enable-WindowsOptionalFeature `
    -Online `
    -NoRestart `
    -FeatureName Microsoft-Windows-Subsystem-Linux

可以选择在 Windows 功能中观察到适用于 Linux 的 Windows 子系统(测试版)现在可用。

wsl feature now available

不幸的是,似乎无法在不重新启动的情况下使用该环境。我们调用的二进制文件甚至还没有出现在 system32 中。

Reboot the machine

Restart-Computer -Force

请注意,-Force 不会等待程序结束并正常终止。我将它放在这里是为了防止不守规矩的进程挂起重启过程的情况。

Extract and prep the WSL environment

& lxrun /install /y

WSL extracting environment

& 通过 cmd.exe 执行命令,因为 lxrun 不是 PowerShell cmdlet,而是可执行文件。 lxrun/install 提取你的新 Linux 文件系统,/y 不需要创建用户或密码,这让你拥有无密码的 root.

using WSL environment


压缩:

reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock"/t REG_DWORD /f /v "AllowDevelopmentWithoutDevLicense" /d "1"

Enable-WindowsOptionalFeature `
    -Online `
    -NoRestart `
    -FeatureName Microsoft-Windows-Subsystem-Linux

Restart-Computer -Force

# once your machine is back up... execute:

& lxrun /install /y

其他资源 Material :

关于linux - 如何在 Windows 10 下自动设置和配置适用于 Linux 的 Windows 子系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44442584/

相关文章:

linux - 服务器权限问题,我不能再在wordpress中上传文件

windows - 在 Windows 上使用 Git 添加符号链接(symbolic link)文件作为文件

java - 如何点击 Span 类元素

java - 如何自动化 Android 6.0 日期选择器来设置任何日期?

windows - 批处理 for 循环不迭代超过第一个条目

automation - 如何强制 Composer 自动忽略警告?

Java内存之谜(我有泄漏)?

c# - 如何在linux服务器上使用c#上传asp.net开发的网站

linux - zcat 文件不适用于 gzip 文件

windows - 批处理可读性而不影响变量的执行