第一章:Windows 常用软件的安装
1.1 概述
- 在
Win10/Win11中,可以使用winget、scoop等软件包管理工具,一键安装常用的软件。

1.2 替换 winget 源和 scoop 源
1.2.1 概述
- 默认的 winget 源或 scoop 源很慢,需要替换为国内源。
1.2.2 winget 源替换
- 默认的 winget 源很慢,可以替换为国内源:
# 先删除较慢的官方 winget 源
winget source remove winget
# 将中科大的镜像源添加进去,并取名为 winget
winget source add winget https://mirrors.ustc.edu.cn/winget-source --trust-level trusted
# 刷新并检查
winget source update
winget source list2
3
4
5
6
7
提醒
- ① 修改 WinGet 软件源需要管理员权限,请以管理员身份运行终端。对于 启用 sudo 的 Windows 11 用户,也可以使用
sudo进行提权。 - ② 重置为官方地址,可以使用如下的命令:
winget source reset winget- 示例:
winget source remove winget
winget source add winget https://mirrors.ustc.edu.cn/winget-source --trust-level trusted
winget source update
winget source list2
3
4

1.2.3 Scoop 源替换
- 默认的 scoop 源很慢,可以替换为国内源:
# 先删除较慢的官方 scoop 源
scoop bucket rm main
scoop bucket rm extras
scoop bucket rm versions
scoop bucket rm nerd-fonts
scoop bucket rm nonportable
scoop bucket rm nirsoft
scoop bucket rm java
# 替换为国内镜像源
scoop bucket add main https://mirror.nju.edu.cn/git/scoop-main.git
scoop bucket add extras https://mirror.nju.edu.cn/git/scoop-extras.git
scoop bucket add versions https://mirror.nju.edu.cn/git/scoop-versions.git
scoop bucket add nerd-fonts https://mirror.nju.edu.cn/git/scoop-nerd-fonts.git
scoop bucket add nonportable https://mirror.nju.edu.cn/git/scoop-nonportable.git
scoop bucket add nirsoft https://mirror.nju.edu.cn/git/scoop-nirsoft.git
scoop bucket add java https://mirror.nju.edu.cn/git/scoop-java.git
# 刷新测试
scoop update2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
提醒
- ① 可以使用如下的命令,切换 scoop 核心源:
scoop config scoop_repo https://mirror.nju.edu.cn/git/scoop.git- ② 从国内源恢复至官方源:
scoop bucket rm main
scoop bucket rm extras
scoop bucket rm versions
scoop bucket rm nerd-fonts
scoop bucket rm nonportable
scoop bucket rm nirsoft
scoop bucket rm java
scoop bucket add main
scoop bucket add extras
scoop bucket add versions
scoop bucket add nerd-fonts
scoop bucket add nonportable
scoop bucket add nirsoft
scoop bucket add java2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 示例:
# 先删除较慢的官方 winget 源
scoop bucket rm main
scoop bucket rm extras
scoop bucket rm versions
scoop bucket rm nerd-fonts
scoop bucket rm nonportable
scoop bucket rm nirsoft
scoop bucket rm java
# 替换为国内镜像源
scoop bucket add main https://mirror.nju.edu.cn/git/scoop-main.git
scoop bucket add extras https://mirror.nju.edu.cn/git/scoop-extras.git
scoop bucket add versions https://mirror.nju.edu.cn/git/scoop-versions.git
scoop bucket add nerd-fonts https://mirror.nju.edu.cn/git/scoop-nerd-fonts.git
scoop bucket add nonportable https://mirror.nju.edu.cn/git/scoop-nonportable.git
scoop bucket add nirsoft https://mirror.nju.edu.cn/git/scoop-nirsoft.git
scoop bucket add java https://mirror.nju.edu.cn/git/scoop-java.git
# 刷新测试
scoop update2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

1.3 日常应用安装
1.3.1 概述
- 这类软件主要用于日常办公、娱乐、系统维护、硬件管理以及基础的网络和文件处理。
1.3.2 浏览器&网络代理
- 格式:
# 浏览器
winget install --id Google.Chrome -e
winget install --id Brave.Brave -e
winget install --id Mozilla.Firefox -e
# 网络代理
winget install --id ClashVergeRev.ClashVergeRev -e
winget install --id chen08209.FlClash -e2
3
4
5
6
7
- 示例:安装浏览器
winget install --id Google.Chrome -e
winget install --id Brave.Brave -e
winget install --id Mozilla.Firefox -e2
3

- 示例:安装网络代理
winget install --id ClashVergeRev.ClashVergeRev -e
winget install --id chen08209.FlClash -e2

1.3.3 办公&笔记
- 格式:
# 办公软件
winget install --id Microsoft.Office --source winget --interactive -e
winget install --id Kingsoft.WPSOffice.CN --source winget -e
# 笔记软件
winget install --id appmakes.Typora -e
winget install --id Kuingsmile.PicList -e
winget install --id Obsidian.Obsidian -e
# 截图工具
winget install --id Dangbei.XiaowangScreenshot -e
winget install --id PixPin.PixPin -e2
3
4
5
6
7
8
9
10
11
12
- 示例:安装办公软件
winget install --id Kingsoft.WPSOffice.CN --source winget -e
- 示例:安装笔记软件
winget install --id appmakes.Typora -e
winget install --id Kuingsmile.PicList -e
winget install --id Obsidian.Obsidian -e2
3

- 示例:安装截图工具
winget install --id Dangbei.XiaowangScreenshot -e
winget install --id PixPin.PixPin -e2

1.3.4 网盘&下载工具
- 格式:
# 网盘
winget install --id Baidu.BaiduNetdisk -e
# 下载工具
winget install --id JavadMotallebi.NeatDownloadManager -e # 需配合对应浏览器插件
scoop bucket add fluxdown https://github.com/zerx-lab/FluxDown
scoop install fluxdown/fluxdown # 需配合对应浏览器插件2
3
4
5
6
7
- 示例:安装网盘
winget install --id Baidu.BaiduNetdisk -e
- 示例:安装下载工具
winget install --id JavadMotallebi.NeatDownloadManager -e
- 示例:安装下载工具
scoop bucket add fluxdown https://github.com/zerx-lab/FluxDown
scoop install fluxdown/fluxdown2

1.3.5 远程控制
- 格式:
winget install --id NetEase.UURemote -e- 示例:
winget install --id NetEase.UURemote -e
1.3.6 视频播放器
- 格式:
winget install --id Daum.PotPlayer -e
winget install --id Gyan.FFmpeg -e
winget install --id CreativeTechnology.OpenAL -e2
3
- 示例:
winget install --id Daum.PotPlayer -e
winget install --id Gyan.FFmpeg -e
winget install --id CreativeTechnology.OpenAL -e2
3

1.3.7 系统工具
- 格式:
# 自定义 Windows 的实用工具
winget install --id Microsoft.PowerToys -e
# 免费的 Window 桌面搜索工具
winget install --id voidtools.Everything -e
# 桌面搜索工具
winget install --id ghost-him.ZeroLaunch-rs -e
# 压缩软件
winget install --id RARLab.WinRAR -v 7.22.0 --locale zh-Hans -e
winget install --id Giorgiotani.Peazip -e
winget install --id M2Team.NanaZip -e
# Windows 图形化软件包管理器
winget install --id Devolutions.UniGetUI -e
# 输入法
winget install --id Sogou.SogouInput -e2
3
4
5
6
7
8
9
10
11
12
13
14
- 示例:安装 Windows 实用工具(可选)
winget install --id Microsoft.PowerToys -e
- 示例:安装 Windows 搜索工具(推荐)
winget install --id voidtools.Everything -e
winget install --id ghost-him.ZeroLaunch-rs -e2

- 示例:安装压缩软件
winget install --id RARLab.WinRAR -v 7.22.0 --locale zh-Hans -e
winget install --id Giorgiotani.Peazip -e
winget install --id M2Team.NanaZip -e2
3

- 示例:安装 Windows 图形化软件包管理器
winget install --id Devolutions.UniGetUI -e
- 示例:安装输入法
winget install --id Sogou.SogouInput -e
1.4 开发者工具开发
1.4.1 概述
- 这类软件主要用于编写代码、管理服务器、数据库操作、环境配置、容器化、CI/CD 以及网络抓包等开发运维场景。
1.4.2 Git
- 格式:
winget install --id Git.Git --source winget -e- 示例:
winget install --id Git.Git --source winget -e
1.4.3 IDE 或编辑器
- 格式:
# 编辑器
winget install --id Notepad++.Notepad++ -e
winget install --id Microsoft.VisualStudioCode -e --scope machine
winget install --id ByteDance.Trae -e
winget install --id SublimeHQ.SublimeText.4 -e
scoop install vim
# IDE
winget install --id Microsoft.VisualStudio.Enterprise -e
winget install --id JetBrains.IntelliJIDEA -e
winget install --id JetBrains.WebStorm -e
winget install --id JetBrains.CLion -e
winget install --id JetBrains.DataGrip -e
winget install --id JetBrains.DataSpell -e
winget install --id JetBrains.GoLand -e
winget install --id JetBrains.PyCharm -e
winget install --id JetBrains.RustRover -e
# IDE
scoop install idea
scoop install webstorm
scoop install clion
scoop install datagrip
scoop install dataspell
scoop install goland
scoop install pycharm
scoop install rustrover2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
- 示例:安装编辑器
winget install --id Notepad++.Notepad++ -e
winget install --id Microsoft.VisualStudioCode -e --scope machine
winget install --id ByteDance.Trae -e
winget install --id SublimeHQ.SublimeText.4 -e
scoop install vim2
3
4
5

- 示例:安装 VisualStudio
winget install --id Microsoft.VisualStudio.Enterprise -e
- 示例:安装 JetBrains 全家桶
winget install --id JetBrains.IntelliJIDEA -e
winget install --id JetBrains.WebStorm -e2

1.4.4 虚拟化
- 格式:
# 需要开启 CPU 虚拟化
winget install --id Oracle.VirtualBox -e
winget install --id Hashicorp.Vagrant -e2
3
- 示例:
winget install --id Oracle.VirtualBox -e
winget install --id Hashicorp.Vagrant -e2

1.4.5 编程语言环境与工具链
- 格式:
# 安装
scoop install mise2
# 激活
# ① 创建目录
# PowerShell 5.1 用户
if (!(Test-Path "$HOME\Documents\WindowsPowerShell")) {
New-Item -Path "$HOME\Documents\WindowsPowerShell" -ItemType Directory
}
# PowerShell 7+ 用户
if (!(Test-Path "$HOME\Documents\PowerShell")) {
New-Item -Path "$HOME\Documents\PowerShell" -ItemType Directory
}
# ② 写入 mise 初始化命令
# PowerShell 5.1 用户
"`n`$env:MISE_PWSH_CHPWD_WARNING = 0" | Add-Content $PROFILE
'(&mise activate pwsh) | Out-String | Invoke-Expression' | Add-Content -Path "$HOME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"
# PowerShell 7+ 用户
"`n`$env:MISE_PWSH_CHPWD_WARNING = 0" | Add-Content $PROFILE
'(&mise activate pwsh) | Out-String | Invoke-Expression' | Add-Content -Path "$HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"
# ③ 验证配置文件内容
notepad $PROFILE # (&mise activate pwsh) | Out-String | Invoke-Expression
# ④ 重新加载配置
. $PROFILE2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
提醒
诸如 JDK、Go、Rust 等开发工具包都可以通过 mise 进行安装!!!
- 示例:安装 mise
scoop install mise
- 示例:激活 mise
# ① 创建目录
# PowerShell 5.1 用户
if (!(Test-Path "$HOME\Documents\WindowsPowerShell")) {
New-Item -Path "$HOME\Documents\WindowsPowerShell" -ItemType Directory
}
# PowerShell 7+ 用户
if (!(Test-Path "$HOME\Documents\PowerShell")) {
New-Item -Path "$HOME\Documents\PowerShell" -ItemType Directory
}
# ② 写入 mise 初始化命令
# PowerShell 5.1 用户
"`n`$env:MISE_PWSH_CHPWD_WARNING = 0" | Add-Content $PROFILE
'(&mise activate pwsh) | Out-String | Invoke-Expression' | Add-Content -Path "$HOME\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1"
# PowerShell 7+ 用户
"`n`$env:MISE_PWSH_CHPWD_WARNING = 0" | Add-Content $PROFILE
'(&mise activate pwsh) | Out-String | Invoke-Expression' | Add-Content -Path "$HOME\Documents\PowerShell\Microsoft.PowerShell_profile.ps1"
# ③ 验证配置文件内容
notepad $PROFILE # (&mise activate pwsh) | Out-String | Invoke-Expression
# ④ 重新加载配置
. $PROFILE2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

1.4.6 开发辅助与效率工具
- 格式:
# 接口测试工具(UI 界面)
winget install --id Ruihu.Apifox -e
winget install --id Reqable.Reqable -e
winget install --id Apipost.ApiPost -e
winget install --id Laker.EasyPostman -e
# 抓包工具
winget install --id WiresharkFoundation.Wireshark -e
# Java 分析工具
winget install --id ej-technologies.JProfiler.15 -e
# 画图工具
winget install --id JGraph.Draw -e
# Dagger是一个用于自动化软件交付的平台。它可以可靠且大规模地构建、测试和发布任何代码库
winget install --id Dagger.Cli -e
# 远程连接工具
winget install --id JiLuo.Xterminal -e
scoop install tabby2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- 示例:安装接口测试工具(UI 界面)
winget install --id Ruihu.Apifox -e
winget install --id Reqable.Reqable -e
winget install --id Apipost.ApiPost -e
winget install --id Laker.EasyPostman -e2
3
4

- 示例:安装抓包工具
winget install --id WiresharkFoundation.Wireshark -e
- 示例:安装 Java 分析工具
winget install --id ej-technologies.JProfiler.15 -e
- 示例:安装画图工具
winget install --id JGraph.Draw -e
- 示例:安装自动化软件交付的平台
winget install --id Dagger.Cli -e
- 示例:安装远程连接工具
winget install --id JiLuo.Xterminal -e
scoop install tabby2

1.4.7 命令行与终端增强
- 格式:
# 命令行增强工具
winget install --id JanDeDobbeleer.OhMyPosh --source winget -e
winget install --id chrisant996.Clink -e
winget install --id Fastfetch-cli.Fastfetch -e
winget install --id lsd-rs.lsd -e
# 字体
scoop install Meslo-NF
scoop install Meslo-NF-Propo
scoop install Meslo-NF-Mono
scoop install Cascadia-Code
scoop install firacode2
3
4
5
6
7
8
9
10
11
- 示例:安装字体
scoop install Meslo-NF
scoop install Meslo-NF-Propo
scoop install Meslo-NF-Mono
scoop install Cascadia-Code
scoop install firacode2
3
4
5

- 示例:安装命令行增强工具
winget install --id JanDeDobbeleer.OhMyPosh --source winget -e
winget install --id chrisant996.Clink -e
winget install --id Fastfetch-cli.Fastfetch -e
winget install --id lsd-rs.lsd -e2
3
4

第二章:Tabby
2.1 概述
- Tabby 是一款现代化、高度可配置的
跨平台终端工具,其前身叫做 Terminus。

- 其主要作用,如下所示:
| 主要作用 | 描述 |
|---|---|
全能的连接管理 | 它不仅仅是一个本地命令行终端,还内置了强大的 SSH 客户端、串口(Serial)连接和 Telnet 支持。如果需要远程连接服务器或管理网络设备,它是一个非常方便的集成工具。 |
高度可定制化 | Tabby 提供了极其丰富的主题、配色方案和快捷键自定义功能,您可以根据自己的喜好打造个性化的终端界面。 |
跨平台与现代化 UI | 完美支持 Windows 11、macOS 和 Linux,拥有现代化的 UI 设计,支持分屏(Split Panes)、标签页管理以及插件扩展系统。 |
便捷的功能 | 内置了 SFTP 文件传输、ZMODEM 支持、以及保存 SSH 密码/密钥的连接管理器,极大提升了运维和开发效率。 |
2.2 安装
- 格式:
scoop install tabby- 示例:
scoop install tabby
2.3 修改默认配置
- ① 在
设置-->应用中,打开Shell 集成。

- ② 在
设置-->外观-->自定义 CSS中,设置如下的代码,以便隐藏滚动条:
/* 全局隐藏 Tabby 的所有滚动条 */
::-webkit-scrollbar,
::-webkit-scrollbar-button,
::-webkit-scrollbar-thumb,
::-webkit-scrollbar-track,
::-webkit-scrollbar-track-piece {
width: 0 !important;
height: 0 !important;
background: transparent !important;
display: none !important;
}2
3
4
5
6
7
8
9
10
11

- ③
设置-->外观中,设置FiraCode Nerd Font,前提是安装FiraCode字体:
scoop install firacode
- ④ 在
设置-->终端中,关闭启动中的设置。

2.4 安装插件
2.4.1 background
- 在
设置-->插件中,安装background插件,其是用来设置背景图片。
提醒
选择的图片应该是背景透明的 png 格式的图片!!!
- 示例:

2.4.2 config-roam
- 在
设置-->插件中,安装config-roam插件,以便迁移 Tabby 配置。
提醒
此插件支持 s3 协议,所以大部分公有云的 oss 都支持,自建兼容 s3 协议的 oss 也可以!!!
- 示例:

2.4.3 connection-homepage
- 在
设置-->插件中,安装connection-homepage插件,是用来形成连接主页界面。
提醒
此插件可以简化 连接 操作!!!
- 示例:

2.4.4 highlight-pane
- 在
设置-->插件中,安装highlight-pane插件,可以对激活的窗口进行左、右、上、下切分。
提醒
此插件目前只支持 SSH 窗口!!!
- 示例:

2.4.5 sftp-plus
- 在
设置-->插件中,安装sftp-plus插件,其对 Tabby 默认的sftp功能进行增强。
提醒
此插件在 上传 或 下载 的时候,支持拖拽!!!
- 示例:

2.4.6 quick-command-plus
在
设置-->插件中,安装quick-command-plus插件,对命令进行保存,以便下次使用。示例:

2.4.7 search-in-browser
在
设置-->插件中,安装search-in-browser插件,以便对命令等进行浏览器搜索。示例:

2.4.8 server-stats
在
设置-->插件中,安装server-stats插件,以便展示服务器状态,如:CPU 等。示例:

2.4.9 trzsz
在
设置-->插件中,安装trzsz插件,以便支持rz或sz等命令。示例:

2.4.10 docker-console
在
设置-->插件中,安装docker-console插件,以便对容器、镜像等进行快速操作。示例:

第三章:WSL2
3.1 安装
3.1.1 安装 Hyper-V
- Hyper-V 是 Microsoft 内置于 Windows Server 和 Windows 中的企业级虚拟机管理程序技术,其提供硬件虚拟化功能,使组织能够大规模创建、管理和运行虚拟机。
- 作为一级虚拟机监控程序,Hyper-V 直接在计算硬件上运行,为虚拟工作负载提供近乎本地化性能和强大的隔离。
提醒
- ① 系统限制 & 硬件要求:
| 系统限制 & 硬件要求 | 描述 |
|---|---|
| 系统限制 | 仅内置于 Windows 专业版 、 企业版 和 教育版 中,即:如果使用的是 Windows 家庭版,默认是无法直接开启的(需要通过脚本破解或升级系统)。 |
| 硬件要求 | 电脑 CPU 必须支持硬件虚拟化(Intel VT-x 或 AMD-V),且内存建议至少 8GB 以上(因为虚拟机需要共享电脑的实际内存)。 |
- ② 安装完毕之后,可能会提示重启计算机,那就按照提示重启计算机!!!
- 示例:GUI 方式
- 导航到 控制面板, 选择 开始,然后搜索 控制面板 以打开该应用程序。
- 在 控制面板 中,找到并点击 程序和功能 。
- 点击 启用或关闭 Windows 功能 。
- 选择 Hyper-V ,然后选择 确定 。

- 示例:Powershell 方式
# 必须以管理员的身份运行,否则命令将失败
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All2

3.1.2 启用虚拟机功能
- 安装 WSL 2 之前,必须启用
虚拟机平台可选功能。
提醒
安装完毕之后,可能会提示重启计算机,那就按照提示重启计算机!!!
- 示例:GUI 方式
- 导航到 控制面板, 选择 开始,然后搜索 控制面板 以打开该应用程序。
- 在 控制面板 中,找到并点击 程序和功能 。
- 点击 启用或关闭 Windows 功能 。
- 选择 虚拟机平台 ,然后选择 确定 。

- 示例:Powershell 方式
# 必须以管理员的身份运行,否则命令将失败
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart2

3.1.3 启用适用于 Linux 的 Windows 子系统
- 必须先启用
适用于 Linux 的 Windows 子系统可选功能,然后才能在 Windows 上安装任何 Linux 分发版。
提醒
安装完毕之后,可能会提示重启计算机,那就按照提示重启计算机!!!
- 示例:GUI 方式
- 导航到 控制面板, 选择 开始,然后搜索 控制面板 以打开该应用程序。
- 在 控制面板 中,找到并点击 程序和功能 。
- 点击 启用或关闭 Windows 功能 。
- 选择 适用于 Linux 的 Windows 子系统 ,然后选择 确定 。

- 示例:Powershell 方式
# 必须以管理员的身份运行,否则命令将失败
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart2

3.1.4 更新 WSL2 内核
- 格式:
wsl --update- 示例:
wsl --update
3.1.5 将 WSL2 设置为默认版本
- 格式:
wsl --set-default-version 2- 示例:
wsl --set-default-version 2
3.1.5 查询 Linux 发行版
- 格式:
wsl --list --online提醒
Linux 发行版的镜像托管在 GitHub 上,国内可能需要科学上网!!!
- 示例:
wsl --list --online
3.1.6 安装 Linux 发行版
- 格式:
wsl --install AlmaLinux-9
wsl --install AlmaLinux-10
wsl --install Ubuntu-24.04
wsl --install Ubuntu-26.042
3
4
提醒
- ① 根据自己的喜好安装所熟悉的 Linux 发行版!!!
- ② 默认情况下,WSL2 默认的安装位置是 C 盘。
Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object { Get-ItemProperty $_.PSPath } | Select-Object DistributionName, BasePath
- ③ 如果需要安装时指定位置(适用于新安装),可以执行如下命令:
# 创建对应的目录
mkdir -Force "D:\WSL\AlmaLinux-9"
# 安装到指定位置
wsl --install AlmaLinux-9 --location "D:\WSL\AlmaLinux-9"
# 创建对应的目录
mkdir -Force "D:\WSL\AlmaLinux-10"
# 安装到指定位置
wsl --install AlmaLinux-10 --location "D:\WSL\AlmaLinux-10"
# 创建对应的目录
mkdir -Force "D:\WSL\Ubuntu-24.04"
# 安装到指定位置
wsl --install Ubuntu-24.04 --location "D:\WSL\Ubuntu-24.04"
# 创建对应的目录
mkdir -Force "D:\WSL\Ubuntu-26.04"
# 安装到指定位置
wsl --install Ubuntu-26.04 --location "D:\WSL\Ubuntu-26.04"2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- 示例:
wsl --install AlmaLinux-9
wsl --install AlmaLinux-10
wsl --install Ubuntu-24.04
wsl --install Ubuntu-26.042
3
4

3.1.7 查看已安装的 Linux 发行版
- 格式:
wsl --list- 示例:
wsl --list
3.2 配置
3.2.1 将发行版设置为默认值
- 格式:
wsl --set-default <发行版名称>提醒
- ① 默认情况下,会将安装的第一个 Linux 发行版作为默认值。
- ② 我们可以通过上述命令手动更改默认值。
- 示例:
wsl --set-default AlmaLinux-10
3.2.2 运行指定的发行版
- 格式:
wsl --distribution[,-d] <发行版名称>提醒
安装 Linux 发行版之后,Windows 的 Terminal 默认会集成各个发行版的入口!!!
- 示例:
wsl -d AlmaLinux-9
3.2.3 修改 Linux 发行版 root 密码
- 格式:
sudo passwd root提醒
通过之前设置的 普通用户 和 密码 登录到 Linux 中,并执行上述命令修改 root 密码!!!
- 示例:
wsl -d AlmaLinux-9
3.2.4 WSL 中的高级设置
wsl.conf和.wslconfig文件用于在 WSL 中配置高级设置,这些设置将在 WSL VM 启动时应用。wsl.confVS.wslconfig,如下所示:
| 方面 | .wslconfig | wsl.conf |
|---|---|---|
| Scope | 适用于所有 WSL 的常规设置 | 仅限 WSL 分发的设置 |
| 配置 | WSL 中的功能启用、为 WSL 2 提供支持的虚拟机设置(RAM、要启动的内核、CPU 数等) | WSL 中的分发设置,例如启动选项、DrvFs 自动装载、网络、与 Windows 系统的互作性、系统使用情况和默认用户 |
| 位置 | %UserProfile%\.wslconfig ,在 WSL 分发之外 | /etc/wsl.conf ,而在 WSL 分发中 |
提醒
- ①
wsl.conf用于根据 WSL 发行版应用设置;.wslconfig用于将全局设置应用于 WSL。 - ② 可以通过
WSL Settings软件,来修改.wslconfig配置文件。
点我查看细节

- ③ 修改配置文件后,需要使用
wsl --shutdown重启 WSL2 中的 Linux 发行版。
- 示例:修改
.wslconfig文件
cat > ~/.wslconfig <<-'EOF'
[wsl2]
# ==========================================
# 1. 基础性能与硬件资源限制
# ==========================================
# 限制 WSL2 最多能使用的内存大小。防止 Linux 占用过多内存导致 Windows 宿主机卡顿
# (可根据电脑配置调整,例如:16GB 内存建议设为 8GB~12GB)
memory=12GB
# 限制 WSL2 最多能使用的 CPU 核心数。
# 防止 Linux 在满载运行时(如编译代码)让 Windows 彻底卡死
processors=6
# 开启嵌套虚拟化。
# 允许你在 WSL2 内部再运行一层虚拟机,如:在 WSL 里面玩 KVM 或高级 Docker 容器
nestedVirtualization=true
# ==========================================
# 2. 现代高级网络模式(让 WSL 拥有原生网络体验)
# ==========================================
# 开启镜像网络模式。
# 让 WSL2 完全共享 Windows 的网络栈和 IP 地址,解决绝大多数因网络隔离导致的连接问题
networkingMode=mirrored
# 允许 Windows 防火墙规则直接应用到 WSL2 中,大幅增强 Linux 环境的网络安全性
firewall=true
# 开启 DNS 隧道。
# 由 Windows 代理 WSL 的 DNS 请求,彻底解决 Linux 无法解析域名或 DNS 污染的问题
dnsTunneling=true
# 自动同步代理。
# 自动将 Windows 宿主机的系统代理同步给 WSL2,Linux 内部无需再手动配环境变量
autoProxy=true
# 允许 WSL 内部使用 IPv6(需要你本地的宽带和路由器支持 IPv6 才能真正生效)
ipv6=true
# 闲置超时自动关机。
# 当所有 WSL 窗口关闭且没有后台任务时,闲置 1 分钟后整个 WSL 虚拟机会自动彻底关闭
vmIdleTimeout=60000
# ==========================================
# 3. 实验性功能与资源自动回收
# ==========================================
[experimental]
# 自动释放 Linux 缓存内存。
# 当 Linux 内部闲置时,会自动把占用的 RAM 内存归还给 Windows
autoMemoryReclaim=dropCache
# 磁盘自动瘦身。
# 当在 Linux 中删除文件后,Windows 会在后台自动压缩并减小 ext4.vhdx 虚拟硬盘的体积
# (注意:现有子系统需要去运行 wsl --manage <分发版名称> --set-sparse true)
sparseVhd=true
EOF2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59

- 示例:修改
.wsl.conf文件
# 需要进入到 Linux 系统中
# 切换为 root 用户
su - root
# 修改 .wsl.conf 文件
cat > /etc/wsl.conf <<-'EOF'
[boot]
systemd=true
[user]
default=root
[network]
generateResolvConf=true
EOF2
3
4
5
6
7
8
9
10
11
12
13
14

3.2.5 硬盘自动瘦身
- 现有 WSL2 子系统,
.wslconfig中的sparseVhd=true是不起效的,可以通过如下命令开启硬盘自动瘦身:
wsl --manage <分发版名称> --set-sparse true提醒
- ① 可以通过如下命令,查看是否启用硬盘自动瘦身:
Get-ChildItem -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" | ForEach-Object {
$item = Get-ItemProperty $_.PSPath
if ($item.DistributionName) {
$basePath = $item.BasePath
# 寻找该目录下的所有 vhdx 文件
Get-ChildItem -Path $basePath -Filter "*.vhdx" -ErrorAction SilentlyContinue | ForEach-Object {
Write-Host "--- 发行版:$($item.DistributionName) ($($item.DistributionName) 对应的磁盘) ---"
Write-Host "路径:$_.FullName"
fsutil sparse queryflag $_.FullName
Write-Host "--------------------------------------------------------"
}
}
}2
3
4
5
6
7
8
9
10
11
12
13

- ② 修改完毕后,需要使用
wsl --shutdown重启 WSL2 中的 Linux 发行版。
- 示例:
wsl --manage AlmaLinux-9 --set-sparse true
wsl --manage Ubuntu-26.04 --set-sparse true
wsl --manage AlmaLinux-10 --set-sparse true
wsl --manage Ubuntu-24.04 --set-sparse true2
3
4

3.3 迁移已安装发行版
3.3.1 使用命令行直接移动
3.3.1.1 列出已安装发行版
- 格式:
wsl --list --all -v- 示例:
wsl --list --all -v
3.3.1.2 关闭所有 WSL 实例
- 格式:
wsl --shutdown- 示例:
wsl --list --all -v
3.3.1.3 执行迁移命令
- 格式:
wsl --manage <发行版名称> --move <目标路径> [...]提醒
选项:
--move <Location>:将发行版迁移到新位置。--set-sparse, -s <true|false>:将发行版的 VHD 设置为稀疏,从而允许自动回收磁盘空间。--set-default-user <username>:设置发行版的默认用户。--resize <MemoryString>:将发行版的磁盘大小调整为指定大小。
提醒
点我查看迁回官方默认路径
# 1. 同样先关闭 WSL 保证数据安全
wsl --shutdown
# 2. 直接将目标路径指回 C 盘的默认 wsl 目录
# --move "C:\Users\<用户名>\AppData\Local\wsl"
$uuid = [guid]::NewGuid().ToString(); # 生成 uuid
wsl --manage AlmaLinux-10 --move "$env:LOCALAPPDATA\wsl\{$uuid}"2
3
4
5
6
- 示例:
wsl --manage AlmaLinux-10 --move D:\WSL\AlmaLinux-10
3.3.1.4 验证迁移结果
- 格式:
wsl -d <发行版名称>- 示例:
wsl -d AlmaLinux-10
3.3.2 导出并重新导入
3.3.2.1 导出发行版
- 格式:
wsl --export <发行版名称> D:\Backup\<文件名>.tar [...]提醒
选项:
--format <FORMAT>:指定导出格式。支持的值是tar、tar.gz、tar.xz或vhd。
- 示例:
# 创建目录
mkdir -Force "D:\Backup"
# 导出发行版
wsl --export AlmaLinux-10 D:\Backup\AlmaLinux-10.tar2
3
4

3.3.2.2 注销原发行版
- 格式:
wsl --unregister <发行版名称>- 示例:
wsl --unregister AlmaLinux-10
3.3.2.3 重新导入并安装
- 格式:
wsl --import <发行版> [D:\WSL\<发行版目录>] D:\Backup\<文件名>.tar- 示例:
wsl --import AlmaLinux-10 D:\WSL\AlmaLinux-10 D:\Backup\AlmaLinux-10.tar
3.3.2.4 验证迁移结果
- 格式:
wsl -d <发行版名称>- 示例:
wsl -d AlmaLinux-10
第四章:Docker Desktop
4.1 概述
Docker Desktop是一款专为 Mac、Windows 以及 Linux 环境打造的桌面应用程序。
提醒
- ① 简单来说,Docker 本身是基于 Linux 内核的容器技术。为了让开发者在 Windows 系统上也能流畅地使用 Docker,官方推出了 Docker Desktop。
- ② 它集成了一个图形化管理界面(GUI)以及完整的 Docker 核心工具(Docker Engine、Docker CLI、Docker Compose 等)。
- 在传统开发中,你可能经常遇到“在我的电脑上明明运行得好好的,怎么到你那里就报错了”的窘境,而 Docker 就是为了解决这个问题而生的:
| 特点 | 描述 |
|---|---|
消除环境差异 | 它可以将你的应用程序及其所依赖的环境(如特定的数据库、Node.js 版本、系统配置文件等)打包进一个叫“镜像(Image)”的压缩包中。 无论在谁的电脑或服务器上运行,只要有 Docker,就能一键跑起来,且表现完全一致。 |
轻量级虚拟化 | 与传统虚拟机(如 VMware、VirtualBox)相比,Docker 容器不需要为每个实例运行一个完整的操作系统。 它与宿主机共享内核,因此启动只需几秒钟,占用的 CPU 和内存极少。 |
一键部署复杂环境 | 当我们想在本地装个 MySQL、Redis 或 Nginx,不再需要繁琐地去官网下载、配置环境变量。 只需一条命令(如 docker run ),Docker 就会自动帮你下载并秒级启动。 |
环境隔离 | 不同的项目可以用不同的容器,哪怕一个要用 Python 2.7,另一个要用 Python 3.11,它们在各自的容器里互不干扰,不会搞脏 Windows 主机系统。 |
4.2 安装
- 格式:
winget install --id Docker.DockerDesktop -e提醒
- ① 需要进 BIOS 开启 CPU 虚拟化,可以通过任务管理器来验证是否开启成功。
点我查看细节

- ② 在 Windows 搜索框输入并打开
启用或关闭 Windows 功能,并开启如下的两个选项:- 适用于 Linux 的 Windows 子系统。
- 虚拟机平台。
- 示例:
winget install --id Docker.DockerDesktop -e
4.3 配置
- 国内拉取 Docker 镜像太慢了,可以更改 Docker Engine 的配置,以便加速访问:
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.1panel.live",
"https://docker.m.ixdev.cn",
"https://hub.rat.dev",
"https://docker.xuanyuan.me"
],
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5,
"experimental": false
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
- 示例:
{
"registry-mirrors": [
"https://docker.1ms.run",
"https://docker.1panel.live",
"https://docker.m.ixdev.cn",
"https://hub.rat.dev",
"https://docker.xuanyuan.me"
],
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"log-driver": "json-file",
"log-opts": {
"max-size": "100m",
"max-file": "3"
},
"max-concurrent-downloads": 10,
"max-concurrent-uploads": 5,
"experimental": false
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
