Windows系統下WSL從C盤遷移方案

原因:一開始裝WSL的時候放在了C盤,這下好了,跑了幾個深度學習模型訓練后,C盤快滿了,這可怎么辦?可愁壞了。

沒關系,山人自有妙計。我們將WSL遷移到D盤或者E盤呀。

一.遷移操作步驟

前期準備:

a.確認WSL發行版名稱

wsl -l -v

輸出示例:Ubuntu-22.04 Running 2?記錄您的發行版名稱

b.用戶名驗證

  • 若忘記Linux用戶名,在備份前檢查:

    # 在原始WSL中執行
    echo $USER

    這里我的用戶名是:fzyz123,你需要替換成你自己的用戶名

🛠 遷移操作流程(經實測驗證)

步驟1:完全關閉WSL(powershell)

wsl --shutdown

步驟2:創建完整備份(必須步驟)

# 替換"Ubuntu-22.04"為您的發行版名稱
wsl --export Ubuntu-22.04 D:\wsl_backup\ubuntu_backup.tar

步驟3:注銷當前發行版

wsl --unregister Ubuntu-22.04

此時C盤空間應立即釋放(檢查磁盤空間變化)

步驟4:遷移到新位置

wsl --import Ubuntu-22.04 D:\wsl\ubuntu D:\wsl_backup\ubuntu_backup.tar --version 2

參數說明

  • Ubuntu-22.04:您的發行版名稱

  • D:\wsl\ubuntu新創建的目標目錄(建議空目錄)

  • --version 2:強制使用WSL2(必須指定)

步驟5:設置默認用戶(最關鍵步驟)

# 創建配置文件(替換YourUsername為您的Linux用戶名)
@"
[user]
default=YourUsername
"@ | Out-File -FilePath D:\wsl\ubuntu\etc\wsl.conf -Encoding utf8

步驟6:驗證遷移

wsl -d Ubuntu-22.04
# 在WSL內驗證:
whoami  # 應顯示您的用戶名
df -h   # 檢查掛載點是否正常

🔄 備選方案(當主方案遇阻時)

若步驟5不生效,使用注冊表修改法:

# 獲取發行版UUID
wsl -d Ubuntu-22.04 --exec sh -c "echo \$WSL_DISTRO_NAME"# 修改注冊表(替換[UUID]為實際值)
Set-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss\[UUID]" DefaultUid 0x3E8

?🚀 完整修正版遷移流程如下

注意替換成你自己的用戶名。

# 1. 關閉WSL
wsl --shutdown# 2. 正確備份 (注意:無額外參數)
wsl --export Ubuntu-22.04 D:\wsl_backup\fzyz123_backup.tar# 3. 驗證備份 (文件應存在且>1GB)
$backup = Get-Item D:\wsl_backup\fzyz123_backup.tar
"備份文件大小: {0:N2} GB" -f ($backup.Length/1GB)# 4. 注銷原發行版
wsl --unregister Ubuntu-22.04# 5. 遷移到D盤
wsl --import Ubuntu-22.04 D:\wsl_env\fzyz123 D:\wsl_backup\fzyz123_backup.tar --version 2# 6. 設置用戶 (使用您的用戶名fzyz123)
@"
[user]
default=fzyz123
"@ | Out-File -FilePath D:\wsl_env\fzyz123\etc\wsl.conf -Encoding utf8# 7. 啟動驗證
wsl -d Ubuntu-22.04 -e echo "遷移成功! 當前用戶: $(whoami)"

二.conda不可用問題

🚨 針對深度學習的特殊檢查

遷移后務必驗證訓練環境:

# 在WSL內執行:
# 1. 檢查CUDA
python -c "import torch; print(f'PyTorch {torch.__version__}, CUDA: {torch.cuda.is_available()}')"# 2. 檢查存儲掛載
df -h | grep -E 'Filesystem|/mnt/d'# 3. 驗證用戶環境變量
echo $PATH
conda info --envs  # 或 pip list

這里如果出現問題,多半是Conda 環境問題。很可能是由于遷移導致的路徑變化或環境變量丟失造成的。如果驗證發現conda不可用,那么我們需要正確的配置conda路徑,即可。

🔧 Conda 環境恢復方案(針對遷移后問題)

步驟1:定位 Conda 安裝位置

# 查找 conda 安裝路徑
find ~ -name "conda" -type f 2>/dev/null# 典型位置可能是:
# /home/fzyz123/miniconda3/bin/conda
# /home/fzyz123/anaconda3/bin/conda

步驟2:將 Conda 添加到 PATH

# 編輯 bashrc 文件
nano ~/.bashrc# 在文件末尾添加(根據您的實際路徑修改)
export PATH="/home/fzyz123/miniconda3/bin:$PATH"# 保存后加載配置
source ~/.bashrc

步驟3:重新初始化 Conda

# 初始化 conda
conda init bash# 關閉并重新打開終端
exit

重新登錄 WSL

📊 環境恢復檢查清單

步驟命令期望結果
Conda 路徑which conda/home/fzyz123/miniconda3/bin/conda
環境列表conda env list顯示您的所有環境
環境激活conda activate your_env提示符變化?(your_env) fzyz123@AI0001
Python 路徑which python~/miniconda3/envs/your_env/bin/python
CUDA 可用性python -c "import torch; print(torch.cuda.is_available())"True

三.數據集路徑優化

作為深度學習工程師,數據集路徑優化是提高工作效率和系統性能的關鍵。

為什么需要優化數據集路徑?

  1. 空間管理:C盤空間有限(300GB),D/E盤空間充足

  2. 性能考量:WSL訪問Windows分區(/mnt/)比內部文件系統慢

  3. 工作流效率:統一路徑減少配置錯誤

  4. 數據安全:避免誤刪關鍵數據

優化方案(針對您的Windows+WSL環境)

1. 最佳存儲位置選擇

2. 環境變量配置(核心優化)

~/.bashrc中添加:

# 數據集根目錄
export DATASET_ROOT="/mnt/d/datasets"# 框架特定緩存路徑
export TORCH_HOME="$DATASET_ROOT/torch_cache"
export TFDS_DATA_DIR="$DATASET_ROOT/tfds"
export HF_DATASETS_CACHE="$DATASET_ROOT/huggingface"# 臨時數據集路徑
export TEMP_DATASET_DIR="~/.cache/datasets"

3.符號鏈接優化(解決兼容性問題)

對于必須使用特定路徑的工具:

# 創建符號鏈接
ln -s /mnt/d/datasets ~/datasets
ln -s /mnt/d/checkpoints ~/checkpoints# Windows端等效命令(管理員權限)
mklink /J "C:\Users\zongh\datasets" "D:\datasets"

以上,這期的內容就到這里結束了,希望能夠幫到大家。

碼字不易,動動你的小手,點贊收藏關注吧。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/88300.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/88300.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/88300.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

金融時間序列機器學習訓練前的數據格式驗證系統設計與實現

金融時間序列機器學習訓練前的數據格式驗證系統設計與實現 前言 在機器學習項目中,數據質量是決定模型成功的關鍵因素。特別是在金融時間序列分析領域,原始數據往往需要經過復雜的預處理才能用于模型訓練。本文將詳細介紹一個完整的數據格式驗證系統&…

cocos2dx3.x項目升級到xcode15以上的iconv與duplicate symbols報錯問題

cocos2dx3.x項目升級xcode15以上后會有幾處報錯。1. CCFontAtlas.cpp文件下的iconv與iconv_close的報錯。修改如下:// iconv_close(_iconv);iconv_close((iconv_t)_iconv);iconv((iconv_t)_iconv, (char**)&pin, &inLen, &pout, &outLen); /…

HTTP/3.0的連接遷移使用連接ID來標識連接為什么可以做到連接不會中斷

一定要結合圖文一起理解!! 文章目錄文字描述傳統方式:HTTP/2 基于 TCP 的連接(就像打固定電話)HTTP/3 基于 QUIC 的連接遷移(就像用帶“通話ID”的手機)總結一下圖文詳解HTTP2.0傳統方式&#x…

讓工作效率翻倍的終極神器之被工具定義的編程時代(VS Code + GitHub Copilot + JetBrains全家桶)

目錄一、引言:被工具定義的編程時代二、背景:傳統開發模式的效率瓶頸2.1 認知負荷過載2.2 工具鏈斷層三、效率翻倍工具鏈深度解析3.1 智能代碼編輯器:從打字機到智能助手3.2 版本控制大師:Git的隱藏技能3.3 自動化腳本&#xff1a…

docker部署單機gitlab

環境準備: 證書: acme.sh --issue --dns dns_ali -d gitlab.chandz.com -d *.chandz.comcp /root/.acme.sh/gitlab.chandz.com_ecc/* /data/docker-data-volume/gitlab/ssl/目錄: mkdir -p /data/docker-data-volume/gitlab cd /data/docker-…

【K8S】在 Kubernetes 上配置安裝 Nginx Ingress 控制器指南

文章目錄架構概覽先決條件部署方案選擇方案一:手動 YAML 部署核心組件詳解方案二:Helm快速部署(生產推薦)驗證部署DNS配置策略方案A:單域名映射方案B:通配符映射(推薦)應用實戰&…

SHA-256算法詳解——Github工程結合示例和動畫演示

近日筆者在學習區塊鏈的相關知識,接觸到SHA-256算法,這里做一個知識梳理和總結。 強烈推薦大家自行去學習下面鏈接github上的工程,作者的動畫演示和解釋做的非常出色,邏輯非常清晰,B站搬運的對應的油管的講解視頻也放…

C語言模塊化編程思維以及直流電機控制(第四天)

👨?💻個人主頁:開發者-削好皮的Pineapple! 👨?💻 hello 歡迎 點贊👍 收藏? 留言📝 加關注?! 👨?💻 本文由 削好皮的Pineapple! 原創 👨?&#x1f4…

【PTA】數據結構與算法0001:1025 反轉鏈表

文章大綱寫在前面測試用例ac代碼學習代碼知識點小結寫在前面 實現思路 結構體封裝數據 根據order重新排序k區間值迭代翻轉 n整除k,則最后地址輸出"-1"非整除,最后剩余區間,原序輸出。最后地址輸出"-1" 題目有難度&…

深入解析 .NET 泛型:從原理到實戰優化

在現代軟件開發中,代碼復用性和性能優化是開發者永恒的追求。.NET 泛型作為一項強大的語言特性,不僅能夠幫助我們消除重復代碼,還能顯著提升代碼的類型安全性和運行效率。本文將帶你全面了解 .NET 泛型,從基本概念到高級用法&…

Excel 處理軟件 內容復制工具:工作表批量復制 + 合并拆分簡潔操作零門檻

各位辦公小能手們!今天給你們介紹一款超牛的軟件——Excel內容復制工具。軟件下載地址安裝包 這可是專門為了讓Excel數據處理效率蹭蹭往上漲而設計的輔助軟件呢!它的主要功能可多啦,能批量復制工作表,還能把好多表格合并到同一個…

【機器學習實戰筆記 14】集成學習:XGBoost算法(一) 原理簡介與快速應用

《XGBoost算法》 推薦的學習路徑: 【快速實現XGBoost、跑通代碼】- 第一部分 【快速掌握XGBoost應用、達到自由調參水平】- 第一部分~第三部分 【快速掌握XGBoost原理、面試得以通關】- 第一部分1 第二部分1.2、2.2 第四部分 目錄《XGBoost算法》一 XGBoost的基…

.NET AI 模板

引言 隨著人工智能技術的快速發展,AI應用開發已成為開發者必備的技能之一。然而,對于許多.NET開發者來說,如何快速上手AI開發仍然是一個挑戰。微軟推出的.NET AI模板預覽版正是為了解決這一問題而生,為開發者提供了構建智能聊天應…

EFK9.0.3 windows搭建

背景 最近某個功能要使用到ELK(ElasticSearch、Logstash、Kibana)采集日志,對數據進行分析,網上百度了一下,目前推薦不使用Logstash而使用Filebeat ,即EFK。 下載鏈接 Elasticsearch Kibana Filebeat 安裝前提 …

上海新華醫院奉賢院區:以元宇宙技術重構未來醫療生態

引言:當醫療遇上元宇宙在數字化轉型的浪潮中,上海新華醫院奉賢院區以"智慧醫院"為定位,率先構建了"元宇宙醫院"雛形。通過AI大模型、三維影像分析、AR手術導航等前沿技術的深度融合,醫院正在打造一個覆蓋全周…

知識競賽答題pk小程序用戶操作手冊

知識競賽答題 PK 小程序用戶操作手冊 一、注冊與登錄 用戶首次使用答題pk小程序需上傳頭像,輸入昵稱,并選擇加入團隊。如果是企業內部人員使用可開啟白名單功能。二、進入答題 PK 模式 登錄后,在小程序首頁,您可以看到 “單人挑戰…

等大小譜聚類

聚類是一種將具有相似特征的數據點進行分組的方法。它廣泛應用于探索性數據分析,并已被證明在模式識別、市場和客戶細分、推薦系統、數據壓縮以及生物數據分析等許多應用中都發揮著重要作用。 盡管聚類算法種類繁多,但沒有一種能夠生成點數均衡的聚類。…

〔從零搭建〕數據湖平臺部署指南

🔥🔥 AllData大數據產品是可定義數據中臺,以數據平臺為底座,以數據中臺為橋梁,以機器學習平臺為中層框架,以大模型應用為上游產品,提供全鏈路數字化解決方案。 ?杭州奧零數據科技官網&#xff…

Java 導出pdf 寫出demo 1、需要設置自定義頁眉和文字 2、可以插入表格 3、可以插入圖片

以下是一個使用 iText 7 庫實現 PDF 導出的 Java 示例&#xff0c;包含自定義頁眉、文字、表格和圖片功能&#xff1a; 添加 Maven 依賴 <dependencies><!-- iText 7 Core --><dependency><groupId>com.itextpdf</groupId><artifactId>ite…

Ntfs!LfsReadRestart函數分析得到Ntfs!LFS_RESTART_PAGE_HEADER

第一部分&#xff1a;0: kd> p Ntfs!LfsPinOrMapData0x8c: f71797f6 ff15a40016f7 call dword ptr [Ntfs!_imp__CcPinRead (f71600a4)] 0: kd> t nt!CcPinRead: 80bf9a5a 6a2c push 2Ch 0: kd> kc# 00 nt!CcPinRead 01 Ntfs!LfsPinOrMapData 02 N…