惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
H
Help Net Security
V
Visual Studio Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
The Cloudflare Blog
Martin Fowler
Martin Fowler
D
Docker
腾讯CDC
F
Fortinet All Blogs
雷峰网
雷峰网
GbyAI
GbyAI
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - 叶小钗

CAYZLH

Reasonix 开箱:聊聊我装的那些 Skill 收藏一份自驾中国的愿望清单 白夜行·谢幕 英雄联盟的昨日今天与符文大乱斗 折腾的尽头是极简 一个 `data.` 引发的血案——Redis 连接 localhost 问题排查全记录 MacBook上备忘录APP的快捷键和手势 让Google屏蔽某些搜索结果 typora自动上传图片配置 自建giscus服务 Windows下结束指定端口的进程 批量修改maven多模块版本号 使用winsw部署SpringBoot项目 Gson简易指南 docker搭建Consul集群 使用Docker部署SpringBoot项目 Docker使用redis镜像 Docker使用rabbitmq Docker使用zookeeper Docker使用MySQL Dockerfile常用指令 Docker免sudo操作 雷鸟电视去广告 使用ADB卸载MIUI系统应用 利用GitHub做图床 将网站变成灰色 Github上传大文件 Android远程调试命令adb vscode快捷键的使用 SpringBoot文件上传异常处理
WSL自定义安装Ubuntu
Ant丶 · 2024-06-16 · via CAYZLH

WSL

WSL提供了一个微软开发的Linux兼容内核接口(不包含Linux代码),来自Ubuntu的用户模式二进制文件在其上运行。

该子系统不能运行所有Linux软件,例如那些图形用户界面,以及那些需要未实现的Linux内核服务的软件。不过,这可以用在外部X服务器上运行的图形X Window系统缓解。

此子系统起源于命运多舛的Astoria项目,其目的是允许Android应用运行在[Windows 10](https://baike.baidu.com/item/Windows 10/6877791?fromModule=lemma_inlink) Mobile上。此功能组件从Windows 10 Insider Preview build 14316开始可用。

2022年9月 22日,微软发布了 [Windows 11](https://baike.baidu.com/item/Windows 11/57321047?fromModule=lemma_inlink)/10 的 Linux 子系统新预览版,微软宣布从该版本开始,WSL 已支持 systemd

具体安装过程

启用Linux子系统的功能

首先,需要在Windows Server或Win11(Win10)上,启用WSL功能:

  • 打开PowerShell作为管理员。

  • 执行以下命令启用适用于Linux的Windows子系统特性:

    Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  • 重启电脑

下载WSL格式的Ubuntu系统镜像

方式一

Microsoft Store下载并安装Ubuntu 16.04 LTS或更高版本。至此,在微软商店里安装Ubuntu操作系统就全部完成了。

但是由于本人电脑上经常连不上Microsoft Store服务,处于不可用状态,使用方式二进行安装

方式二

从Ubuntu官网下载WSL系统:

Ubuntu官网WSL的下载地址:https://cloud-images.ubuntu.com/wsl/

进入后,找到结果为wsl.rootfs.tar.gz的文件,根据自己的需要选择一个版本并下载下来。

image-20240619150900437

安装Ubuntu WSL镜像

  • 将下载的wsl.rootfs.tar.gz文件,移动到一个文件夹,例如 C:\Ubuntu\ , 下载的文件是以 -wsl.rootfs.tar.gz结尾的

  • 重命名为ubuntu16.04-wsl.tar.gz (版本号可以根据实际情况调整)

  • Powershell命令,在Windows系统里安装Ubuntu操作系统(导入到Linux子系统)

    Powershell命令格式:

    wsl --import <DistroName> <location to Install> <location of wsl.rootfs.tar.gz File>

    比如,安装到C盘的 C:\Ubuntu\ubuntu16.04目录:

    wsl --import Ubuntu16.04 C:\Ubuntu\16.04  C:\Ubuntu\ubuntu16.04-wsl.tar.gz

    安装大概需要半分钟到1分钟,当PowerShell换了新的一行,说明import安装完成了。

  • 安装完成后, 使用wsl -l命令检查最新的子系统:

    wsl -l

    image-20240619151611544

安装完成

需要手动启动Ubuntu子系统,由于没有从Microsoft Store安装此应用程序,因此在“开始”菜单中没有创建应用程序快捷方式。所以,你需要手动启动它;

// 手动启动命令 
wsl -d Ubuntu16.04

如果有安装 **Windows terminal**终端的话, 子系统也会被直接加载到配置里面,打开后可以直接食用:

image-20240619152001403

碰到的问题

刚安装完成的时候,出现了以下问题:

wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。

解决方法

Windows中的C:\Users\<your_username>目录下创建一个.wslconfig文件,然后在文件中写入如下内容:

[experimental]
autoMemoryReclaim=gradual
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

配置后执行wsl --shutdown关闭WSL,之后再重启子系统,问题解决;