12 月 8 日消息,想要解锁微软 Win11 隐藏或者尚未完全推广的新功能 / 新特性吗?开源命令行工具 ViveTool 你需要了解下。通过这款工具,你不仅可以启用新的 API,而且还能解锁一些微软尚未公开,或者是已经公开但是并未全面开放测试的功能。
其中一个典型例子就是文件管理器的标签页功能,微软在上线初期仅面向少量 Dev 频道的 Windows Insider 项目成员开放,但是通过这款工具普通 Dev 频道用户也可以解锁该功能。
而且伴随着解锁的隐藏功能越来越多,ViveTool 工具的用户规模正在快速膨胀中。IT之家也希望借此时机,向新老读者介绍下这款开源工具,希望对你们的日常 Win11 使用提供一些帮助。
Windows Feature Store 是什么?
我们同样以文件管理器的标签页功能为例,从微软第一次功能投放到 Windows 11 22H2 功能更新中正式上线,其中经历了很长一段测试时间。
首先微软会将文件管理器的标签页功能添加到 Windows 代码库中,然后通过更新渠道、服务器端的 A / B 测试等几个因素进入到 Windows Insider 的渠道中,经项目成员测试之后才正式上线。
而其中大多数实验性功能都是通过名为 Windows Feature Store 的核心系统组件来控制的。该核心组件在微软内部称之为“Velocity”,在 Win10、Win11 系统上控制着服务器端 A / B 等功能测试进度。
而这个核心组件又属于 Windows Notification Facility (WNF) 核心组件,后者用于调度包括内核组件、系统服务和用户空间应用程序在内的系统进程。
构建各种功能的模块化基础设施,本质上是设计一个可控的推出模式的方式。例如,Windows Insider Program 被用来向早期的更新提供正在进行中的功能,这些功能后来被逐步打上补丁,一旦达到稳定的里程碑,随后为每个用户启用。如果一个特定的功能包含一个灾难性的错误或有一个安全漏洞,它可以被内核无缝禁用。
微软出于安全方面的考虑,Windows Feature Store 默认情况下被 Windows 内核严密保护,普通用户无法使用传统的二进制补丁技术来强行启用这些功能。
我们可以绕过服务器端的 A / B 测试吗?
无论是 Win11 预览版还是稳定版,微软都在该版本中提供了大量的“功能”,有些已经提供给用户,有些则是通过“注释”的方式让其处于休眠状态。
远程协调的 A / B 测试(也称为分割测试)可以确保持续改进,并在多种配置中快速反馈循环。Windows Feature Store 通过切换状态来保障随机化的实验过程。
幸运的是开发人员发现可以对存储在 Windows Feature Store 中的数据进行操作。这些才华横溢的开发者通过逆向开发,发现了 Windows 系统中的内部功能控制 API。
通过访问 Windows Feature Store,就可以让你的电脑绕过服务器 A / B 测试。目前这方面的应用主要有 Rafael Rivera 的 Mach2,以及 Lucas(又名 thebookisclosed)的 ViVeTool 等应用程序。本文重点介绍 ViVeTool 工具,感兴趣的 IT之家网友可以点击上述链接进行了解。
在某些情况下,你也许可以修改注册表:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FeatureManagement\Overrides\
Feature ID 以及注意事项
在正式介绍 ViveTool 工具之前,我们还需要了解一个 Feature ID 的概念。Windows Feature Store 中的每项功能都有一个独立的 Feature ID 编号,比如 26008830 对应的是平板电脑优化的任务栏。每个 Feature ID 有三种状态。
- 默认状态(0):这是某一特定功能的正常行为。
- 禁用(1):这将完全禁用该功能。
- 启用(2):这将强行启用该功能。
Mach2 的开发者为每个 Insider 预览版维护了一个 Feature ID 的列表。Repo 还包含了不同版本之间的变化,这对于识别新的隐藏功能很有用。你也可以使用 ViVeTool 的图形分叉(ViVeTool GUI)来搜索任意 Windows 版本的可用 Feature ID。
需要注意的是,修改 Feature ID 可能会导致系统不稳定 / 崩溃,甚至可能会破坏核心操作系统模块导致 Windows 系统完全无法使用。在启用某些 Feature ID 之后可能导致无法恢复的永久性改变。因此请 IT之家网友在决定修改之前,请妥善保护好你的资料,相关风险请自行承担。
由于 Windows Update 和 Windows Feature Store 直接关联,因此某些改变可能会导致你的设备处于不支持的状态。因此在确认执行 ViveTool 操作之前请做好备份,也不要在生产力设备上使用。
以下是一些主流的 Windows 功能和对应的 Feature ID:
功能描述 | Feature ID | Windows 门槛版本 |
文件管理器中的标签页功能 | 37634385 | 21536 |
针对平板优化的任务栏 | 26008830 | 25197 |
重新设计的 Widgets UI | 40772499 | 25227, 22623.746 |
全新的系统果盘 | 38764045 | 25211 |
Widgets 设置菜单 | 38652916 | 25217 |
任务管理器中的新搜索功能 | 39420424 | 25231 |
桌面上的搜索条 | 37969115 | 25120 |
设置中的动画导航面板图标 | 34878152 | 25197 |
更现代的打开方式菜单 | 36302090 | 25151, 22622.290 |
如何通过 ViveTool 工具强制启用 Win10 / Win11 隐藏功能呢?
ViveTool 是一款开源的 CLI 工具,由名为 ViVe 的 C# 软件库提供。如果你想在 Win11 设备上解锁隐藏功能,那么请按照以下步骤进行:
- 1. 从 Github 官网下载ViveTool 工具
- 2. 解压到任意位置
- 3. 打开解压缩的文件夹,会看到 4 个文件
- 4. 在文件夹页面空白区域,按住 Shift 按钮右键
- 5. 在菜单中选择“在此处打开命令行模式”或者选择“在此处打开 PowerShell 窗口”
- 6. 找到你想要启用某项隐藏功能的 Feature ID
- 7. 然后输入 vivetool /enable/ id:xxx(此处修改为 Feature ID) 命令,例如“vivetool /enable /id:39263329 /variant:1”命令,就是短按钮,带有放大镜和 "搜索" 字样。
- 8. 如果启用成功,应该会返回“Successfully set feature configuration”的提示。
- 9. 关闭命令行窗口,重启系统,这些改动设置应该就会生效。
如果你想要恢复过来,只需要将命令行中的“/enable”修改为“/disable”就可以了。
除了上述常规操作之外,ViVeTool 还支持添加其它功能选项,其中包括:
- /enable 启用一个功能。你将需要一个 Feature ID 来启用一个特定的功能。
- /disable 停用一个功能
- /query 列出所有现有的功能配置。你可以检查 Windows Feature Store 中所有 Feature ID 以及状态(包括已启用、已禁用或默认),ID 的优先级(服务或用户),以及类型(Experiment 或者 Override)。
- /addsub 添加功能使用情况订阅
- /notifyusage 取消功能使用情况订阅
- /reset 移除您所启用的特定功能的自定义配置
- /delsub 移除一个功能使用订阅
- /import 导入自定义功能配置
- /appupdate 检查本工具的新版本
- /export 输出自定义功能配置
- /fullreset 移除所有的自定义功能配置,这有助于撤销所有由你启用 / 禁用的功能等等。