WSL2配置freesurfer
Windows 11 安装 WSL2 Ubuntu 22.04 并迁移到 E 盘
前言
本文详细记录了在 Windows 11 上通过 Microsoft Store 安装 WSL2 Ubuntu 22.04,并将其从默认的 C 盘迁移到 E 盘的完整过程。适合想要节省 C 盘空间或需要将 WSL2 安装到其他磁盘的用户。
环境信息
- 操作系统: Windows 11 Pro
- WSL版本: WSL2
- Linux发行版: Ubuntu 22.04 LTS
- 迁移目标: C盘 → E盘
第一步:启用 WSL 功能
1.1 通过 PowerShell 启用 WSL
以管理员权限打开 PowerShell,执行以下命令:
# 启用WSL功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart# 启用虚拟机平台
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
1.2 重启计算机
执行完上述命令后,重启计算机使功能生效。
1.3 设置 WSL2 为默认版本
重启后,再次以管理员权限打开 PowerShell:
# 设置WSL2为默认版本
wsl --set-default-version 2
第二步:从 Microsoft Store 安装 Ubuntu 22.04
2.1 打开 Microsoft Store
- 点击开始菜单,搜索 “Microsoft Store”
- 打开 Microsoft Store 应用
2.2 搜索并安装 Ubuntu
- 在搜索框中输入 “Ubuntu 22.04”
- 选择 “Ubuntu 22.04.3 LTS”
- 点击"获取"按钮进行安装
2.3 首次启动配置
安装完成后:
- 点击"打开"或在开始菜单中找到 Ubuntu
- 首次启动会进行初始化配置
- 创建用户名和密码
# 示例输出
Installing, this may take a few minutes...
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: yourusername
New password:
Retype new password:
passwd: password updated successfully
第三步:查看 WSL 配置信息
3.1 查看 WSL 版本和状态
# 查看WSL版本
wsl --version# 查看已安装的发行版
wsl --list --verbose# 查看WSL状态
wsl --status
预期输出:
NAME STATE VERSION
* Ubuntu-22.04 Running 2
3.2 查看 WSL 安装位置
默认情况下,WSL2 安装在以下位置:
C:\Users\[用户名]\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_[随机字符]\LocalState\
3.3 查看磁盘使用情况
# 在WSL内查看磁盘使用情况
wsl -d Ubuntu-22.04 df -h# 查看WSL占用的Windows磁盘空间
wsl -d Ubuntu-22.04 du -sh /
第四步:从 C 盘迁移到 E 盘
4.1 创建目标目录
# 创建E盘WSL目录
mkdir E:\WSL\Ubuntu-22.04
4.2 停止 WSL 服务
# 停止所有WSL实例
wsl --shutdown# 确认所有实例已停止
wsl --list --verbose
4.3 导出 Ubuntu 系统
# 导出Ubuntu系统到临时文件
wsl --export Ubuntu-22.04 E:\WSL\Ubuntu-22.04-backup.tar# 查看导出文件大小
dir E:\WSL\Ubuntu-22.04-backup.tar
4.4 注销原有系统
# 注销原有的Ubuntu系统
wsl --unregister Ubuntu-22.04# 确认注销成功
wsl --list --verbose
4.5 导入到新位置
# 导入到E盘新位置
wsl --import Ubuntu-22.04 E:\WSL\Ubuntu-22.04 E:\WSL\Ubuntu-22.04-backup.tar --version 2# 验证导入成功
wsl --list --verbose
预期输出:
NAME STATE VERSION
* Ubuntu-22.04 Stopped 2
4.6 设置默认用户
由于导入过程会重置默认用户为 root,需要重新设置:
# 方法1:通过Ubuntu配置命令
ubuntu2204.exe config --default-user yourusername# 方法2:通过注册表修改(如果方法1不工作)
# 启动WSL并创建用户配置
wsl -d Ubuntu-22.04 -u yourusername
4.7 清理临时文件
# 删除备份tar文件
del E:\WSL\Ubuntu-22.04-backup.tar
第五步:验证迁移结果
5.1 测试系统功能
# 启动Ubuntu
wsl -d Ubuntu-22.04# 在WSL内测试
whoami
pwd
ls -la
5.2 验证磁盘空间
# 查看磁盘使用情况
df -h
# 查看挂载点
mount | grep ext4
5.3 确认安装位置
检查 E 盘是否包含 WSL 文件:
dir E:\WSL\Ubuntu-22.04
第六步:优化配置
非必须
6.1 创建 WSL 配置文件
在 C:\Users\[用户名]\.wslconfig
创建配置文件:
[wsl2]
# 限制内存使用
memory=4GB
# 限制CPU核心数
processors=2
# 启用本地主机转发
localhostForwarding=true
# 交换文件大小
swap=1GB
# 交换文件路径
swapfile=E:\\WSL\\swap.vhdx
6.2 重启 WSL 应用配置
wsl --shutdown
wsl -d Ubuntu-22.04
故障排除
常见问题及解决方案
-
WSL 启动失败
# 重启WSL服务 net stop LxssManager net start LxssManager
-
用户权限问题
# 在WSL内修复用户权限 sudo usermod -aG sudo yourusername
-
网络连接问题
# 重置网络 wsl --shutdown # 重新启动WSL
总结
通过以上步骤,我们成功完成了:
- ✅ 在 Windows 11 上启用 WSL2 功能
- ✅ 从 Microsoft Store 安装 Ubuntu 22.04
- ✅ 查看和了解 WSL 配置信息
- ✅ 将 WSL2 Ubuntu 从 C 盘迁移到 E 盘
- ✅ 验证系统功能正常运行
迁移的优点
- 节省C盘空间: 避免系统盘空间不足
- 提高性能: 可以选择更快的磁盘
- 便于管理: 统一存储位置,便于备份
注意事项
- 迁移过程中务必确保 WSL 完全停止
- 建议在迁移前备份重要数据
- 配置文件路径需要根据实际情况调整
Freesurfer的下载
下载链接
可以使用浏览器或者迅雷下载。
在下载后,将wsl的系统切换到对应的空间中
官网的下载说明
解压并移动到指定的路径下。
tar -xzf freesurfer-linux-ubuntu22_amd64-7.4.1.tar.gz
sudo mv freesurfer /usr/local/
我记得使用virtual box的虚拟机好像不能使用GPU。使用wsl子系统是可以使用gpu的。
设置启动的环境变量的路径,包括环境的位置,被试的文件夹,和一个设置的脚本吧。
# 编辑.bashrc文件
nano ~/.bashrc# 添加以下内容到文件末尾
export FREESURFER_HOME=/usr/local/freesurfer
export SUBJECTS_DIR=$FREESURFER_HOME/subjects
source $FREESURFER_HOME/SetUpFreeSurfer.sh
验证安装的检查
# 检查FreeSurfer版本
freesurfer --version# 或者检查主要命令是否可用
which recon-all
which mri_convert# 测试基本功能
recon-all -version
许可证文件
如果你还没有许可证文件,需要:
注册获取许可证(免费):
访问:https://surfer.nmr.mgh.harvard.edu/registration.html
填写信息获取 license.txt 文件
将下载的license.txt放到FreeSurfer目录
cp ~/Downloads/license.txt /usr/local/freesurfer/
主要有下面三个功能。
recon-all - 完整的皮层重建
mri_convert - 图像格式转换
freeview - 图像查看器
依赖环境的下载
# 安装FreeSurfer常用依赖
sudo apt install -y \libgomp1 \libglu1-mesa \libxmu6 \libxi6 \libxft2 \libxinerama1 \libxrandr2 \libxss1 \libxcursor1 \libxcomposite1 \libxdamage1 \libxtst6 \libxt6 \libxext6 \libx11-6 \tcsh
解决freeview GUI问题的实用方法
下载并安装VcXsrv(在Windows中)
从 https://sourceforge.net/projects/vcxsrv/ 下载
安装并启动,选择"Multiple windows",勾选"Disable access control"
1qt5 的相关依赖
sudo apt update
sudo apt install -y \qtbase5-dev \qtbase5-dev-tools \libqt5gui5 \libqt5core5a \libqt5widgets5 \libqt5opengl5 \libqt5x11extras5 \qt5-qmake \libqt5svg5-dev
2X11和图形库
sudo apt install -y \libx11-xcb1 \libxcb-glx0-dev \libxcb-keysyms1 \libxcb-image0 \libxcb-shm0 \libxcb-icccm4 \libxcb-sync1 \libxcb-xfixes0 \libxcb-shape0 \libxcb-randr0 \libxcb-render-util0 \libxcb-util1 \libxcb-xinerama0 \libxcb-cursor0 \libxkbcommon-x11-0 \libxkbcommon0 \libgl1-mesa-glx \libglu1-mesa \mesa-utils
3设置环境变量
# 设置Qt和X11环境变量
export QT_QPA_PLATFORM=xcb
export QT_X11_NO_MITSHM=1
export DISPLAY=$(grep -m 1 nameserver /etc/resolv.conf | awk '{print $2}'):0.0# 添加到.bashrc
echo "export QT_QPA_PLATFORM=xcb" >> ~/.bashrc
echo "export QT_X11_NO_MITSHM=1" >> ~/.bashrc
echo "export DISPLAY=\$(grep -m 1 nameserver /etc/resolv.conf | awk '{print \$2}'):0.0" >> ~/.bashrc
可视化的freeview
我开始出现了这个问题。
mateng@MTCP:/mnt/e/wsl2$ export DISPLAY=$(cat /etc/resolv.conf | grep
nameserver | awk '{print KaTeX parse error: Expected 'EOF', got '}' at position 2: 2}̲'):0.0 mateng@M… freeview
This application failed to start because no Qt platform plugin could
be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl,
offscreen, vnc, wayland-egl, wayland, webgl, xcb. Aborted (core
dumped)
测试
source ~/.bashrc# 测试X11连接
sudo apt install x11-apps
xeyes
可以成功执行。
补充
recon -all 的过程中
出现了新的未添加的库,可以把问题给ai,询问缺失什么。
sudo apt update
sudo apt install libquadmath0
recon-all的步骤和参数
进一步学习的视频
FreeSurfer (英字)
资源(ai推荐)
当然可以!以下是 FreeSurfer 的系统学习资源,从入门、安装、使用,到进阶应用(如皮层重建、分区、表面分析、与EEG/MEG集成等)都涵盖:
🧠 一、官方资源
1. 🔗 FreeSurfer 官网
- 主页:了解项目最新进展和版本
- 下载地址:Linux/macOS平台支持
- 安装说明:Installation Guide
- 快速入门:Getting Started
2. 📚 FreeSurfer Wiki(核心文档)
-
网址:https://surfer.nmr.mgh.harvard.edu/fswiki
-
内容包括:
recon-all
全自动重建流程详解- 各个模块介绍(如
mris_convert
,mri_convert
,mri_label2vol
等) - 常见问题(FAQ)
- 与 MNE-Python、SPM、FSL 的接口
3. 🧪 官方教程(非常推荐)
-
Tutorials 主页:https://surfer.nmr.mgh.harvard.edu/fswiki/Tutorials
-
包含以下子教程:
recon-all
全流程解读(解剖重建)- 皮层厚度、表面积、曲率等分析
- longitudinal(纵向数据)处理
- 与 EEG/MEG(MNE)数据联合建模
- fMRI 表面映射
- Group analysis
🧪 二、动手实践类资源
1. 🎓 MIT FreeSurfer Course 视频课程
-
视频(YouTube):FreeSurfer Course Playlist
-
内容涵盖:
- FreeSurfer 背景原理
- BEM建模(与MNE结合)
- 实际案例讲解
2. 📂 示例数据
-
官网提供 sample subjects:
- 包含经典的
bert
,sample
,fsaverage
等模板 - 可配合教程实操
- 包含经典的
📘 三、中文资源推荐
1. 🌐 中文博客 & 教程
-
知乎关键词搜索:
FreeSurfer 安装 / FreeSurfer 教程
-
示例文章:
- FreeSurfer的入门指南与安装配置
recon-all
使用全解- FreeSurfer 与EEG/MEG集成(MNE结合)
2. 📖 相关教材章节
- 《脑成像数据分析》相关书籍部分介绍 FreeSurfer 处理流程(通常放在结构MRI章节)
🧩 四、与其他工具集成
工具 | 用途 | 结合教程 |
---|---|---|
MNE-Python | EEG/MEG 头模型、源定位 | MNE 官方文档 + FreeSurfer |
Brainstorm | EEG/MEG GUI工具,支持 FreeSurfer 结构 | Brainstorm FreeSurfer tutorial |
SPM | fMRI 分析 + FreeSurfer结构配准 | SPM 与 FreeSurfer整合 |
🔁 建议的学习路径(实践型)
- 下载安装 FreeSurfer
- 使用
recon-all -all -subject test -i T1.nii
对自己的 T1 MRI 做一次完整重建 - 学习查看结果:用
freeview
查看lh.pial
,aparc+aseg.mgz
等 - 将处理结果导入 MNE 或 Brainstorm 进行头模型建模
- 学习提取皮层厚度、分区平均值等结果进行 group analysis