在 Windows 10 中安装 Ubuntu 子系统(Windows Subsystem for Linux,简称 WSL)有几个主要的用途和好处:Linux 环境的支持、跨平台开发、命令行工具、测试和验证、教育用途。总体而言,WSL 提供了一种将 Windows 和 Linux 生态系统融合在一起的方式,为用户提供更灵活和多样化的开发和使用体验。本文将是系列文章的第一篇。
打开powershell操作,操作完成后重启一下电脑。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
dism.exe
是 Windows 操作系统中的一个命令行工具,全称为 Deployment Image Service and Management Tool。它主要用于管理 Windows 镜像、安装、卸载和配置 Windows 功能,以及修复 Windows 映像。
具体来说,dism.exe
提供了一组功能,允许用户执行以下操作:
部署和管理 Windows 映像: 允许用户操作 Windows 映像,包括安装、卸载、配置 Windows 功能和驱动程序。
修复 Windows 映像: 可以用于修复受损的 Windows 映像,包括修复损坏的系统文件。
安装、卸载、启用或禁用 Windows 功能: 允许用户在 Windows 中启用或禁用各种功能。
执行系统准备 (Sysprep) 操作: 用于准备 Windows 安装以进行捕获、克隆或分发。
在先前提到的两个命令中,dism.exe
被用于启用 WSL 2 相关功能,这是 Windows Subsystem for Linux (WSL) 的一部分。
上述第一个命令用于启用 Windows Subsystem for Linux (WSL) 相关的功能。它是 WSL 1 的启用命令。 /all
选项表示启用所有相关的功能,/norestart
选项表示在完成操作后不重新启动计算机。
上述第二个命令用于启用 Windows 上的虚拟机平台功能,这是 WSL 2 所需的。同样,/all
表示启用所有相关的功能,/norestart
表示在完成操作后不重新启动计算机。
这两个命令通常是配置 WSL 2 所需的预备步骤。在执行完这两个命令后,需要运行 wsl --set-default-version 2
将 Linux 发行版设置为使用 WSL 2。
打开powershell操作,操作完成后重启一下电脑。
wsl --install
此命令将启用运行 WSL 并安装 Linux 的 Ubuntu 发行版所需的功能。
如果你想要安装指定版本的 Ubuntu,可以按照以下步骤操作:
打开 Microsoft Store: 在开始菜单中找到 "Microsoft Store" 应用,打开它。
搜索 Ubuntu: 在 Microsoft Store 中搜索 "Ubuntu"。
选择 Ubuntu 版本: 在搜索结果中,你可能会看到多个不同版本的 Ubuntu。选择你想要安装的版本,例如 "Ubuntu 20.04 LTS"。
点击安装: 进入 Ubuntu 版本的页面后,点击 "安装" 按钮。
等待安装完成: Microsoft Store 将自动下载并安装所选版本的 Ubuntu。安装完成后,你可以点击 "启动" 启动 Ubuntu。
设置用户名和密码: 第一次启动 Ubuntu 时,系统会要求你设置一个新的用户名和密码。
安装完成后,你可以使用 wsl
命令来启动已安装的 Ubuntu 子系统。例如,如果你安装了 Ubuntu 20.04,可以在命令提示符或 PowerShell 中运行以下命令启动:
wsl -d Ubuntu-20.04
请注意,"Ubuntu-20.04" 是示例名称,实际上你需要使用你安装的 Ubuntu 版本的正确名称。可以使用 wsl -l
命令列出已安装的子系统的名称。
sudo apt update
sudo apt install openssh-server
sudo service ssh start
sudo service ssh status
看到以下状态说明ssh服务已经运行了。
写到这里相信读者已经了解我的意图,那就是如何外部访问子系统甚至挂载该子系统。
首先,我们执行指令ifconfig查看一下子系统的IP:
然后在当前Win10上直接通过cmd指令直接ssh进去子系统:
接着我们去局域网上的一台Linux登录该子系统,发现ping不通也无法登录:
?
要解决上述问题,可以通过桥接的模式实现。
如下图,将网桥IP设置为192.168.1.30,与局域网同网段。
查看我们的Ubuntu子系统版本(不同版本设置IP的方式不一样):
lsb_release -a
对于22.04版本,需要这样设置子系统IP:
sudo nano /etc/netplan/00-installer-config.yaml
写入静态IP信息:
network:
ethernets:
eth0:
dhcp4: no
addresses: [192.168.1.66/24]
gateway4: 192.168.1.255
version: 2
(备注:nano保存退出命令是Ctrl + O和Ctrl + X,必要时需要回车)
应用网卡设置:
sudo netplan apply
重新登录成功: