Win10子系统Ubuntu实战(一)

在 Windows 10 中安装 Ubuntu 子系统(Windows Subsystem for Linux,简称 WSL)有几个主要的用途和好处:Linux 环境的支持、 跨平台开发、 命令行工具、 测试和验证、 **教育用途。**总体而言,WSL 提供了一种将 Windows 和 Linux 生态系统融合在一起的方式,为用户提供更灵活和多样化的开发和使用体验。本文将是系列文章的第一篇。

一、安装WSL

1、命令行安装

打开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

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。

二、安装Ubuntu子系统

1、环境配置

打开powershell操作,操作完成后重启一下电脑。

复制代码
wsl --install

此命令将启用运行 WSL 并安装 Linux 的 Ubuntu 发行版所需的功能。

2、安装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 命令列出已安装的子系统的名称。

三、给Ubuntu安装ssh

1、登录Ubuntu执行命令

复制代码
sudo apt update
sudo apt install openssh-server
sudo service ssh start
sudo service ssh status

看到以下状态说明ssh服务已经运行了。

2、如何ssh登录子系统?

写到这里相信读者已经了解我的意图,那就是如何外部访问子系统甚至挂载该子系统。

首先,我们执行指令ifconfig查看一下子系统的IP:

然后在当前Win10上直接通过cmd指令直接ssh进去子系统:

接着我们去局域网上的一台Linux登录该子系统,发现ping不通也无法登录:

3、桥接网络

要解决上述问题,可以通过桥接的模式实现。

如下图,将网桥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

重新登录成功:

相关推荐
眠修1 小时前
Kuberrnetes 服务发布
linux·运维·服务器
fzyz1233 小时前
Windows系统下WSL从C盘迁移方案
人工智能·windows·深度学习·wsl
即将头秃的程序媛4 小时前
centos 7.9安装tomcat,并实现开机自启
linux·运维·centos
fangeqin4 小时前
ubuntu源码安装python3.13遇到Could not build the ssl module!解决方法
linux·python·ubuntu·openssl
csdn_aspnet5 小时前
在 Windows 机器上安装和配置 RabbitMQ
windows·rabbitmq
csdn_aspnet6 小时前
Windows Server 上的 RabbitMQ 安装和配置
windows·rabbitmq
爱奥尼欧6 小时前
【Linux 系统】基础IO——Linux中对文件的理解
linux·服务器·microsoft
超喜欢下雨天6 小时前
服务器安装 ros2时遇到底层库依赖冲突的问题
linux·运维·服务器·ros2
tan77º7 小时前
【Linux网络编程】网络基础
linux·服务器·网络
风口上的吱吱鼠7 小时前
Armbian 25.5.1 Noble Gnome 开启远程桌面功能
服务器·ubuntu·armbian