开启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目录中。
mkdir ~/.apps
cd ~/.apps
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
tee -a ~/.bashrc > /dev/null <<'EOF'
# Java Configuration
export JAVA_HOME21=/home/josh/.apps/jdk-25.0.2
export JAVA_HOME=$JAVA_HOME21
export MVND_HOME=/home/josh/.apps/maven-mvnd-1.0.3-linux-amd64
export PATH=$PATH:$JAVA_HOME21/bin
export PATH=$PATH:$MVND_HOME/bin:$MVND_HOME/mvn/bin
EOF
. ~/.bashrcmaven 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秒。
运维
系统导出/导入
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-06-07 09:20