Skip to content

订单与 VHDX 配置 ​

“自定义订单配置”是机台管理页面中最复杂的编辑器。它把多个下载项、发布时间、可选安装、差分镜像、目录映射和启动脚本组合成一个 JSON 数组,再由管理员选择要使用的订单。

本文只说明网页上可见的配置格式和使用方法。订单涉及磁盘、启动和内容更新,任何未知字段都应先在测试机台验证。

进入编辑器 ​

  1. 登录有机台权限的账号。
  2. 打开“机台管理”。
  3. 在“自定义订单配置”卡片中点击设置。
  4. 页面会读取当前订单列表;读取失败时不要直接覆盖为空数组。
  5. 编辑完成后点击“保存配置”,等待操作结果。

打开弹窗时会把当前内容加载到本地编辑状态。刷新机台配置不会打断已经打开的编辑器,因此保存前应重新确认你编辑的是最新版本。

配置总形状 ​

顶层必须是 JSON 数组,每个元素是一个订单对象:

json
[
  {
    "name": "ORDER_A01",
    "description": "示例订单",
    "install_path": "Y:\\Zunda\\Disk\\ORDER_A01",
    "is_delete": false,
    "is_option": true,
    "is_vhdx": false,
    "vhdx_pwd": "",
    "current": {
      "order_time": "2026-01-01T07:00:00",
      "release_time": "2026-01-01T07:00:00"
    },
    "settings": {
      "mklink": {
        "enable": false,
        "mode": 0,
        "src_path": "",
        "dst_path": ""
      },
      "sideload": {
        "enable": false,
        "run_path": ""
      }
    },
    "install": [],
    "install_mklink": {}
  }
]

空配置使用 []。如果文本不是数组、JSON 逗号缺失或引号不闭合,编辑器会显示“JSON 格式错误”,保存按钮不会提交。

顶层订单字段 ​

name ​

订单唯一标识,也是侧载选择弹窗中显示的版本名。建议使用短、稳定、只包含字母、数字、短横线或下划线的名称。

  • 不要重复使用同一个名称;
  • 不要在名称中包含密码或临时下载地址;
  • 修改名称会让原来的自定义侧载按钮变成新名称。

description ​

仅用于管理员识别订单的说明文字。可以写版本、用途、来源和预计发布时间,但不要写敏感凭据。

install_path ​

订单在机台上的安装/数据根目录。它必须是目标机台实际存在或允许创建的路径。

  • 使用 Windows 路径时,在 JSON 文本中反斜杠必须写成 \\;
  • 不要使用当前正在运行的关键目录作为临时测试路径;
  • VHDX 订单和压缩包订单应分别使用独立目录;
  • 修改路径前先确认磁盘空间和权限。

is_delete ​

开启后该订单会被当作删除项处理,而不是普通安装项。它适合清理旧内容,不适合用来暂时隐藏订单。提交前必须确认订单名称和路径没有写错。

is_option ​

开启后订单属于可选安装项。它不会因为出现在配置数组中就自动运行,必须同时在“订单项可选安装列表”中选中名称。

is_vhdx ​

开启后订单使用 VHDX 差分镜像方案。此时 vhdx_pwd、安装项里的 vhdx_name 和安装映射通常都必须配套填写。

vhdx_pwd ​

VHDX 镜像的解锁/保护密码。它是高敏感字段:

  • 不要把真实密码提交到公开仓库或聊天记录;
  • 不要用普通用户密码替代;
  • 不要在文档、截图或错误报告中显示;
  • 只填写管理员为该镜像提供的值;
  • 复制时确认没有多余空格和换行。

current.order_time 与 current.release_time ​

订单整体的下单时间和发布时间,格式为:

text
2006-01-02T15:04:05

建议使用同一时区约定,并在公告中写清楚时区。order_time 表示订单开始进入处理流程;release_time 表示内容允许被后续流程应用的时间。下载完成但发布时间未到时,订单可能保持等待状态,这是正常现象。

这是订单级目录映射设置。

json
"mklink": {
  "enable": true,
  "mode": 0,
  "src_path": "Y:\\Zunda\\Mount\\Shared",
  "dst_path": "Y:\\Zunda\\Disk\\ORDER_A01\\Shared"
}
字段类型说明
enableboolean是否启用这组目录映射
modenumber映射模式编号;当前 UI 只提供数字输入,必须使用管理员给出的模式值
src_pathstring映射源路径
dst_pathstring订单内的目标路径

网页没有为 mode 提供枚举说明,因此不要凭猜测填写非零值。确认方式是使用管理员提供的已验证样例,并在测试机上检查目录是否按预期出现。

settings.sideload ​

控制订单是否进入侧载启动列表:

json
"sideload": {
  "enable": true,
  "run_path": "T:\\ORDER_A01\\start.bat"
}
字段类型说明
enableboolean是否把该订单加入侧载启动选择
run_pathstring该订单的启动脚本或启动入口

run_path 必须是目标机台可以访问的路径。脚本不存在、盘符未挂载或路径包含错误转义时,订单可能下载成功但启动失败。

install 安装项数组 ​

一个订单可以有多个安装项,适合把大内容拆成多个文件或把公共资源和可选资源分开。

json
"install": [
  {
    "name": "ORDER_A01_base",
    "hash": "<SHA256>",
    "url": "https://download.example.invalid/object",
    "pwd": "",
    "size": 123456789,
    "vhdx_name": "",
    "order_time": "",
    "release_time": ""
  }
]

安装项字段 ​

字段类型说明
namestring安装项名称,用于进度和管理识别
hashstring下载校验值;必须与管理员给出的值完全一致
urlstring下载地址;使用 HTTPS 和可信来源
pwdstring压缩包或安装项密码,没有密码时为空
sizenumber预期大小,单位为字节,不是 MB/GB
vhdx_namestringVHDX 文件名;普通压缩包通常为空
order_timestring安装项自己的处理时间,可覆盖或补充订单时间
release_timestring安装项自己的发布时间

时间优先级 ​

当安装项填写自己的 order_time/release_time 时,管理流程会优先使用安装项时间;没有填写时才使用订单整体的 current 时间。为了避免同一订单出现不同步,建议同一批安装项统一填写或统一留空。

size 和 hash ​

  • size 写字节数,错误一个数量级会影响进度展示和完整性判断;
  • hash 是校验值,不要把 URL、文件名或压缩包密码写进去;
  • 任何下载失败先重新检查 URL、大小和校验值,不要关闭校验。

VHDX 订单完整流程 ​

适合的场景 ​

VHDX 适合把大型、固定结构或需要差分镜像管理的内容作为独立订单交付。普通小文件或一次性脚本更适合使用压缩包订单。

编辑器顶部的“填入压缩包示例配置”和“填入 VHDX 示例配置”只是脱敏模板生成器:点击后会把当前数组替换成示例内容;如果已有订单,网页会先要求确认。示例中的地址、密码、校验值和路径不能直接用于真实机台。

两种安装模式对比 ​

项目压缩包订单VHDX 订单
is_vhdxfalsetrue
顶层 vhdx_pwd通常为空由管理员提供
安装项 vhdx_name通常为空每个镜像填写文件名
安装项 pwd可能是压缩包密码视下载包是否加密
适用内容普通文件、脚本、资源包大型镜像、差分内容
排障重点URL、密码、Hash、解压路径镜像密码、镜像文件名、挂载路径和链接映射

不要在同一个安装项上同时套用两套规则;如果管理员没有明确说明,优先使用压缩包模板并询问确认。

群组经验:订单完成不等于内容已可用 ​

现场反馈显示,订单常见的“看似完成”状态包括:下载完成但等待发布时间、主包完成但拆分包未完成、镜像已下载但尚未挂载,以及机台重启后仍选择了旧侧载项。遇到缺内容时,按以下顺序检查:

  1. install 中的每个安装项是否都完成;
  2. hash、size 和文件名是否一致;
  3. release_time 是否已经到达;
  4. 订单是否被可选列表、黑名单或删除列表影响;
  5. settings.sideload 与当前选择的侧载项是否一致;
  6. 重启后健康数据和磁盘状态是否更新。

不要用同名订单覆盖正在处理的订单,也不要因为屏幕版本号不变就删除下载缓存。

配置步骤 ​

  1. 点击“填入 VHDX 示例配置”查看完整字段形状;
  2. 如果已有订单,确认弹窗中的替换提示后才会覆盖全部内容;
  3. 修改 name、description 和 install_path;
  4. 打开“VHDX 订单”;
  5. 填写管理员提供的 vhdx_pwd;
  6. 在 install 中添加一个或多个安装项;
  7. 为每个 VHDX 安装项填写 hash、url、size 和 vhdx_name;
  8. 如果镜像需要启动入口,开启 settings.sideload 并填写 run_path;
  9. 必要时配置 install_mklink;
  10. 检查 JSON 状态为“JSON 有效”;
  11. 保存配置,等待操作进度完成;
  12. 在侧载模式弹窗中选择该订单,空闲时重启并验收。

VHDX 典型模板 ​

下面是脱敏模板,不能直接用于生产机台:

json
[
  {
    "name": "ORDER_VHDX_A",
    "description": "VHDX 测试订单",
    "install_path": "Y:\\Zunda\\Disk\\ORDER_VHDX_A",
    "is_delete": false,
    "is_option": true,
    "is_vhdx": true,
    "vhdx_pwd": "<VHDX_PASSWORD>",
    "current": {
      "order_time": "2026-01-01T07:00:00",
      "release_time": "2026-01-01T07:00:00"
    },
    "settings": {
      "mklink": {
        "enable": false,
        "mode": 0,
        "src_path": "",
        "dst_path": ""
      },
      "sideload": {
        "enable": true,
        "run_path": "T:\\ORDER_VHDX_A\\start.bat"
      }
    },
    "install": [
      {
        "name": "ORDER_VHDX_A_0",
        "hash": "<SHA256>",
        "url": "https://download.example.invalid/vhdx",
        "pwd": "",
        "size": 0,
        "vhdx_name": "ORDER_VHDX_A_0.vhdx",
        "order_time": "",
        "release_time": ""
      }
    ],
    "install_mklink": {}
  }
]

VHDX 常见错误 ​

现象优先检查
下载完成但无法应用hash、size、vhdx_name 和发布时间
解锁失败密码是否完整、是否有多余空格、镜像是否匹配
侧载按钮不显示is_vhdx、settings.sideload.enable 和订单可选列表
启动后找不到内容install_path、install_mklink 和挂载盘状态
订单一直等待release_time 尚未到达,或安装项时间覆盖了订单时间
重启后回到旧版本是否真的选择了自定义订单,是否保存排序,是否完成应用

这是一个 JSON 对象,键和值都是路径。网页将每一对显示为“键/值”两列:

json
"install_mklink": {
  "Y:\\Zunda\\Mount\\Shared": "Y:\\Zunda\\Disk\\ORDER_A\\Shared"
}

根据当前界面字段说明,键表示目标路径,值表示源路径。实际应用前必须以管理员提供的已验证样例为准,因为路径方向错误可能导致内容不可见或覆盖错误目录。

添加映射:点击“添加映射”,填写键和值;修改键时网页会删除旧键并创建新键;删除映射不会删除磁盘上的原始文件,只会从订单 JSON 中移除该条记录。

订单编辑器的安全行为 ​

  • 点击“移除”只从当前编辑数组移除订单,保存后才会提交;
  • 点击示例按钮会在已有内容时弹出替换确认;
  • JSON 语法错误时保存按钮不应提交;
  • 文本区域是最终生成 JSON 的可见结果,可以复制到离线备份;
  • 点击“保存配置”后弹窗关闭,页面继续显示操作进度;
  • 保存失败时应回到编辑器检查,不要重复提交同一份未知配置。

编辑器会把每次表单改动重新序列化为格式化 JSON。右下角文本区是最终提交内容,可以用复制功能保存到离线文件;直接修改文本区后,只有 JSON 能够解析时才会更新表单对象。发现格式错误时,先撤销最后一次输入,或从最近的有效备份恢复。

订单项可选安装列表 ​

该弹窗输入订单项名称列表,用英文逗号分隔。只有被列出的、且订单本身 is_option 为真的项目才会被选择。

示例格式:

text
ORDER_A01,ORDER_B02

不要写 JSON 数组、不要使用中文逗号、不要把描述文字混入名称。修改后重新打开弹窗确认保存值。

聊天经验:可选列表为空或订单不能选择 ​

现场提问中经常把“订单存在”“订单已下载”和“订单出现在可选侧载列表”混为一谈。要让一个可选项可见并可用,至少需要同时满足:

  1. 订单本身的可选开关已开启;
  2. 可选列表中的名称与订单/安装项名称逐字一致;
  3. 黑名单和数据删除列表没有排除它;
  4. 发布时间已到,当前分支和账号/机台范围允许;
  5. 订单和安装项已经保存,并在健康页完成回读。

可选列表输入的是名称列表,不是 JSON 数组。中文逗号、复制来的换行、描述文字、旧名称和首尾空格都可能造成“保存了但列表为空”。保存后重新打开弹窗确认实际值;不要为修复列表显示而创建同名订单、复制其它机台配置或删除旧订单。

订单项黑名单列表 ​

黑名单用于禁用指定订单项,输入规则与可选安装列表相同。黑名单优先级通常高于普通可选列表,排障时应先检查黑名单是否误包含目标名称。

订单项数据删除列表 ​

该列表用于指定需要清理数据的订单项,属于高风险设置:

  • 只填写确认可以删除的订单名;
  • 保存前离线记录原值;
  • 不要把“黑名单”误当作“删除列表”;
  • 应用后先观察磁盘和订单状态,再进行其它更新。

聊天经验:切换侧载后不要随意禁用订单功能 ​

侧载运行和订单处理是两个不同的可见设置。现场公告曾提醒,迁移侧载分支后如果关闭订单功能,部分设置更新可能无法生效;因此“当前内容已下载”不等于“订单功能以后可以永久关闭”。

若当前发布说明要求保留订单功能,就保持原值,并先确认订单列表、安装项和设置更新都能完成。确需关闭时,先记录原值、当前分支、订单进度和影响范围,在维护窗口操作;关闭后若出现设置不更新、内容不完整或挂载状态不变,先恢复原值并回读,不要同时改网络和映射。

更新限速 ​

“自定义更新限速设置”弹窗包含:

字段单位/含义
启用是否启用限速配置
下载限速下载阶段上限,MB/s
Hash 下载限速校验文件下载阶段上限,MB/s
Hash 安装限速校验/安装阶段上限,MB/s
安装限速安装阶段上限,MB/s

输入 0 通常表示不设置该阶段的额外上限;实际效果以机台状态为准。限速过低会让订单长时间处于处理中,限速过高则可能影响现场网络。

聊天经验:全部安装项同时报错时先看限速 ​

历史现场反馈中出现过所有安装项同时进入相同失败状态的情况,后来发现共同条件可能是自定义更新限速、网络或磁盘,而不是每个安装项同时损坏。遇到这种模式:

  1. 记录每个安装项的状态码、说明和时间;
  2. 检查自定义限速是否开启,四个阶段是否被设置得过低;
  3. 以当前发布说明要求为准,必要时关闭自定义限速或恢复管理员给出的最低值;
  4. 保存一次并等待完整结果;
  5. 仍失败时再检查空间、速度、Hash、大小和发布时间。

聊天中的旧数值只代表当时批次,不能固化为永久阈值。不要同时修改限速、订单、分支和网络,否则无法判断真正原因。

聊天经验:多安装项会逐项变化,挂载慢不一定是失败 ​

现场反馈中出现过“只更新了一个安装项”“总进度已完成但内容仍不可见”和“侧载镜像挂载很慢”。多安装项订单可以分别经历下载、校验、释放、挂载和应用;总进度或单项变绿都不能替代逐项状态。

排查时打开健康页的订单详情,同时观察:

  • 每个安装项的状态、状态说明、发布时间和最近更新时间;
  • 磁盘可用空间、读写速度和网络速度;
  • 当前运行分支、挂载状态和最后上报时间。

进度或最后上报仍在变化时,等待一次完整周期;所有字段长时间不变时,保存脱敏证据并报告。不要连续点击挂载、重复创建同名订单、删除镜像或在等待中修改映射。

复核清单 ​

保存自定义订单前逐项确认:

  1. 顶层是数组,JSON 状态显示有效;
  2. 每个 name 唯一且没有敏感信息;
  3. 路径全部属于目标机台可用磁盘;
  4. VHDX 订单的密码、文件名、校验值和大小已由管理员核对;
  5. 订单和安装项时间使用同一时区约定;
  6. 可选列表、黑名单和删除列表没有互相冲突;
  7. 侧载启动脚本路径存在;
  8. 已下载当前配置备份,并准备恢复 U 盘;
  9. 机台空闲,保存后有时间观察完整进度。

Released under the CC BY-NC-SA 4.0 License.