开启WSL2
命令行安装(很有可能安装不了)
wsl --list --online
wsl --install把整个 Ubuntu 搬到 D 盘
因为默认情况下,Ubuntu 是装在 C 盘的一个虚拟磁盘文件里的。你可以趁现在它还是“干净”的时候,把它挪到 D 盘。
如果你想搬家,请在 Ubuntu 设置好用户名后,关闭那个黑窗口,回到 Windows 的 PowerShell 输入以下命令:
导出镜像: wsl –export Ubuntu D:\ws\ubuntu_backup.tar
注销 C 盘的 Ubuntu: wsl –unregister Ubuntu
导入到 D 盘新家: wsl –import Ubuntu D:\ws\Ubuntu_WSL D:\ws\ubuntu_backup.tar
这样以后你的 Linux 就在 D:\ws\Ubuntu_WSL 文件夹里了,重装系统也带不走它!
手工下载
开启相关功能
dism.exe /online /enable-feature /featurename:Microsoft-Hyper-V-All /all /norestart
dism.exe /online /enable-feature /featurename:containers /all /norestart
bcdedit /set hypervisorlaunchtype auto
# 执行上面几行后要重启电脑(这次重启非常关键,它要加载虚拟化驱动层)。建议使用 Ubuntu 22.04.3 LTS
下载:https://aka.ms/wslubuntu2204 约1G。
下载好.AppxBundle文件后,修改为 .zip。
- 解压这个压缩包。
- 在解压出的文件夹里,你会看到几个类似 Ubuntu_2204.x.x_x64.appx 的文件。
- 找到最大的那个 .appx 文件(大约 400-500MB),再次改后缀为 .zip 并解压。
- 重点来了:在最终解压的文件夹里,找到 ubuntu.exe。
- 把这个文件夹整个移动到你想存放的地方(比如 D:\ws\WSL_Ubuntu)。
- 双击运行这个 ubuntu.exe。
wsl --shutdown
创建%UserProfile%\.wslconfig
内容为
[wsl2]
# 限制最大内存占用为12GB
memory=12GB
# 分配 8 个逻辑处理器核心
processors=8
# 开启镜像网络模式(Linux 与 Windows 共享 IP)
networkingMode=mirrored
[experimental]
# 开启内存自动回收(逐步释放闲置内存)
autoMemoryReclaim=gradual之后要使用root用户,可以少遇到一些权限问题
wsl -l -v
wsl --manage Ubuntu --set-default-user root记录一下版本
C:\Users\Administrator>wsl --version
WSL 版本: 2.6.3.0
内核版本: 6.6.87.2-1
WSLg 版本: 1.0.71
MSRDC 版本: 1.2.6353
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.26100.1742使用wsl
# 修改源
sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.aliyun.com@g' /etc/apt/sources.list && sudo apt update# 开启ssh服务让xshell可以访问wsl
sudo apt update
sudo apt install openssh-server vim -ysudo vim /etc/ssh/sshd_config
去掉如下的行首的#
Port 22(确认端口是 22)
PasswordAuthentication yes(确保是 yes)
添加一行
PermitRootLogin yessudo service ssh restart
# 配置开机启动
sudo systemctl enable ssh确认网络
# 会报错
ping www.baidu.com
# 1. 创建 resolv.conf 文件,写入可用 DNS
echo "nameserver 8.8.8.8" > /etc/resolv.conf
# 2. 再写入一个备用 DNS
echo "nameserver 1.1.1.1" >> /etc/resolv.conf
# 会正常
ping www.baidu.com建议使用root用户(要确保 chmod 755 /root -R ,不然idea无法访问/root下的文件)
sudo passwd root
或者(当没有任何一个sudo权限时)
wsl -u root
passwd root切换默认用户(如下命令均不可用,建议使用xshell)
ubuntu config --default-user root
或
wsl --set-default-user root
切换回来
ubuntu config --default-user 你的用户名让用户支持sudo不再输入密码
sudo visudo
在文件的最末尾(最后一行),添加以下内容(注意:将 your_username 替换为你实际的用户名):
your_username ALL=(ALL) NOPASSWD: ALL
按 Ctrl + O 保存。
按 Enter 确认文件名。
按 Ctrl + X 退出编辑器。
验证
现在你可以试着运行一个平常需要密码的命令,例如:
sudo lsvim ~/.bashrc
sudo service ssh start不要让ubuntu使用windows的PATH
# 没有文件就新建
sudo vim /etc/wsl.conf
[interop]
appendWindowsPath = false
[network]
# 禁止自动生成resolv.conf
generateResolvConf = false
# 关闭自动生成 /etc/hosts
generateHosts = false
in idea
install jdk/maven
idea运行的配置如下图
需要配置wsl里的maven jdk。
# 安装并配置jdk/maven,需要提前下载好文件并放到windows的d:/dev-pkg目录中。
cd /opt/
sudo cp /mnt/d/dev-pkg/OpenJDK21U-jdk_x64_linux_hotspot_21.0.10_7.tar.gz .
sudo tar zxvf OpenJDK21U-jdk_x64_linux_hotspot_21.0.10_7.tar.gz
sudo mv jdk-21.0.10+7/ jdk-21.0.10_7
sudo cp /mnt/d/dev-pkg/OpenJDK8U-jdk_x64_linux_hotspot_8u482b08.tar.gz .
sudo tar zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u482b08.tar.gz
sudo cp /mnt/d/dev-pkg/maven-mvnd-1.0.3-linux-amd64.tar.gz .
sudo tar zxvf maven-mvnd-1.0.3-linux-amd64.tar.gz
# Java 21 Configuration
export JAVA_HOME21=/opt/jdk-21.0.10_7
export JAVA_HOME8=/opt/jdk8u482-b08
export JAVA_HOME=$JAVA_HOME8
export MVND_HOME=/opt/maven-mvnd-1.0.3-linux-amd64
export PATH=$PATH:$JAVA_HOME21/bin
export PATH=$PATH:$MVND_HOME/bin:$MVND_HOME/mvn/bin
maven settings.xml
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- <localRepository>D:/ws/maven-repo</localRepository> -->
<mirrors>
<mirror>
<id>mirror</id>
<mirrorOf>central</mirrorOf>
<name>mirror</name>
<url>https://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
</settings># format messy xml file
cd ~/.m2
apt install libxml2-utils -y
xmllint --format settings.xml -o settings.xml
cat settings.xml报错:
Connected to the target VM, address: ‘localhost:59882’, transport: ‘socket’
Error: JMX connector server communication error: service:jmx:rmi://0.0.0.0:59880
sun.management.AgentConfigurationError: java.rmi.server.ExportException: Port already in use: 59880; nested exception is:
java.net.BindException: Address already in use (Bind failed)

报错:Failed to find compatible JDK,就这样设置

在windows下,启动某个服务需要20秒,在wsl中只需要15秒。
安装docker
for Ubuntu2204
# 1. 删除旧的Docker源文件(避免冲突)
sudo rm -f /etc/apt/sources.list.d/docker-ce.list
sudo rm -f /etc/apt/trusted.gpg.d/docker.gpg
# 2. 安装必要依赖
sudo apt update && sudo apt install -y ca-certificates curl gnupg
# 3. 添加Docker官方GPG密钥(Ubuntu 22.04+推荐放在/usr/share/keyrings)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 若是3失败,就分开执行
#curl不能下载的话,就使用浏览器自己下载,手工复制
curl -fsSL https://download.docker.com/linux/ubuntu/gpg > /tmp/docker.gpg
sudo gpg --dearmor --yes -o /usr/share/keyrings/docker-archive-keyring.gpg /tmp/docker.gpg
rm /tmp/docker.gpg
ls -l /usr/share/keyrings/docker-archive-keyring.gpg
# 4. 添加官方源(适配所有Ubuntu版本,自动匹配发行版代号)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 5. 刷新apt索引(加载新源)
sudo apt update
# 查看当前可安装的 Docker 版本(获取正确版本号)
apt-cache madison docker-ce | sort -r
# 直接安装最新稳定版(最推荐,避免版本号错误):
sudo apt install -y docker-ce docker-ce-cli containerd.io
# 配置开机启动
sudo systemctl enable docker
# 启动docker服务(立即生效)
sudo systemctl start docker
配置镜像加速
见 https://doc.sisiruyi.fun/docs/doc-id-1/doc-16
试了很多,只有这个能成功
more /etc/docker/daemon.json
{
"registry-mirrors": [
"https://docker.m.daocloud.io"
],
"log-driver": "json-file",
"log-opts": {
"max-size": "50m",
"max-file": "5"
}
}
sudo vim /etc/wsl.conf
[boot]
systemd=true
export http_proxy="http://127.0.0.1:你的代理端口"
export https_proxy="http://127.0.0.1:你的代理端口"
# 然后再试
docker run hello-world安装nvm & nodejs
# 安装 nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 让 nvm 生效 (按提示执行)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
source ~/.bashrc
# 验证 nvm
nvm -vnvm install 14.21.3
nvm use 14.21.3
nvm alias default 14.21.3
node -v
npm -v运维
系统导出/导入
wsl -l -v
(假设你的系统名称是 Ubuntu)。
wsl --shutdown
创建存放目录:在 D 盘(或其他盘)创建一个文件夹,例如 D:\wsl-os
wsl --export Ubuntu D:\wsl-os\ubuntu_backup.tar
注:Ubuntu 是你的系统名,D:\wsl-os\ubuntu_backup.tar 是备份路径。
注销(删除)C 盘上的原系统:
注意:此步骤会清空原 C 盘中的 WSL 数据,请确保上一步已成功导出。
wsl --unregister Ubuntu
# 导入
# 语法:wsl --import <新名字> <安装路径> <备份文件路径>
wsl --import Ubuntu D:\wsl-os\Ubuntu-22.04 D:\wsl-os\ubuntu_backup.tar最后编辑:张三 更新时间:2026-04-02 23:57