【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)
🚀 将所有 WSL 发行版从 C 盘迁移到 I 盘的完整教程(含 Podman / NVIDIA Workbench / Ubuntu 等)
【无标题】使用 Chocolatey 安装 WSL 管理工具 LxRunOffline-CSDN博客
免责声明
重要提示
在执行 WSL 迁移操作前,请务必仔细阅读以下声明:
风险提示
- 操作复杂性:WSL 迁移流程涉及系统级操作(如注册表修改、磁盘文件迁移),步骤繁琐且存在潜在风险。
- 数据安全:迁移过程可能导致数据丢失或系统异常,请务必提前备份 WSL 发行版及重要数据(推荐使用
wsl --export
命令导出完整镜像)。 - 环境差异:本文记录的操作步骤基于特定系统环境(Windows 11 预览版 + WSL2),不同设备或配置可能出现未知问题。
- 功能完整性:由于迁移流程较为复杂且耗时,迁移完成后暂未对所有功能和性能进行全面测试;
责任声明
- 本文仅出自于本机真实操作记录,不对迁移过程中的数据丢失、系统故障等问题承担任何责任。
- 请根据自身技术能力审慎评估操作风险,建议在非生产环境(如测试机)先行尝试。
问题支持
若迁移中遇到技术问题,可通过以下途径寻求帮助:
- 社区交流:与技术同仁讨论操作细节;
- AI 工具辅助:通过 Gemini、ChatGPT 等智能助手获取实时解决方案(建议提供完整错误日志)。
最终建议
WSL 迁移本质是对系统底层文件的重构,请务必在操作前完整阅读文档、明确每一步目的,避免因误操作导致环境损坏。如无十足把握,可优先采用官方推荐的分步迁移方案(wsl --export/import
)降低风险。
🧭 Windows 系统中将所有 WSL 发行版从 C 盘迁移到 I 盘的完整笔记
本教程适合希望释放 C 盘空间,或将 WSL 多发行版统一迁移至其他分区(如 I 盘)的高级用户。全程使用 LxRunOffline 工具完成迁移,并逐步确认位置、执行迁移、清理旧文件。
🧩 目录
-
环境准备与目标说明
-
获取已安装的全部 WSL 发行版
-
检查当前每个发行版的安装路径
-
判断哪些发行版需要迁移
-
使用 LxRunOffline 执行迁移操作
-
清理 C 盘原始文件
-
最终验证和可选优化建议
✅ 1. 环境准备与目标说明
🎯 目标
将所有当前位于 C 盘的 WSL 发行版迁移至非系统盘 I:\WSL\<发行版名>
,避免 C 盘爆满。
🧰 工具要求
-
系统:Windows 10/11,启用 WSL2
-
工具:下载并安装
LxRunOffline
下载地址:https://github.com/DDoSolitary/LxRunOffline/releases
安装好后将其添加到系统环境变量,确保 PowerShell 可以调用。
【无标题】使用 Chocolatey 安装 WSL 管理工具 LxRunOffline-CSDN博客
📋 2. 获取所有已安装的 WSL 发行版
运行以下命令列出所有注册的 WSL 发行版:
powershell (管理员)
wsl --list --all
示例输出:
适用于 Linux 的 Windows 子系统分发:
Ubuntu-Preview (默认)
podman-machine-default
NVIDIA-Workbench
podman-0
Ubuntu
docker-desktop
📂 3. 检查每个发行版的安装路径
【无标题】使用 Chocolatey 安装 WSL 管理工具 LxRunOffline-CSDN博客
使用 LxRunOffline
获取每个发行版的安装路径:
# 用法 LxRunOffline get-dir -n <wsl名称>LxRunOffline get-dir -n podman-machine-defaultLxRunOffline get-dir -n NVIDIA-WorkbenchLxRunOffline get-dir -n UbuntuLxRunOffline get-dir -n Ubuntu-PreviewLxRunOffline get-dir -n podman-0LxRunOffline get-dir -n docker-desktop
输出示例:
安装在默认位置 C 盘的WSL实例:
# 路径输出为:
C:\ User\ ……
\\?\C:\User\ ……
查看输出路径,如果路径以 C:\
开头,说明该发行版仍位于系统盘,需要迁移。
🚚 4. 判断哪些发行版需要迁移
例如:
发行版名称 | 当前位置 | 是否迁移? |
---|---|---|
✅ Ubuntu | C:\Users\love\AppData\Local\wsl\... | ✅ 迁移到 I:\WSL\Ubuntu |
✅ Ubuntu-Preview | C:\Users\love\AppData\Local\Packages\... | ✅ 迁移到 I:\WSL\Ubuntu-Preview |
✅ podman-machine-default | C:\Users\love\.local\share\containers\... | ✅ 迁移到 I:\WSL\podman-machine-default |
✅ podman-0 | C:\Users\love\.local\share\containers\... | ✅ 迁移到 I:\WSL\podman-0 |
✅ NVIDIA-Workbench | C:\Users\love\AppData\Local\NVIDIA... | ✅ 迁移到 I:\WSL\NVIDIA-Workbench |
❌ docker-desktop | D:\Program\Docker\wsl\main | ❌ 不迁移(已不在 C 盘) |
🛠 5. 使用 LxRunOffline move
命令迁移发行版
🔒 前提:确保 WSL 已完全关闭
wsl --shutdown
Start-Sleep -Seconds 10
🧪 示例迁移命令:
LxRunOffline move -n Ubuntu -d I:\WSL\Ubuntu
说明:
-
-n
指定发行版名称 -
-d
指定目标路径(必须是空目录,LxRunOffline 会自动复制并注册) -
手动创建目标路径(空目录)
# 创建I盘WSL根目录及各发行版文件夹
New-Item -ItemType Directory -Force -Path I:\WSL
New-Item -ItemType Directory -Force -Path I:\WSL\Ubuntu-Preview
New-Item -ItemType Directory -Force -Path I:\WSL\podman-machine-default
New-Item -ItemType Directory -Force -Path I:\WSL\NVIDIA-Workbench
New-Item -ItemType Directory -Force -Path I:\WSL\podman-0
New-Item -ItemType Directory -Force -Path I:\WSL\Ubuntu
New-Item -ItemType Directory -Force -Path I:\WSL\docker-desktop
彻底关闭所有 WSL 和相关进程
powershell (管理员)
# 关闭WSL实例
wsl --shutdown# 终止所有相关进程(包括Docker、WSL后台服务)
taskkill /f /im wsl.exe /im powershell.exe /im cmd.exe /im Docker Desktop.exe
Stop-Service com.docker.service -Force # 关闭Docker服务(如有)
我们只记录迁移目前仍在 C 盘的 WSL 发行版到 I 盘,忽略已经在其他盘(如 D 盘)的发行版。
✅ 当前的发行版迁移计划如下:
发行版名称 | 当前位置 | 是否迁移? |
---|---|---|
✅ Ubuntu | C:\Users\love\AppData\Local\wsl\... | ✅ 迁移到 I:\WSL\Ubuntu |
✅ Ubuntu-Preview | C:\Users\love\AppData\Local\Packages\... | ✅ 迁移到 I:\WSL\Ubuntu-Preview |
✅ podman-machine-default | C:\Users\love\.local\share\containers\... | ✅ 迁移到 I:\WSL\podman-machine-default |
✅ podman-0 | C:\Users\love\.local\share\containers\... | ✅ 迁移到 I:\WSL\podman-0 |
✅ NVIDIA-Workbench | C:\Users\love\AppData\Local\NVIDIA... | ✅ 迁移到 I:\WSL\NVIDIA-Workbench |
❌ docker-desktop | D:\Program\Docker\wsl\main | ❌ 不迁移(已不在 C 盘) |
🛠 PowerShell 脚本:迁移在 C 盘的发行版到 I 盘
✅ 请以管理员身份运行 PowerShell,否则会报权限错误!
# 定义要迁移的发行版列表
$distrosToMigrate = @(@{ Name = "Ubuntu"; TargetPath = "I:\WSL\Ubuntu" },@{ Name = "Ubuntu-Preview"; TargetPath = "I:\WSL\Ubuntu-Preview" },@{ Name = "podman-machine-default"; TargetPath = "I:\WSL\podman-machine-default" },@{ Name = "podman-0"; TargetPath = "I:\WSL\podman-0" },@{ Name = "NVIDIA-Workbench"; TargetPath = "I:\WSL\NVIDIA-Workbench" }
)# 创建导出文件夹
$exportFolder = "I:\WSL\Export"
if (!(Test-Path $exportFolder)) {New-Item -ItemType Directory -Path $exportFolder | Out-Null
}foreach ($distro in $distrosToMigrate) {$name = $distro.Name$target = $distro.TargetPath$tarPath = Join-Path $exportFolder "$name.tar"Write-Host "`n🔄 正在迁移 $name..." -ForegroundColor Cyantry {# 停止发行版wsl --terminate $name# 导出为 .tar 文件wsl --export $name $tarPathWrite-Host "✅ 导出 $name 到 $tarPath"# 注销原始发行版wsl --unregister $nameWrite-Host "✅ 注销 $name"# 重新导入到目标路径wsl --import $name $target $tarPath --version 2Write-Host "✅ 成功导入 $name 到 $target" -ForegroundColor Green}catch {Write-Host "❌ 迁移 $name 失败:$($_.Exception.Message)" -ForegroundColor Red}# 等待 2 秒再处理下一个Start-Sleep -Seconds 2
}Write-Host "`n🎉 所有 C 盘中的 WSL 发行版已迁移至 I 盘!" -ForegroundColor Yellow
📌 补充说明:
-
脚本会将
.tar
导出文件保存在I:\WSL\Export\
,我们可以之后删除这些备份以节省空间。 -
所有导入路径格式为
I:\WSL\<发行版名>
,我们也可以自定义。 -
脚本不会处理
docker-desktop
,因为它已经在 D 盘,不需要处理。
📦 自动迁移多个发行版(推荐):
$distrosToMove = @(@{ Name = "Ubuntu-Preview"; Path = "I:\WSL\Ubuntu-Preview" },@{ Name = "podman-machine-default"; Path = "I:\WSL\podman-machine-default" },@{ Name = "NVIDIA-Workbench"; Path = "I:\WSL\NVIDIA-Workbench" },@{ Name = "podman-0"; Path = "I:\WSL\podman-0" },@{ Name = "Ubuntu"; Path = "I:\WSL\Ubuntu" }
)foreach ($distro in $distrosToMove) {Write-Host "迁移 $($distro.Name) 到 $($distro.Path)..." -ForegroundColor Cyantry {LxRunOffline move -n $distro.Name -d $distro.Path$newPath = LxRunOffline get-dir -n $distro.NameWrite-Host "$($distro.Name) 已成功迁移至: $newPath" -ForegroundColor Green} catch {Write-Host "❌ 迁移 $($distro.Name) 时出错:" -ForegroundColor Red}Start-Sleep -Seconds 2
}
迁移时间因 WSL 所占空间大小而异。
🧹 6. 清理 C 盘上遗留的旧文件(慎用、慎用、慎用)
确保一切发行版运行正常后,可手动删除以下目录:
# Ubuntu 系列
Remove-Item "C:\Users\love\AppData\Local\Packages\CanonicalGroupLimited.*" -Recurse -Force -ErrorAction SilentlyContinue# WSL LocalState 旧路径
Remove-Item "C:\Users\love\AppData\Local\wsl" -Recurse -Force -ErrorAction SilentlyContinue# NVIDIA Workbench 残留
Remove-Item "C:\Users\love\AppData\Local\NVIDIA Corporation" -Recurse -Force -ErrorAction SilentlyContinue# Podman 残留
Remove-Item "C:\Users\love\.local\share\containers\podman\machine\wsl" -Recurse -Force -ErrorAction SilentlyContinue
删除前:
删除后:
✅ 7. 验证迁移是否成功
列出现有全部的 WSL 发行版:
wsl --list --all
使用 LxRunOffline
获取每个发行版的安装路径:
# 用法 LxRunOffline get-dir -n <wsl名称>LxRunOffline get-dir -n podman-machine-defaultLxRunOffline get-dir -n NVIDIA-WorkbenchLxRunOffline get-dir -n UbuntuLxRunOffline get-dir -n Ubuntu-PreviewLxRunOffline get-dir -n podman-0LxRunOffline get-dir -n docker-desktop
输出示例:
(base) PS C:\WINDOWS\system32> LxRunOffline get-dir -n podman-machine-default
\\?\I:\WSL\podman-machine-default
(base) PS C:\WINDOWS\system32> LxRunOffline get-dir -n NVIDIA-Workbench
\\?\I:\WSL\NVIDIA-Workbench
(base) PS C:\WINDOWS\system32> LxRunOffline get-dir -n Ubuntu
\\?\I:\WSL\Ubuntu
(base) PS C:\WINDOWS\system32> LxRunOffline get-dir -n Ubuntu-Preview
\\?\I:\WSL\Ubuntu-Preview
(base) PS C:\WINDOWS\system32> LxRunOffline get-dir -n podman-0
\\?\I:\WSL\podman-0
(base) PS C:\WINDOWS\system32> LxRunOffline get-dir -n docker-desktop
\\?\D:\Program\Docker\wsl\main
我们可以运行以下命令确认发行版正常运行:
wsl -d Ubuntu
wsl -d podman-machine-default
wsl -d NVIDIA-Workbench
wsl -d Ubuntu
wsl -d Ubuntu-Preview
wsl -d podman-0
wsl -d docker-desktop
🗃 可选:删除迁移中使用的 .tar
文件夹
如果你手动备份过发行版,可在确认无误后删除中转目录:
Remove-Item "I:\WSL\Export" -Recurse -Force
🧯 8. 迁移后遇到的问题与解决方案
在使用 LxRunOffline move
迁移发行版后,虽然表面上迁移成功,但有时在运行 Podman、Docker 或某些深度学习开发环境时,可能会出现权限、配置或服务代理方面的问题。本节将详细整理这些迁移后常见问题及其对应解决办法。
🛠️ 问题一:Docker 运行时报错 failed to write file: exit status 0xffffffff
错误信息:
configuring docker in Ubuntu-Preview: docker cli config: failed to write file: exit status 0xffffffff
可能原因:
该错误通常发生在 .docker
目录权限不正确时,WSL 无法创建/写入 Docker 配置文件。
解决方案:
进入对应发行版,修复 .docker
目录权限:
# 在 WSL 中运行(例如 Ubuntu-Preview)
sudo chown -R $(whoami):$(whoami) ~/.docker
chmod -R u+rwX ~/.docker# 检查结果
ls -ld ~/.docker
🛠️ 问题二:Podman 报错 running proxy: exit status 0xffffffff
错误信息:
running wsl distro proxy in NVIDIA-Workbench distro: running proxy: exit status 0xffffffff
可能原因:
-
Podman 的代理机制依赖于特定路径结构
-
迁移后部分绑定路径失效或服务未正确初始化
解决方案:
-
1、手动清除
~/.local/share/containers/podman/machine/
中旧缓存 -
2、重新初始化 Podman 虚拟机:
podman machine stop
podman machine rm
podman machine init
podman machine start
-
3、重新运行:
podman info
🛠️ 问题三:路径仍指向旧目录(例如 AppData)
如果迁移完成后运行 LxRunOffline get-dir
仍指向 C:\Users\xxx\AppData\...
,说明:
-
迁移未覆盖注册表路径
-
或为特殊发行版(如 Microsoft Store 安装的 WSL)不能直接用 LxRunOffline 管理
解决方案:
这种情况可以考虑重新导出 → 注销 → 导入 → 重新注册路径,可联系我提供专用脚本模板。
🛠️ 问题四:Podman / NVIDIA Workbench / Docker Desktop 依赖路径报错或无法启动
症状包括:
-
NVIDIA AI Workbench 报错无法连接代理或 workspace
-
Docker Desktop 中
wsl
后端报错 -
podman-remote
命令无法连接
通用解决办法:
-
进入 Windows 的
任务管理器
→ 手动结束podman.exe
、dockerd.exe
、wsl.exe
等相关进程 -
重新初始化配置或运行
podman system reset
🧪 验证发行版功能正常运行
迁移后,强烈建议逐一进入发行版测试:
wsl -d Ubuntu
wsl -d podman-machine-default
wsl -d NVIDIA-Workbench
在每个发行版中确认如下内容是否正常:
-
文件读写(创建测试文件)
-
权限设置(
sudo
是否生效) -
网络访问(能否
ping
、安装软件) -
Docker/Podman 运行是否成功
🎁 附录:迁移后可以安全删除的目录
如无异常,以下旧目录可清除:
# 旧 WSL 安装目录
Remove-Item "C:\Users\love\AppData\Local\Packages\CanonicalGroupLimited.*" -Recurse -Force# WSL LocalState
Remove-Item "C:\Users\love\AppData\Local\wsl" -Recurse -Force# Podman WSL 存储路径
Remove-Item "C:\Users\love\.local\share\containers\podman\machine\wsl" -Recurse -Force# NVIDIA Workbench WSL 存储路径
Remove-Item "C:\Users\love\AppData\Local\NVIDIA Corporation" -Recurse -Force
确保在运行 wsl --list --all
和 LxRunOffline get-dir -n <发行版名>
确认路径后再删除。
🔚 总结
通过本文的方法,可以将多个 WSL 发行版从系统盘顺利迁移到其他磁盘,释放空间、统一管理,适用于包括 Podman Desktop、NVIDIA AI Workbench、多个 Ubuntu 的环境。
同时,这也是一个需要谨慎使用的方法,迁移后最好逐一进行完整的功能和性能测试。
相关文章:
【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)
🚀 将所有 WSL 发行版从 C 盘迁移到 I 盘的完整教程(含 Podman / NVIDIA Workbench / Ubuntu 等) 【无标题】使用 Chocolatey 安装 WSL 管理工具 LxRunOffline-CSDN博客 免责声明 重要提示 在执行 WSL 迁移操作前,请务必仔细阅读…...
贪心算法思路详解
文章目录 一、贪心算法是什么?二、贪心算法原理三、再谈背包问题四、活动选择问题五、拟阵理论总结 一、贪心算法是什么? 贪心算法与动态规划算法一样是用于求解最优化类问题的算法,其本质上是基于动态规划算法的改进算法,其所求…...
Keil 安装 CMSIS-FreeRTOS 失败解决方案
一、问题现象 在 Keil 中安装 CMSIS-FreeRTOS 时出现以下错误: (1) 通过内置工具安装: (2)通过官网安装: 二、核心原因 Keil 版本过低,与 CMSIS-FreeRTOS 包不兼容: …...
Python打卡DAY33
DAY33:MLP神经网络的训练 恩师浙大疏锦行 知识点: PyTorch和cuda的安装查看显卡信息的命令行命令(cmd中使用)cuda的检查简单神经网络的流程 数据预处理(归一化、转换成张量)模型的定义 继承nn.Module类定义…...
RJ45 网口实现千兆传输速率(1Gbps)的原理,涉及物理层传输技术、线缆标准、信号调制及网络协议等多方面的协同设计。以下从技术维度展开详细解析:
一、千兆以太网的标准与物理层基础 1. 标准规范 千兆以太网遵循 IEEE 802.3ab(针对双绞线)和 IEEE 802.3z(针对光纤)标准,其中 RJ45 接口对应双绞线场景,核心是通过四对双绞线(CAT5e/CAT6 线缆…...
leetcode hot 100之:二叉树的层序遍历
层序遍历和前中后序遍历不一样,大家可以想象的是:前中后序遍历可以用递归,因为他是以子树为标准来选择的;那层序怎么办呢?怎么才能一层层地遍历呢? void First(TreeNode* root) {printf("%d",ro…...
深入解析BERT:语言分类任务的革命性引擎
“BERT的出现,如同在自然语言处理领域投下了一颗认知炸弹——它让机器真正学会了’联系上下文’。” ——自然语言处理研究者普遍共识 在自然语言处理(NLP)领域,2018年诞生的BERT(Bidirectional Encoder Representatio…...
Pycharm中Jupyter Notebook 插件常用快捷键
bg:Jupyter跟LINQPad很像,都是方便写的时候看数据用 快捷键功能Shift Enter执行当前单元格,并跳转到下一个单元格Ctrl Enter执行当前单元格,不跳转(留在当前单元格)Alt Enter执行当前单元格,…...
【Python】Excel表格操作:ISBN转条形码
一、效果 原始文件: 输出文件: 二、代码 import os import logging from openpyxl import load_workbook from openpyxl.drawing.image import Image as ExcelImage from barcode import EAN13 from barcode.writer import ImageWriterlogging.basicCo…...
大数据Hadoop集群搭建
文章目录 大数据Hadoop集群搭建一、VMware准备Linux虚拟机二、VMware虚拟机系统设置1、主机名、IP、SSH免密登录2、JDK环境部署3、防火墙、SELinux、时间同步 三、VMware虚拟机集群上部署HDFS集群1、集群规划2、上传&解压3、Hadoop安装包目录结构4、修改配置文件࿰…...
饼图:数据可视化的“切蛋糕”艺术
饼图,作为数据可视化家族中最经典、最易识别的成员之一,其核心功能如同其名——像切分蛋糕一样,直观展示一个整体(100%)被划分为若干组成部分的比例关系。 往期文章推荐: 20.用Mermaid代码画ER图:AI时代的…...
mysql server层做了什么
服务器处理客户端请求 服务器程序在处理来自客户端的查询请求时,大致需要分为3部分:连接管理、解析与优化、存储引擎。 连接管理 每当有一个客户端进程连接到服务器进程时,服务器进程都会创建一个线程专门处理与这个客户端的交互ÿ…...
3.5.1_1 信道划分介质访问控制(上)
在这个视频中我们要介绍信道划分、介质访问控制,这是两个词,我们先介绍一下什么叫做介质访问控制。 通过之前的学习,我们知道在计算机网络当中,有的信道它在逻辑上属于总线型,我们也可以把这种信道称为广播信道&#x…...
RPC常见问题回答
项目流程和架构设计 1.服务端的功能: 1.提供rpc调用对应的函数 2.完成服务注册 服务发现 上线/下线通知 3.提供主题的操作 (创建/删除/订阅/取消订阅) 消息的发布 2.服务的模块划分 1.网络通信模块 net 底层套用的moude库 2.应用层通信协议模块 1.序列化 反序列化数…...
数据分析和可视化:Py爬虫-XPath解析章节要点总结
重要知识点 XPath 概述:XPath 是一门可以在 XML 文件中查找信息的语言,也可用于 HTML 文件。它功能强大,提供简洁明了的路径表达式和多个函数,用于字符串、数值、时间比较等。1999 年成为 W3C 标准,常用于爬虫中抓取网…...
WIFI原因造成ESP8266不断重启的解决办法
一、报错 报错信息如下: 21:37:21.799 -> ets Jan 8 2013,rst cause:2, boot mode:(3,7) 21:37:21.799 -> 21:37:21.799 -> load 0x4010f000, len 3424, room 16 21:37:21.799 -> tail 0 21:37:21.799 -> chksum 0x2e 21:37:21.799 -> loa…...
OSI网络通信模型详解
OSI 模型就是把这整个过程拆解成了 7 个明确分工的步骤,每一层只负责自己那一摊事儿,这样整个系统才能顺畅运转,出了问题也容易找到“锅”在谁那。 核心比喻:寄快递 📦 想象你要把一份重要的礼物(你的数据…...
第五章 中央处理器
5.1 CPU的功能和基本构造 5.1.1 CPU的基本功能 5.1.2 CPU的基本结构 1.运算器 算术逻辑单元ALU 累加寄存器ACC 程序字状态寄存器PSW 计数器CT 暂存寄存器 通用寄存器组 移位器 通用寄存器供用户自由编程,可以存放数据和地址。而指令寄存器是专门用于存放指令的专用寄存器,…...
大模型学习入门——Day3:注意力机制
本系列笔记的教材:快乐学习大模型-DataWhale团队 注意力机制 注意力机制最先源于计算机视觉领域,其核心思想为当我们关注一张图片,我们往往无需看清楚全部内容而仅将注意力集中在重点部分即可。而在自然语言处理领域,我们往往也…...
C++ 学习笔记精要(二)
第一节 特殊类的设计 1. 一个类: 只能在堆上创建对象 关键点:自己控制析构 1.1 方法一: 使用delete禁掉默认析构函数 #include <iostream> using namespace std;class HeapOnly { public:HeapOnly(){_str new char[10];}~HeapOnly() delete;void Destroy(){delete[…...
博士,超28岁,出局!
近日,长沙市望城区《2025年事业引才博士公开引进公告》引发轩然大波——博士岗位年龄要求28周岁及以下,特别优秀者也仅放宽至30周岁。 图源:网络 这份规定让众多"高龄"博士生直呼不合理,并在社交平台掀起激烈讨论。 图源…...
macOS - 根据序列号查看机型、保障信息
文章目录 最近在看 MacBook 二手机,有个咸鱼卖家放个截图 说不清参数,于是想根据 序列号 查看机型。苹果提供了这样的网页: https://checkcoverage.apple.com/ (无需登录) 结果 2025-06-20(五)…...
C/C++ 高频八股文面试题1000题(一)
原作者:Linux教程,原文地址:C/C 高频八股文面试题1000题(一) 在准备技术岗位的求职过程中,C/C始终是绕不开的核心考察点。无论是互联网大厂的笔试面试,还是嵌入式、后台开发、系统编程等方向的岗位,C/C 都…...
C++ map 和 unordered_map 的区别和联系
C map 和 unordered_map 的区别和联系 map 和 unordered_map 都是 C 标准库中关联容器,用于存储键值对。它们的主要区别在于底层实现和性能特性,联系在于它们都提供了键值对的存储和访问功能。 区别: 特性mapunordered_map底层实现红黑树 …...
Sentinel实现原理
Sentinel 是阿里巴巴开源的分布式系统流量控制组件,主要用于服务保护,涵盖流量控制、熔断降级、系统负载保护等功能。 以下是 Sentinel 的实现原理,使用中文简要说明: 1. 总体架构 Sentinel 采用 轻量级 设计,分为 核…...
python打卡day37
疏锦行 知识点回顾: 1. 过拟合的判断:测试集和训练集同步打印指标 2. 模型的保存和加载 a. 仅保存权重 b. 保存权重和模型 c. 保存全部信息checkpoint,还包含训练状态 3. 早停策略 作业:对信贷数据集训练后保存权重…...
MySQL复杂查询优化实战:从多表关联到子查询的性能突破
文章目录 一、复杂查询性能瓶颈分析与优化框架二、多表关联查询的优化策略与实战1. JOIN顺序优化:基于成本估算的表关联策略2. 复合索引与JOIN条件优化3. 大表JOIN的分片处理 三、子查询优化:从嵌套到JOIN的转换艺术1. 标量子查询转换为JOIN2. EXISTS子查…...
LeetCode 680.验证回文串 II
目录 题目: 题目描述: 题目链接: 思路: 核心思路: 思路详解: 代码: C代码: Java代码: 题目: 题目描述: 题目链接: 680. 验证…...
window显示驱动开发—输出合并器阶段
逻辑管道中的最后一步是通过模具或深度确定可见性,以及写入或混合输出以呈现目标,这可以是多种资源类型之一。 这些操作以及输出资源 (呈现目标) 绑定在输出合并阶段定义。 1. 核心功能与管线定位 输出合并是渲染管线的最终固定功能阶段,负…...
单片机开发日志cv MDK-ARM工具链迁移到MAKE
核心经验: STM32H7 多 RAM 区域,外设相关数据段必须放在 AXI SRAM(RAM)区,不能放在 DTCMRAM,否则外设无法访问,程序表面正常但外设全失效。迁移工程时,务必检查链接脚本的内存分布&a…...
大模型与搜索引擎的技术博弈及未来智能范式演进
基于认知革命与技术替代的全景综述 一、大模型对搜索引擎的替代性分析:技术范式与市场重构 (1)技术原理的代际分野 传统搜索引擎遵循 "爬虫抓取 - 索引构建 - 关键词排序" 的三段式架构,其核心是基于 PageRank 算法的…...
Ajax-入门
Ajax: 全称Asynchronous JavaScript And XML,异步的JavaScript和XML。其作用有如下2点: 与服务器进行数据交换:通过Ajax可以给服务器发送请求,并获取服务器响应的数据。 异步交互:可以在不重新加载整个页面的情况下&a…...
FPGA基础 -- Verilog 共享任务(task)和函数(function)
Verilog 中共享任务(task)和函数(function) 的详细专业培训,适合具有一定 RTL 编程经验的工程师深入掌握。 一、任务(task)与函数(function)的基本区别 特性taskfunctio…...
c++set和pair的使用
set是C中的一种关联容器,具有以下特点: 存储唯一元素(不允许重复) 元素自动排序(默认升序) 基于红黑树实现(平衡二叉搜索树) 插入、删除和查找的时间复杂度为O(log n) 前言 在C…...
数据库中间件ShardingSphere5
一、高性能架构模式 数据库集群,第一种方式“读写分离”,第二种方式“数据库分片”。 1.1 读写分离架构 读写分离原理:将数据库读写操作分散到不同的节点上。 读写分离的基本实现: 主库负责处理事务性的增删改操作,…...
window显示驱动开发—使用状态刷新回调函数
用户模式显示驱动程序可以使用 Direct3D 运行时版本 10 State-Refresh回调函数 来实现无状态驱动程序或构建命令缓冲区前导数据。 Direct3D 运行时在调用 CreateDevice (D3D10 ) 函数时,向D3D10DDIARG_CREATEDEVICE结构的 pUMCallbacks 成员指向的D3D10DDI_CORELAY…...
windows11右击恢复为windows10
文章目录 前言一、问题描述二、解决方案 前言 为了解决win11的右击更多选项的问题 一、问题描述 win11的右键更多选项过于繁琐 二、解决方案 在windows11的终端管理员中输入如下代码: reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c…...
基于物联网的智能衣柜系统设计
标题:基于物联网的智能衣柜系统设计 内容:1.摘要 随着物联网技术的飞速发展,智能家居领域迎来了新的变革机遇。本研究的目的在于设计一种基于物联网的智能衣柜系统,以提升用户的衣物管理和使用体验。方法上,通过搭建物联网硬件平台ÿ…...
GM DC Monitor v2.0 卸载教程
以下俩种方法任选一种均可 第一种方法:一键自动卸载 进入到软件安装目录 卸载app 进入到app目录,运行一键卸载脚本:sh uninstall.sh 卸载es 进入到es目录,运行一键卸载脚本:sh uninstall.sh 卸载db 进入到db目录&a…...
C#上位机实现报警语音播报
我们在开发C#上位机时,有时候会需要将报警信息通过语音进行播报,今天跟大家分享一下具体的实现过程。 一、组件安装 首先我们创建好一个Windows窗体项目,然后添加System.Speech库引用。 点击引用,右击添加引用,在程…...
python自助棋牌室管理系统
目录 技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理,难度适中…...
榕壹云婚恋相亲系统:ThinkPHP+UniApp打造高效婚配平台
引言 在数字化浪潮下,婚恋相亲行业正加速向线上迁移。榕壹云公司基于市场需求与技术积累,开发一款功能完备、技术开源的婚恋相亲小程序系统,为单身人士提供高效、安全的婚恋平台。本文将围绕系统背景、客户定位、核心技术、功能模块及优势场景展开详细解析,助力开发者与技…...
每日leetcode
2890. 重塑数据:融合 - 力扣(LeetCode) 题目 DataFrame report --------------------- | Column Name | Type | --------------------- | product | object | | quarter_1 | int | | quarter_2 | int | | quarter_3 | i…...
深入理解XGBoost(何龙 著)学习笔记(五)
深入理解XGBoost(何龙 著)学习笔记(五) 本文接上一篇,内容为线性回归,介绍三部分,首先介绍了"模型评估”,然后分别提供了线性回归的模型代码:scikit-learn的Linear…...
SelectDB 在 AWS Graviton ARM 架构下相比 x86 实现 36% 性价比提升
在海量数据分析中,追求高性价比已成为各大企业的主流趋势。ARM 架构凭借其高能效和低成本的特点,逐渐在数据中心崛起,成为理想的高性价比选择。基于 ARM 架构的 AWS Graviton 系列处理器,正是这一趋势的典型代表。Graviton 处理器…...
机器学习流量识别(pytorch+NSL-KDD+多分类建模)
本文主要实现以下功能,会提供完整的可运行的代码以及解释为什么这么设计。文章不会收费,若被限制查看,请私信我。 使用 NSL-KDD 数据集的CSV文件进行流量攻击检测,使用机器学习算法实现流量攻击检测,使用pytorch框架…...
三种经典算法无人机三维路径规划对比(SMA、HHO、GWO三种算法),Matlab代码实现
代码功能 该MATLAB代码用于对比三种元启发式优化算法(SMA、HHO、GWO三种算法, SMA黏菌算法、HHO哈里斯鹰优化算法、GWO灰狼优化算法) 在特定优化问题上的性能,运行环境MATLABR2020b或更高 : 初始化问题模型ÿ…...
FTTR+软路由网络拓扑方案
文章目录 网络拓扑软路由配置FTTR光猫路由器TPLink路由器配置WAN设置LAN设置 参考 网络拓扑 软路由配置 配置静态IP地址:192.168.1.100设置网关指向主路由的IP 设置自定义DNS服务器 开启DHCP 这一步很关键,可以让连上wifi的所有设备自动趴强。 FTTR光猫…...
服务器获取外网IP,并发送到钉钉
服务器获取外网IP,并发送到钉钉 import time import hmac import hashlib import base64 import urllib.parse import requests# 请填入你的钉钉机器人配置 access_token XXXX secret XXXX# 获取公网 IP def get_public_ip():try:response requests.get("…...
解决uni-app发布微信小程序主包大小限制为<2M的问题
一 问题说明 我想用uniapp开发多端应用,引入了uview组件库来美化样式,可发布为微信小程序却提示我代码质量不过关,主包代码量太大了: 二 问题分析 2.1 原生微信小程序开发代码质量限制: 1.主包代码大小不得大于2M&…...