{% extends "base.html" %} {% import '_ui.html' as ui %} {% block title %}Boot menu editor - PXE Server Manager{% endblock %} {% set snap_labels = {'STARTNET_SAVE': 'Raw edit', 'STARTNET_SETTINGS': 'Settings change', 'STARTNET_MENU': 'Boot menu change', 'STARTNET_RESTORE': 'Restore'} %} {% set n_lint = (lint.errors | length) + (lint.warnings | length) %} {% block extra_head %} {% endblock %} {% block content %}
WinPE boot

Boot menu editor startnet.cmd

Saves rewrite startnet.cmd inside boot.wim and affect every PXE boot. The prior copy is snapshotted first, so any save can be restored from History.
boot.wim{{ '' if wim_exists else ' missing' }}
{% if not wim_exists %}
{% if snapshots %}

Snapshots

{{ snapshots | length }} earlier startnet.cmd snapshot{{ 's' if snapshots | length != 1 }} {{ 'are' if snapshots | length != 1 else 'is' }} still on disk. Restore is unavailable until boot.wim is present.

{% endif %}
{% else %} {% macro wim_info_dl() %}
{% for key, val in wim_info.items() %} {% if key in ['Image Count', 'Compression', 'Total Bytes', 'Image Name', 'Image Description', 'Name', 'Description', 'Size'] %}
{{ key }}
{{ val }}
{% endif %} {% endfor %}
{% if not wim_info %}

Could not read WIM info.

{% endif %} {% endmacro %}

Boot settings

Each field edits only its own line in startnet.cmd. Leave a field blank to keep the current value. The save goes through the same boot.wim path as the Raw tab.

Address startnet.cmd maps the winpeapps share from.
Whole seconds before the default menu entry auto-selects.
The entry chosen when the timeout elapses.

WIM info

{{ wim_info_dl() }}
Appending a new image at the end always works. Reordering or removing an entry whose number the enrollment %choice% router cross-references may be refused by the server to keep numbering in sync. If so, the raw text is left untouched and the reason is shown at the top of the page.

Raw startnet.cmd

Windows\System32\startnet.cmd
Editing startnet.cmd inside {{ wim_path }}. Tab inserts a tab; Esc then Tab moves focus on.

Lint

{% if lint.errors %}{{ ui.chip(lint.errors | length ~ ' error' ~ ('s' if lint.errors | length != 1 else ''), 'err') }}{% endif %} {% if lint.warnings %}{{ ui.chip(lint.warnings | length ~ ' warning' ~ ('s' if lint.warnings | length != 1 else ''), 'warn') }}{% endif %}
{% if not n_lint %}

No issues found in the saved copy.

{% else %}
    {% for e in lint.errors %}
  • {{ e.message }}
  • {% endfor %} {% for w in lint.warnings %}
  • {{ w.message }}
  • {% endfor %}

Lint runs on the saved copy. Select a line number to jump to it.

{% endif %}

WIM info

{{ wim_info_dl() }}
Common startnet.cmd commands
wpeinitInitialize WinPE networking
wpeutil WaitForNetworkWait for network to be ready
net use Z: \\172.16.9.1\winpeappsMap the Samba share for deployment
Z:\gea-standard\Deploy\Tools\deploy.cmdLaunch the deployment script

Snapshots

Every save snapshots the prior startnet.cmd first. Diff a snapshot against the current boot.wim, or restore it. Restoring also snapshots the current copy first.

{% if not snapshots %}
No snapshots yet.
{% else %} {% for s in snapshots %}
{{ s.timestamp }} {{ snap_labels.get(s.note, s.note) if s.note else 'Snapshot' }} {% if loop.first %}{{ ui.chip('Latest', 'neutral') }}{% endif %} {{ '%.1f'|format(s.size / 1024) }} KB
{% call ui.more('snapshot ' ~ s.timestamp, left=True) %}
{% endcall %}
{% endfor %} {% endif %}
{% endif %}
{% endblock %} {% block extra_scripts %} {% if wim_exists %} {% endif %} {% endblock %}