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

重新登录成功:

相关推荐
hjjdebug40 分钟前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯40 分钟前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流41 分钟前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
写bug的小屁孩43 分钟前
前后端交互接口(三)
运维·服务器·数据库·windows·用户界面·qt6.3
斑布斑布44 分钟前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg1 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全
✿ ༺ ོIT技术༻1 小时前
Linux:认识文件系统
linux·运维·服务器
会掉头发1 小时前
Linux进程通信之共享内存
linux·运维·共享内存·进程通信
我言秋日胜春朝★1 小时前
【Linux】冯诺依曼体系、再谈操作系统
linux·运维·服务器