Windows 11 工具链部署与 SSH 踩坑笔记

设备:MAXSUN MS-H110ZL / 8GB RAM / NVIDIA Quadro P1000

系统:Windows 11 IoT Enterprise LTSC 2024(NTLite 精简镜像)

一、已部署工具链

全部放在 C:\Users\root\AppData\Local\Microsoft\WindowsApps\(默认在 PATH):

工具 文件 说明
neofetch winfetch.ps1 + neofetch.cmd PowerShell 版,GitHub: lptstr/winfetch
busybox busybox.exe + 180 个硬链接 v1.38.0,0.7MB
curl 系统自带 真·curl 8.8.0
wget busybox 的 wget 链接

1.1 busybox 使用

powershell

复制代码
busybox --install   # 生成 grep/sed/awk/tar/vi/sh 等 180 个硬链接(不占额外磁盘)
busybox --list      # 查看全部 applet
sh -c "..."         # 迷你 unix shell

1.2 neofetch 安装

powershell

复制代码
# 下载 winfetch.ps1
curl -sL "https://raw.githubusercontent.com/lptstr/winfetch/master/winfetch.ps1" -o /tmp/winfetch.ps1

# 创建 neofetch.cmd 包装器
$neofetchCmd = "@echo off`r`npowershell -NoProfile -ExecutionPolicy Bypass -File `"C:\Users\root\AppData\Local\Microsoft\WindowsApps\winfetch.ps1`" %*"
[System.IO.File]::WriteAllText('C:\Users\root\AppData\Local\Microsoft\WindowsApps\neofetch.cmd', $neofetchCmd, [System.Text.Encoding]::ASCII)

关键: winfetch.ps1 必须使用 UTF-8 with BOM 编码才能在 PowerShell 5.1 中正常运行,否则会出现乱码或执行失败。

1.3 curl/wget 别名冲突

PowerShell 内置了 curl 和 wget 别名,指向 Invoke-WebRequest,会挡住同名 exe。已在 PowerShell profile 中移除别名,现在:

  • curl = 微软原生 curl 8.8.0

  • wget = busybox wget

二、踩坑笔记(SSH 远程操作 Windows)

以下记录在 Linux 端通过 SSH 远程操作 Win11 时遇到的主要问题。

坑 1:PowerShell 引号地狱

ssh host 'powershell -Command "..."' 要经过三层解析(bash → ssh → PowerShell),双引号嵌套极易翻车。

可靠替代方案(按优先级):

  1. scp 推脚本文件再执行 ------ 最稳,任何复杂度都适用

  2. 单层单引号包 PS 命令,内部只用简单语法

  3. -EncodedCommand(base64 UTF-16LE)------ 可行但生成麻烦

坑 2:cmd echo 会展开变量

远程默认 shell 是 PowerShell 时,cmd /c "echo if ($env:X) ..." 里的 $env:X 会被外层 PowerShell 先展开成实际值。

结论: 凡是含 $ 的内容,一律走 scp 推文件,不要用命令行拼接。

坑 3:注册表值名带空格/括号

reg add ... /v "SimSun & NSimSun (TrueType)" 引号穿三层必挂。

解法: 写 .reg 文件,scp 过去后用 reg import。

坑 4:执行策略重启后重置

RemoteSigned 策略在一次重启后可能失效,profile 加载失败 → SSH 又乱码。

修复命令:

powershell

复制代码
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

坑 5:per-user 服务禁不掉

OneSyncSvc、WpnUserService 这类带 _数字后缀 的服务,Stop/Set-Service 只对当前实例生效,登录一次就复活。

解决: 必须改 HKLM 模板 Start=4。

坑 6:GitHub 直链资产名猜不中

Weasel release 资产实际叫 weasel-0.17.4.0-installer.exe,与直觉不符。

正确做法: 先用 API 列出资产再下载:

powershell

复制代码
iwr api.github.com/repos/rime/weasel/releases/latest | ConvertFrom-Json |
  Select -Expand assets | Select name, browser_download_url

Win11 本机直连 GitHub 不通时,从 Linux 中转下载再 scp。

坑 7:NTLite 精简系统的隐藏地雷

  • Defender 可能被物理删除(不是禁用),装第三方安全软件前先确认

  • 字体被裁剪 → 老软件乱码第一嫌疑是缺 simsun.ttc

  • winget 缺失、商店服务缺失属正常,不必浪费时间排查

三、Windows 激活状态

当前已从评估版转换为 Windows 11 IoT Enterprise LTSC 2024 永久激活。

转换步骤

  1. 下载 SKU 文件,解压后将 IoTEnterpriseS 文件夹复制到 C:\Windows\System32\spp\tokens\skus\

  2. 执行转换命令:

cmd

复制代码
cscript.exe %windir%\system32\slmgr.vbs /rilc
cscript.exe %windir%\system32\slmgr.vbs /upk
cscript.exe %windir%\system32\slmgr.vbs /ckms
cscript.exe %windir%\system32\slmgr.vbs /cpky
cscript.exe %windir%\system32\slmgr.vbs /ipk KBN8V-HFGQ4-MGXVD-347P6-PDQGT
  1. 用 MAS 激活:C:\Users\root\MAS_AIO.cmd /HWID

去除水印

cmd

复制代码
reg add "HKCU\Control Panel\Desktop" /v PaintDesktopVersion /t REG_DWORD /d 0 /f
taskkill /f /im explorer.exe
start explorer.exe

四、内存盘备忘(未部署)

Windows 原生无内存盘。如需使用,推荐 ImDisk(开源,CLI 友好):

cmd

复制代码
imdisk -a -s 1G -m R: -p "/fs:ntfs /q /y"
imdisk -D

8GB 内存建议 ≤2GB。

五、快速恢复命令

powershell

复制代码
# 修复执行策略
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force

# 更新 SSH profile
# 确认 profile 存在且编码正确
notepad $PROFILE
相关推荐
xier_ran25 分钟前
【infra之路】AI 编译器学习笔记(四):PatternRewriter 与贪心 driver
人工智能·笔记·学习
jun_bai29 分钟前
使用Aspose实现word文档合并,内容替换
windows·c#·word
ACP广源盛139246256731 小时前
硬件选型笔记|国产 PCIe4.0 交换芯片 IX8012@ACP,边缘 AI 设备 IO 扩展方案探讨
人工智能·笔记·硬件架构·pcie·国产芯片
职豚求职小程序2 小时前
恒丰银行2026下半年笔试|考点&注意事项✅
笔记
mklpo1472 小时前
为不支持sse4.2命令集的老旧设备制作Win11 26H2系统镜像,2026-10-11。
运维·windows·python
Vex2une2 小时前
PowerShell 发展史:从命令行外壳到跨平台自动化引擎
windows·自动化·azure·powershell·vs code·脚本语言·dsc
Awh-3 小时前
ARM 裸机开发 DAY9 学习笔记
arm开发·笔记·学习
沫璃染墨3 小时前
从零入门数据结构与算法(一):复杂度分析——从算法效率到时间与空间复杂度
c语言·开发语言·数据结构·笔记·算法·飞书
北京盛世宏博3 小时前
异地机房采集踩坑笔记:以太网温湿度记录仪跨网段通信调试实战
开发语言·笔记·单片机·php·传感器·温湿度
富洋金锐3 小时前
windows-winmtr与pathping命令-网络丢包排查
网络·windows