设备: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.0wget= busybox wget
二、踩坑笔记(SSH 远程操作 Windows)
以下记录在 Linux 端通过 SSH 远程操作 Win11 时遇到的主要问题。
坑 1:PowerShell 引号地狱
ssh host 'powershell -Command "..."'要经过三层解析(bash → ssh → PowerShell),双引号嵌套极易翻车。
可靠替代方案(按优先级):
scp 推脚本文件再执行—— 最稳,任何复杂度都适用
单层单引号包 PS 命令,内部只用简单语法
-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.ttcwinget缺失、商店服务缺失属正常,不必浪费时间排查
三、Windows 激活状态
当前已从评估版转换为Windows 11 IoT Enterprise LTSC 2024 永久激活。
转换步骤
下载 SKU 文件,解压后将
IoTEnterpriseS文件夹复制到C:\Windows\System32\spp\tokens\skus\执行转换命令:
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
用 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