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

推荐订阅源

V
Visual Studio Blog
罗磊的独立博客
小众软件
小众软件
T
Tailwind CSS Blog
宝玉的分享
宝玉的分享
博客园_首页
N
Netflix TechBlog - Medium
B
Blog
Recent Announcements
Recent Announcements
Y
Y Combinator Blog
Blog — PlanetScale
Blog — PlanetScale
L
LangChain Blog
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Stack Overflow Blog
Stack Overflow Blog
C
Check Point Blog
Last Week in AI
Last Week in AI
Jina AI
Jina AI
V
V2EX
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
博客园 - 【当耐特】

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,之后再重启子系统,问题解决;