Skip to content

LintabOS 0.3.11

Pre-release
Pre-release

Choose a tag to compare

@jgm240 jgm240 released this 04 Oct 14:36
· 6 commits to main since this release

LintabOS 0.3.11 (pre-release)

A new, clearly-labeled experimental tool: "Windows Boot Configuration (Experimental)", for the one thing
0.3.10 established the existing Recovery button doesn't actually do - open Windows' real Troubleshoot/Advanced
options menu. Not wired into the existing Recovery button, not enabled by default behavior, not run unattended.

What it does

Windows' own Shift+Restart / shutdown /r /o sets a flag called onetimeadvancedoptions inside Windows' Boot
Configuration Data (BCD) - a different, more direct mechanism than the UEFI OsIndications bit 0.3.9/0.3.10 use,
and the one that actually opens the Troubleshoot menu. Writing that flag means editing the BCD, which is itself a
binary registry hive - something LintabOS has never done before (see docs/LEGAL.md, LinWinMod's read-only
design). This release adds that write, but only ever behind a real safety net, every time it runs:

  • Power gate. Refuses to start unless connected to AC power and at least 40% charged. The actual write takes
    milliseconds, too fast to meaningfully catch a power-unplug event mid-write and abort it - so this is a
    pre-flight check, not a live interrupt. The ESP is FAT32, not journaled, and a write torn by power loss can
    corrupt more than just the one file.
  • Automatic backup. The live BCD is always copied to /var/lib/lintab/bcd-backup/BCD.bak before anything is
    written.
  • Fresh-handle verification. Immediately after writing, the BCD is re-opened in a brand new hivex handle (not
    the one that just wrote it) and checked - not just trusting that commit() returning without an exception means
    the result is correct.
  • Automatic restore on any failure. If that verification fails, for any reason, the backup is restored before
    control ever returns to the user.
  • Manual restore, independent of any write. The same tool can just restore the last backup on its own.

What is, and isn't, confirmed

The write path itself (hivex add-element-then-commit) was verified during development, round-tripped through a
second, independent tool (hivexsh), against real BCD samples extracted from a Windows installation ISO. That
testing is not shipped in this repo: the actual test fixture (tests/fixtures/synthetic-bcd-sample/fake-bcd)
is a synthetic, BCD-shaped hive built from tests/fixtures/sample.hive (hivex's own upstream open-source test
fixture) plus invented data - not extracted from any real Windows install, so nothing Microsoft-copyrighted ships
in this public repo. See scripts/gen-synthetic-bcd-fixture.py.

What is not yet confirmed: that writing this on an installed Windows system, then rebooting, actually opens
the Troubleshoot menu on real hardware, or that the write handles whatever structural differences a real
installed-system BCD may have (more boot entries, prior edits, a different Windows version) from the setup-media
samples it was validated against during development. That is exactly why this ships as a separate, clearly-labeled
"(Experimental)" tool - "Windows Boot Configuration (Experimental)" in the app grid - rather than replacing the
existing Recovery button.

Files: lintabos-0.3.11-amd64.iso, lintabos-core_0.3.11_all.deb + .minisig, SHA256SUMS.