Year: 2023

改注册表以在旧 CPU 电脑上升级 Windows 11

公司有一批旧 i5-7200u 的笔记本电脑,打算装 Win11Pro 提供远程访问,做一些测试用,发现直接切换专业版序列号提示错误,准备把系统默认的系统通过 ISO 文件先升级到 Win11 23H2 的 Pro 版也提示处理器不支持

通过新增注册表项解决此问题,在 Computer\HKEY_LOCAL_MACHINE\SYSTEM\Setup\MoSetup 路径下,新增一个 DWORD (32-bit) 字段,命名为 AllowUpgradesWithUnsupportedTPMOrCPU 并将值设为 1,再运行 ISO 里的 setup.exe 就不报错了

方法参考自 https://www.theverge.com/22715331/how-to-install-windows-11-unsupported-cpu-intel-amd-registry-regedit

ThinkPad 40AC 雷电三扩展坞

从早期真正放在笔记本底部的 Dock 时代开始,就对 ThinkPad Dock 这样底座连各种线缆,笔记本电脑本体随时拔了就走的模式特别喜欢,买过用过 T60、X200、X230 的底座式扩展坞,和 40A9、40AC 两个外接式的扩展坞,本文介绍下 40AC 这个雷电三协议的扩展坞

办公室桌上这个已经用了两年多了,之前在 v2ex 上开了个帖介绍记录:买了个 ThinkPad 40AC 雷电 3 扩展坞给 2020 Intel i5 MacBook Pro 13 用,近乎完美体验一线通 ,本文为这个帖的整理更新

为什么需要一个扩展坞

因为在办公室,对 MacBook Pro 外接两个 4K 显示器,加上有线键鼠耳机等需求(蓝牙有干扰和延迟),每天笔记本过来插拔一堆线,期待能用上雷电接口连供电加显示数据等特性,一根线搞定

现在桌上还有一个铭凡类似 NUC 的小主机装着 Windows 当主力机在用,也期望能更简单把这一堆外设在小主机和笔记本之间切换

为什么选了 ThinkPad 40AC 这个扩展坞

在 2021 年那个时间点,之前能搜到给 MacBook Pro 的扩展坞,要么指向 CalDigit 这种苹果官方背书但贼贵的,要么是 HP 或 Dell 家需要装驱动且存在 macOS 升级后不可用的风险,或者输出接口没法满足(比如最核心的 2x 4K@60Hz)

ThinkPad 的扩展坞,公司之前买过一个 40A9,是比较早的 USB-C 协议扩展坞,能一根 USB-C 上行到笔记本电脑,解决 供电+单个显示器+USB+LAN+耳麦 的需求,但 macOS 接多个显示器时只能被当成同一个输出源输出同样的信号,偶发有笔记本休眠后再唤醒时显示器无法唤醒的问题,需要重新插拔一下(用在 ThinkPad 上可以多个输出也没唤醒问题),同时最大只能双 1080p@60Hz,所以没有继续选这个

当时参考 https://post.smzdm.com/p/aekzgq6k/ 这个文章,对比下来 40AC 应该是满足需求且价格最合适的,事实上在 2021 年八月,闲鱼五百多买了一套 40AC 加 135W 电源加雷电三线,用下来也是近乎完美的

在 2023 年八月这个时间点,可选的除了已经全套价格降到 300 以内的 40AC,还有 40AN 这个二代雷电三扩展坞,和 40B0 这个雷电四扩展坞等,不过后面两个价格还是略贵,所以当家里有需求时,我还是再买了个 40AC

官网在 https://support.lenovo.com/us/en/solutions/acc100356 ,各种驱动固件和技术规格都可以从这里找到

用起来怎么样

先上个图,左侧那个黑色长条形就是 ThinkPad 40AC 扩展坞本体,后面那个黑色的大块头电源是连这个扩展坞供电同时给更上行设备提供充电能力,右侧那个银白色的小方块是铭凡 NPB5 小主机

ThinkPad 40AC Thunderbolt 3 Dock

目前接上去的线包括

  1. 135W 联想方口电源输入
  2. 雷电三下行线,连接笔记本电脑或其他设备,同时可带 65W 供电(能满足 MacBook Pro 13 和 14 的需求,更大没测试)
  3. DP 到一个 4K@60Hz 显示器
  4. RJ45 接千兆 LAN 有线网
  5. USB-A 接键盘、鼠标、充电线(给自己的小米手环充电用)
  6. USB-C 形态雷电三下行 DP 模式接另一个 4K@60Hz 显示器
  7. 3.5mm 耳机孔接有线耳麦

接 MacBook Pro 13(2020 Intel i5 款)和 MacBook Pro 14 (2021 M1Pro 款)都是即插即用,不需要破解,不需要改 SIP 或系统设置,测过从 macOS Catalina (10.15)一直到 Ventura (13.x)都是可用的,在可见的未来也不应该出其他问题

接 ThinkPad X1 Carbon 2018(Intel i5-8350u)、Lenovo Miix 720 (Intel i5-7200u) 、铭凡 NPB5 (Intel i5-13500H) 这些 Windows 设备也都是完美工作

缺点和瑕疵

  1. 显示输出限制
    • 不管是 Windows 还是 macOS,想双 4K@60Hz 只能一个走雷电三下行,一个走 DP,技术规格详见 https://support.lenovo.com/us/en/solutions/pd029622
    • macOS 对扩展坞上所有除 DP 模式雷电三下行的显示接口,都当做一个输出,所以在这些接口上怎么接多个显示器,都被 macOS 当成一个且输出同样的内容,要分屏只能是雷电三下行走一个,其他接口任选一个(为了跑满 4K@60Hz,还是选 DP)
  2. macOS 下耳机输出音量不可调节
    • 这其实应该赖 macOS,在更早的音频固件下是可以调音量的,最新的固件反倒不行,详见后面固件问题部分
  3. 没有读卡器

固件问题

最新的固件版本是 1.0.0.25,如果没有特殊需求,建议刷到这个最新的版本,下载页面在 https://pcsupport.lenovo.com/us/en/downloads/DS506176 ,单独的固件下载链接是 https://download.lenovo.com/pccbbs/mobiles/ar_tbtdockfw10.exe

这个版本的固件在 macOS 下无法调节耳机音量,不过有一个神奇的办法是把其中音频部分的固件单独降级到 1.0.0.12 版本固件里带的 04-0E-80_Rev_0080 就好了

根据其他版本的下载链接推测出来可用的固件下载链接在 https://download.lenovo.com/pccbbs/mobiles/thinkpad_tbt3_dock_web_fw_v1.0.0.12.exe

下载后运行,固件内容会被默认解压到 C:\DRIVERS\ThinkPad_TBT3_Dock_WEB_FW\ 这个目录下,不要在图形界面里刷新,进入 Windows 的命令行,然后用下面这个命令,强制只刷新音频部分的固件

C:\DRIVERS\ThinkPad_TBT3_Dock_WEB_FW\ThinkPad_TBT3_Dock_TVSU_FW.exe /audio /f

最后用 v1.0.0.25 版本固件更新程序的 check 功能看,其他几个模块是最新,音频部分提示目前是 0080 需要升级到 0087 就好了

不过 04-0E-80_Rev_0080 这个音频固件在 Windows 下,会导致扩展坞上的耳机插孔明明插了设备,但 Windows 不认导致无法输出,所以不是接苹果设备的话,还是建议整体都用最新固件

搜狗输入法(Windows版)修改方括号输入直角引号

本文参考整理自 https://www.cnblogs.com/xiaohi/p/17399462.html

习惯了使用「」直角引号来在中文输入中表示引用,macOS 下的搜狗输入法有很简单的方式可以打开自定义符号,Windows 版的搜狗输入法在某个版本前也是可以自定义符号的,当前(2023.8)的最新版,还有自定义符号的入口,但只能从下拉框里选择,不能自定义,默认的是【】这两个符号

搜了下解决办法,有说到可以在旧版里自己输入自定义符号,再更新到新版配置还在的,说明这个应该还有通过非设置界面直接修改配置文件的办法,见最上面的链接,此处简化整理

  1. 打开 %USERPROFILE%\AppData\LocalLow\SogouPY.users\00000001\punctures.ini 文件,若不存在此路径或此文件,参考 C:\Program Files (x86)\SogouInput\13.2.0.6899 这样的路径去找到 punctures.ini 这个文件

  2. 找到 [flaafl][fnaafn] 两处设定,从命名看,分别是左右方括号在中文半角和中文全角下的字符输出,修改为

        [flaafl]
        Name=flaaaaaafl
        ChHalf=amdaaaaadm
        ChFull=badaaaaaca
    
        [fnaafn]
        Name=fnaaaaaafn
        ChHalf=andaaaaadn
        ChFull=bbdaaaaacb
        

  3. 保存,并设定此文件只读(此处作用不详,且发现设过只读也会在搜狗输入法设置里被修改掉)

  4. 注销当前用户并重新登录或关机重启生效

不要更新 macOS 14 beta4

在我的 MacBook Pro 13 (2020, Intel i5) 上带来了 SMC 固件问题,导致插电或拔电就会死机,自行修复失败,去苹果店天才吧本地刷固件解决,且按天才吧工作人员描述,问题出现概率不低,不管是 Intel 芯片还是 M 芯片都有

记录下我的处理过程

2023.7.26 前

一切正常,主系统为 13.4.1(c),通过划分磁盘分区的方式另外装了一个 14.0 beta

2023.7.26

主系统升级 13.5

在第二分区上尝试升级 14.0 beta4,多次在重启后提示升级失败

2023.7.27

第二分区 14.0 beta4 在某次重启后升级成功,问题开始出现,如果是在非插电模式下使用,只要插电立马死机,三五秒后自动关机

2023.7.28

尝试关机,长按电源键 10 秒后再开机,故障依旧

切换启动磁盘到主系统 13.5,故障依旧

https://support.apple.com/zh-cn/HT204063 重置 NVRAM 和按 https://support.apple.com/zh-cn/HT201295 重置 SMC,不管是 13.5 还是 14.0 beta4,故障依旧

2023.7.29

新尝试,在非插电模式下正常关机后,插电,系统自动开机,可正常使用,在开机状态下拔掉电源,立马死机,三五秒后自动关机,故障现象同不插电开机后再插电的表现

联系苹果电话技术支持,建议进诊断模式看自检结果,以及尝试降级到机器出厂系统版本,案例代码 1**3

使用诊断模式(按 https://support.apple.com/zh-cn/HT202731 开机按 D),诊断结果为 ADP000 没有发现问题(按 https://support.apple.com/zh-cn/HT203747

使用在线恢复模式安装出厂版本系统(按 https://support.apple.com/zh-cn/HT204904 开机按 Shift-Opt-Cmd-R),删除所有原宗卷,新建宗卷后不插电安装 macOS Catalina 10.15.7,故障依旧

2023.7.31

到苹果西湖店,联系预约的 Genius Bar 工作人员,表示的确是 macOS 14.0 beta4 引入的问题,需要刷个固件,他们机器连线刷完就好了

奥奥快三岁了

奥奥去托班也三个多月,现在集体生活适应得还行,在托班自己吃饭吃点心看都挺好的,虽然回来还是要撵着喂,在托班据老师说午睡是秒睡而且睡很久,从回家晚上可劲嗨来看中午的确是睡了的,最近天气热了开始训练自主如厕去掉尿不湿,其实很快也好了,之前家长们担心都快三岁了怎么还穿尿不湿到时候上幼儿园了怎么办,事实证明多大的娃干多大的事,现在到了可以戒断尿不湿的时候就是可以很快搞定,之前如果能戒也挺好,但非得跟娃各种较劲强迫,没啥用不说还容易有心理阴影,跟学说话一样,一开始觉得没有哥哥快各种着急,后面变成小话痨又会嫌弃人家

我不是宝宝,我是奥奥

一两个月前还在强调「我是宝宝」,现在转过来要强调自己是奥奥了

这不是哥哥,这是我

家里墙上贴了一些照片,看到哥哥小时候的非得说是自己,的确有一些穿了一样的衣服帽子,脸也一样肉嘟嘟时两兄弟是挺像的,但有一些就完全是在争宠了,要让家人认可当时抱着或牵着的是他才行,虽然他其实知道那并不是他,自己在情绪好的时候也说过那是哥哥

我也要,不公平

作为独生子女的爸爸妈妈没这样深刻的体会,现在但凡有啥玩具什么的,一定会两个人都抢,哪怕可能给哥哥准备的是比较复杂弟弟还玩不过来的,或给弟弟准备的相对哥哥来说有点太低龄向,反正别人的就是好的,那么,还是都买两份吧,或者是可以一起玩的才行

奥言奥语

也记录一下奥奥可爱的萌萌话语吧

妈妈是坏人

妈妈工作太忙了,没有能经常跟奥奥一起玩,加上莫莫哥哥现在上学有些事情还是需要成人帮助,对奥奥的关爱不及家里其他人,结果某次带奥奥回家,下车上楼准备轮流抱奥奥时,问奥奥更喜欢谁抱,突然就来了这么一句,问题是妈妈也没招你惹你呀

我不是奥奥,我是宝宝

某段时间这个小朋友意识到了自己是宝宝就可以得到更多无理由的宠爱,刚好那段时间开始对各种称呼和自己的名字也开始能区别,问他是谁呀,是不是奥奥,然后就被很坚决否定,人家还是宝宝啦

书里面有怪物

莫莫哥哥看奥特曼,买奥特曼卡片,然后奥奥不可避免会一起看,然后对里面的怪物是又害怕又想玩,连带家里有一些书放在书柜下面有门的格子里,自己不想去打开就会说里面有怪物,要拉个人来一起

有奶奶笑我

到现在还总是吃手,去托班碰到有别的奶奶开玩笑笑他,我们回家教育他说这么大了不能再吃手了,你看别人都笑话你了,经常会自己也自嘲一下,然后还得看情况能不能控制自己把放嘴里的手指拿出来

哥哥,爸爸在陪弟弟的

爸爸只有一个,两兄弟在做不同的事情但都有需要的话怎么办呢,哥哥现在晚上写作业,有时候会需要爸爸帮忙确认下题意或接下来要做的事情,本来想着莫莫可以自己搞定,说完就去楼下陪弟弟玩了,这时候哥哥要从楼上探头出来问个啥,奥奥弟弟立马就拽住爸爸然后表示爸爸现在是在陪我的,不允许走开

更新一下曾经在泰国听到的某 COSer 拉小提琴的曲子

泰国游 Day4: 免费航展 里提到当天晚上在清迈夜市遇到某 COSer 妹子拉小提琴,回来搜的是《小步舞曲》,但从后来自己开车听广播的高潮部分来说,更可能是 Rather Be (QQ 音乐单曲 Rather Be)

这首歌开场那段小提琴特别有辨识度,但在不知道歌名情况下,哪怕电台和商场里听到很多次,用哼歌识曲也没找到,最后好像是通过抖音热曲之类的排行榜去找到。想起来去北海道那次在高速服务区也听到过一首印象很深的,但就是死活找不到,回国后把那段时间日本的排行榜几乎都听了一遍却也没有,难道是商场自己的广告曲?但好像在札幌市区也听到过来着的,不是国民热曲在打榜不该那么频繁听到的才对,可惜也不懂日文没法记住歌词回来搜

修复 WordPress 插件 Collapsing Archives 在 PHP8 下不能使用的问题

使用 Collapsing Archives 这个 WordPress 插件很多年了,就是本文右边能看到的历年存档,可以很漂亮折叠起来,而不是官方默认插件只能按年聚合,不能展开看有哪些文章

但是在 WordPress 升级到某个版本,及容器升级到 PHP8 后,只要开启这个插件,必然整个 WP 站都挂的,开 WordPress Debugging 看报错信息也没有头绪,没有可以联系作者的渠道,在 WordPress 论坛反馈也没反应

其中一个普遍的报错是

[error] 1088#1088: *266661 FastCGI sent in stderr: “PHP message: PHP Fatal error: Uncaught TypeError: call_user_func_array(): Argument #1 ($callback) must be a valid callback, class collapsArch does not have a method “enqueue_scripts” in /home/foo/www/blog/wp-includes/class-wp-hook.php:307

这个问题参考 https://wordpress.org/support/topic/an-error-occurred-11/#post-15472977 获得了解决,具体办法是到 ~/wp-content/plugins/collapsing-archives/ 目录下修改 collapsArch.php 的 42 行,从

if (!is_admin()) {
    wp_enqueue_script('jquery');
    add_action( 'wp_enqueue_scripts', array( 'collapsArch', 'enqueue_scripts' ) );
} else {

改为

if (!is_admin()) {
    wp_enqueue_script('jquery');
    add_action( 'wp_head', array( 'collapsArch', 'get_head' ) );
} else {

但是问题依然没有解决,还有一处拼写错误需要修改,参考 https://wordpress.org/support/topic/great-until-php-8/#post-16349890 的办法,在 ~/wp-content/plugins/collapsing-archives/ 目录下修改 defaults.php 的 27 行,从

  'post_type' => 'post',
  'taxoncmy' => 'category',
  'postTitleLength' => '');

改为

  'post_type' => 'post',
  'taxonomy' => 'category',
  'postTitleLength' => '');

至此,重新启用插件恢复正常