重置browser.startup.homepage_override.mstone才有效,因其是Firefox判断是否允许用户设置生效的内部版本标记;当其值为非空字符串(如"120.0")时,浏览器会无视设置界面或about:config中对homepage的修改,仅重置为undefined后,用户配置才能被信任并生效。

直接改 browser.startup.homepage_override.mstone 没用,它只是个版本标记,清空或重置它才能让主页设置真正生效。
为什么重置 browser.startup.homepage_override.mstone 才有效
这个 pref 不是“覆盖地址”,而是 Firefox 用来判断是否允许覆盖主页的内部标记。当某些扩展、安装包或策略写入了 browser.startup.homepage 后,会顺带写入一个非空的 browser.startup.homepage_override.mstone(比如值为 120.0),此时浏览器就认为“有外部力量接管了主页”,会无视你在设置界面里输的任何新地址。
所以你看到“改了设置却无效”“点保存又自动跳回去”,大概率就是它在作祟。
- 它的值通常是一个字符串,形如
"120.0"或"91.0",不是数字,不能直接设为 0 或空格 - 必须右键 → “重置”,或者手动删掉整行(在
about:config中) - 重置后,该 pref 会变成默认的
undefined状态,浏览器才重新信任用户设置
修改 browser.startup.homepage 的正确顺序
单独改地址不保险,必须配合清除覆盖标记和确认启动模式:
- 先访问
about:config,接受风险 - 搜
browser.startup.homepage,双击修改为你想要的完整网址,必须带https://或http://,例如:https://example.com - 再搜
browser.startup.page,确保值为1(表示“只打开主页”);若为3(打开上次会话)或4(打开空白页),主页不会加载 - 最后搜
browser.startup.homepage_override.mstone,右键选择“重置”——这步漏掉,前面全白改
防止二次篡改:避开 user.js 和快捷方式劫持
即使 about:config 改对了,主页仍可能被悄悄改回去,常见源头有两个:
-
user.js文件优先级高于about:config:它位于配置文件夹(about:support→ “显示文件夹”),一旦存在,每次启动都会强制重载其中的user_pref("browser.startup.homepage", "...")。解决方法是删掉整个user.js,或至少删掉那行 - 快捷方式“目标”被注入网址:右键桌面图标 → 属性 → 快捷方式 → “目标”框末尾如果出现空格加
http://xxx.com,直接删光,只留引号内的firefox.exe路径
这两处不清理,about:config 的修改顶多撑一次重启。
进阶锁定:注册表或策略组(仅限 Windows 企业/深度防护场景)
普通用户不需要碰注册表,但如果你在单位电脑或需要彻底防篡改,可考虑系统级锁定:
- 对 Firefox,Windows 下没有官方支持的注册表锁主页机制;
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Mozilla\Firefox路径需手动创建,且 Firefox ESR 版本才稳定识别Homepage策略项 - 更可靠的是用火绒、腾讯电脑管家等工具的“浏览器保护”功能,它们通过挂钩进程启动行为拦截写入,比改配置更底层
- 注意:第三方策略工具可能与某些安全软件冲突,启用前先关掉其他防护类插件
真正顽固的劫持,往往不是配置没改对,而是 user.js 还躺着、快捷方式还带着毒、或者某个后台进程每分钟都在重写 prefs.js —— 先查清源头,再动配置。


















