Win11 + WSL2 安装美化与开发配置
编辑最近换了台新主机, 原本打算只是将 CPU 换成 AMD 9950X, 奈何主板太旧不支持, 那就顺便整机换了=.=
以前一段时间用的是双系统, 工作学习用Ubuntu Desktop, 娱乐休闲用 Win10, 但重启切换系统还是有成本的, 这次装了 Win11 并且 WSL2(Windows Subsystem for Linux) 也比较成熟了(底层使用的是真正的 Linux 内核, 而不是像 WSL1 那样使用翻译层将 Linux 系统调用转化成 Windows 系统调用), 所以日常学习开发直接可以直接在 WSL2 上进行.
每次重装完系统, 避免不了一大堆的个人偏好配置以及开发环境的搭建, 这里记录下我个人配置的一些东西.
系统安装篇
镜像下载
使用 AMD CPU 建议选择 Win11 24H2 版本, 该版本对 AMD CPU 有性能优化.
镜像安装
安装工具我是用 微PE工具箱 制作 U 盘启动盘, 通过 U 盘启动直接使用里面的安装工具即可.
安装过程中需要注意的点是, 有一步是需要输入微软账号才能继续往下走, 这时候可以拔掉网线, 退回上一步再点下一步就能跳过了.
激活
激活方法有很多种, 比如在某宝购买激活码, 但会有突然失效的风险; 也可以使用 KMS 工具激活, 但时效性只有半年, 每隔半年需要重置一次.
这里有两个 Github 上开源的工具:
https://github.com/massgravel/Microsoft-Activation-Scripts
这个是在线激活的, 可选多种方式激活, 也包括了 Office 套件
驱动安装
建议是装完系统后, 根据主板以及 CPU 厂商, 到对应的官网下载驱动程序安装或更新驱动, 避免出现莫名奇妙的问题, 比如 AMD Zen3及之后的CPU核心切换和资源调度依赖AMD芯片组驱动, 因此必须安装.
具体教程我就不记录了, 挺简单的, 就是找到对应的驱动下载页面然后安装即可.
以微星主板以及 AMD CPU 为例:
微星 MAG X670E TOMAHAWK WIFI 对应的驱动工具: https://www.msi.cn/Motherboard/MAG-X670E-TOMAHAWK-WIFI/support#utility
下载 MSI Center 即可, 里面可以统一管理安装驱动以及一些其他操作主板的工具, 比如灯光风扇这些.
AMD 芯片组驱动: https://www.amd.com/zh-cn/support/download/drivers.html
英伟达驱动, 可以选择 NVIDIA APP 或者 查到对应驱动 进行下载安装
其他
BIOS 更新
一般来说, 没什么大问题建议是不要动 BIOS, 最好就是装机时选择最新的稳定版安装后面就不要动了, 但有些特殊情况, 以 AMD 为例, AMD的新 CPU 依赖新的 AGSA 底层代码, 这些代码可以提升 AMD CPU 的性能和易用性, 比如内存性能和开机速度, 核心延迟等:
注意: 更新 BIOS 时, 需要先将 BIOS 还原到出厂设置, 否则容易变砖头.
内存以及 CPU 超频
现在的内存条一般都是高频的, 比如我使用的芝奇 DDR5 6400MHz, 但是主板的初始配置可能并不会按照这个频率给到这么高, 因为并不是所有的内存条都是高频的, 所以会给到一个保守的配置, 所以这时候需要手动到主板启用 XMP 或者 EXPO, 前者是针对 Intel 的, 后者是 AMD 的, 所以在选购内存条的时候, 注意搭配, 但是有些体质好的内存条, 在 AMD 平台下使用 XMP 依然能够稳定运行.
查看内存超频是否成功可以通过任务管理器, 选择性能 -> 内存查看, 在速度那一栏, 如果看到是配置 XMP 或者 EXPO 的频率, 那就是成功了:
至于 CPU 超频, 个人调研下来还是不推荐, 复杂度大且不稳定, 提升也并不是很高, 出厂预置的睿频就已经够用了, 有兴趣的可以去了解下 PBO 或者 PBO2.
系统设置
个性化与美化
展示一下最终效果:
俗话说, 美化的尽头是默认. 这玩意比较主观, 所以喜欢就好, 不必纠结太多.
一些零碎的设置(比如开始菜单广告/小组件)网上有很多教程了, 大部分设置集中在个性化与隐私和安全性.
网上也有很多教程, 大部分都是需要额外安装工具的, 比如 Dock, 主题改 Mac 等.
任务栏透明: TranslucentTB, 在 Mirosoft Store 搜索就有
改成透明后, 如果是深色的壁纸, 任务栏右下角的字体是黑色会导致看不清楚, 这时候可以修改成白色, 修建一个 txt 文本文档, 写入如下内容保存然后修改文件后缀为
.reg
并运行:Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize] "ColorPrevalence"=dword:00000002
如果需要改回黑色将 2 改成 0 即可
壁纸:
Steam Wallpaper Engine
Dock
Steam MyDockFinder
VBS 与 HVCI
关于这两玩意是啥: 内存完整性和 VBS 启用
这两个设置用在安全性方面的, 有测评显示关闭这两个能提升游戏性能, 但个人不推荐进行更改, 网上的教程基本是很暴力地直接关闭 Hyper-V, 这会导致 wsl 用不了, 配置高的电脑完全可以忽略这两个设置.
其他
Windows11 轻松设置
这是一个小工具, 里面可以有一些常用的设置, 还能禁用 Windows Defender.
开发篇
WSL2 使用
安装: 如何使用 WSL 在 Windows 上安装 Linux
在 Win11 上使用最新的 WSL2, 不需要在控制面板 - 程序 - 启用或关闭 Windows 功能中进行手动设置了, 安装子系统时会自动检测并开启必要的配置.
常用命令
进入子系统
wsl ~
如果子系统处于 Stopped 状态, 则会启动子系统
加
--user
或者-u
可指定登录用户加
~
是为了登录进去后在用户目录下
查看可安装的子系统:
wsl -l -o
安装指定版本的子系统:
wsl --install -d <Distribution Name --web-download
加
--web-download
是为了从 Internet 而不是 Microsoft Store 下载分发版.在 2.4+ 版本后, 支持
--name
指定名字以及--location
参数指定安装目录
查看已安装的子系统:
wsl -l -v
停止运行某个子系统:
wsl --terminate <Distro>
指定默认子系统:
wsl --set-default <Distro>
卸载某个子系统:
wsl --unregister <Distro>
将子系统移动到其他盘:
wsl --manage <Distro> --move <Location>
其他方法: WSL修改默认安装目录到其他盘
更新 wsl:
wsl --update
--pre-release
可更新到预览版
更多命令通过
wsl --help
查看
管理工具
GUI 管理工具: wsl2-distro-manager
通过该工具移动系统目录后, 默认的登录用户会变成 root, 如需更换, 执行
ubuntu2404 config --default-user Username
ubuntu2404
其实是对应了ubuntu2404.exe
, 在安装完子系统后会有对应的命令
其他设置与优化
设置默认登陆用户 ubuntu2404 config --default-user Username
ubuntu2404
对应ubuntu2404.exe
, 在安装完子系统后会有对应的命令.
WSL 高级配置
可以通过 .wslconfig
(放在用户根目录下)进行一些全局配置, 但是在开始菜单中搜索 WSL, 可以直接打开 WSL Setting 界面进行设置.
networkingMode
可以设置为mirrored
, 启用镜像网络模式, 与主机共享 ip.sparseVhd
设为true
让 wsl 空闲时候整理回收磁盘空间, 默认 vhdx是不会自动回收的.autoMemoryReclaim
gradual
空闲时缓慢释放内存,机器物理内存不大的可以设置dropcache
即可释放,你要是内存大可以不设置或者配合 memory 限制即可
这是我的 .wslconfig
配置:
[experimental]
autoMemoryReclaim=gradual
sparseVhd=true
networkingMode=mirrored
[wsl2]
swap=0
WSL Linux 开发环境配置
发行版我选择 Ubuntu 24.04.
另外我将这些安装的东西写成了自用的一件安装脚本: https://github.com/masteranthoneyd/shell-hub/blob/master/ubuntu/ubuntu4dev.sh
换源
将 /etc/apt/sources.list.d/ubuntu.sources
中的内如替换为如下:
Types: deb
URIs: http://mirrors.aliyun.com/ubuntu/
Suites: noble noble-updates noble-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
通过 SDK Man 管理 JDK 以及其他工具
详细使用方法查看官网: Usage
安装:
curl -s https://get.sdkman.io | bash
安装完后需要新开一个 Shell 才能使用, 如需在当前 Shell 使用, 执行:
/root/.sdkman/bin/sdkman-init.sh
安装 JDK 以及 Maven:
sdk install java ${JAVA_VERSION}
sdk install maven ${MAVEN_VERSION}
默认的安装目录是
/root/.sdkman/candidates/<candidate>/<version>
如果是第一个安装的
candidate
, 会被设置为 default.会自动设置 candidate home, 比如安装了 JDK, 会设置
JAVA_HOME
(需要新起一个 Shell 生效)
常用命令:
# 查看可安装的 candidates 版本:
sdk list <candidates>
# 安装
sdk install <candidates> <version>
# 当前 shell 环境使用某个版本
sdk use <candidates> <version>
# 设置全局默认版本
sdk default <candidates> <version>
# 查看当前使用的版本
sdk current <candidates>
# 查看 candidates home 目录
sdk home <candidates> <version>
env 命令
另外 SDK Man 还提供了一个 env 命令, 用于识别项目根目录下的 .sdkmanrc
文件中定义的 candidates 版本从而切换到不同项目只需要执行 env 命令即可统一版本.
在项目根路径下执行 sdk env init
, 生成 .sdkmanrc
文件, 内容大致如下:
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
java=21.0.4-tem
使用:
# 使用 .sdkmanrc 定义的版本
sdk env
# 还原
sdk env clear
# 安装
sdk env install
WSL2 + Jetbrains IDEA 开发
探索下来, 结合 WSL2 开发有四种方法:
IDEA WSL 集成: IDEA 在打开或创建项目时能检测到 wsl, 会看到
\\wsl$
开头的路径.注意 JDK 需要选中 wsl 中安装的.
运行时也是在 wsl 中运行.
基于 WSL 的远程开发: 在远程开发中也可以看到与 wsl 的集成, 下载 IDEA 到 wsl 中再通过本地 Jetbrains Client 连接过去.
在 wsl 中安装 Jetbrains 全家桶(Toolbox): 需要开启 GUI(wslg) 的支持, win11 最新安装的 wsl2 默认开启了 GUI 的支持.
如果打开 Toolbox 报了这个错:
dlopen(): error loading libfuse.so.2
, 执行一下:sudo apt install libfuse2
就可以了.用久了会卡
在本地编辑代码, 但 run 在 wsl2 环境中: 原理是使用在 wsl 中挂载的本地目录.
相对于上面三种方式, 这种方式的代码仓库是在宿主机上
Docker
Docker 这里我选择使用 Docker Desktop 并启用 WSL 集成, 当然另外一个选择是直接在 WSL 子系统中安装 Docker Engine, 但考虑到我可能会频繁安装卸载 WSL(问就是喜欢折腾...), Docker Desktop 带来的好处就是它是一个单独的 WSL, 不会因为我卸载了开发用的 Ubuntu WSL 而废掉, 同时在 Windows 以及 WSL 里面都能用.
如果安装了多了 WSL 并且都需要 Docker, 可以在 Docker 设置中的 Resources
-> WSL integration
中启用, 这样 Docker 会以挂载的形式集成到 WSL 中.
终端美化
终端模拟器有很多, 比如比较受欢迎的 Tabby, 结合了现代 AI 技术的 Warp, 但 win11 自带了 Windows Terminal, 对我个人而言已经够用了. Shell: zsh (配置: oh-my-zsh, 美化: Starship)
安装 zsh 与 oh-my-zsh
zsh 是一个强大的 shell, 但配置较为繁琐, 而 oh-my-zsh 是一个已经调优好的 zsh 配置, 开箱即用.
apt install -y zsh
chsh -s /bin/zsh
需要起一个新的 shell 才能生效
一键安装 oh-my-zsh(下载失败则需要代理😜):
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
没有代理可以使用其他镜像安装, 比如清华大学镜像:
git clone https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git
cd ohmyzsh/tools
REMOTE=https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git sh install.sh
安装 Starship
虽然 oh-my-zsh 预设了一些主题, 而 Starship 是另外一种主题方案, 提供了了轻量、迅速、客制化的高颜值终端.
前置要求:
安装并在终端启用 Nerd Font 字体(如 Fira Code Nerd Font )
一键安装:
curl -sS https://starship.rs/install.sh | sh
在 ~/.zshrc
的最后添加 eval "$(starship init zsh)"
或者在 plugin 中添加 starship
生效.
前往预设查看心仪的主题并启用, 比如:
starship preset gruvbox-rainbow -o ~/.config/starship.toml
oh-my-zsh 插件
插件添加方式很简单, 将插件添加到 .zshrc
的 plugins 中, 例如下面是一些常规插件:
plugins=(
git
docker
mvn
history-substring-search
extract
......
)
zsh-autosuggestions: 根据命令历史记录提示命令, 按右方向键 →
补全.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
zsh-syntax-highlighting: 语法高亮
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
更多有趣插件:
zsh-interactive-cd: 利用 fzf 实现交互式文件选择跳转
终端字体颜色
颜色推荐: #00FF00
一般来说, 终端模拟器都会提供配色方案配置, 以 Windows Terminal, 将前景颜色改为 #00FF00
:
效果图:
其他
修改 ls 输出颜色
可以通过修改 LS_COLORS 变量: changing the directory colour in a ls command
- 0
- 0
-
赞助
微信 -
分享