v4.0.5
4.0.5: bare-metal restore verified on a seventh system — Linux Mint 22.3 on the Acer Predator Triton 500, UKI-only systemd-boot built by the host's own hooks, LVM on LUKS
Restored from the installed system onto a blank 2 TB USB SATA SSD with
testbed/testbed.sh, booted first in a VM (testbed.sh vmboot: PASS, the
passphrase typed at the initramfs prompt), then on the machine from the
firmware menu with Secure Boot on: Wi-Fi, DNS, Bluetooth up, 99.99% of
686,667 files restored with the archived size, testbed.sh collect →
VERDICT: PASS, this machine's disks identical before and after.
The first restore of this machine would not have booted.
Restore:
- restore-rebuild-boot.sh: on a UEFI host with systemd-boot, a grub.cfg counts
as GRUB only when the ESP holds a GRUB image ("GNU GRUB", or a bare core's
"grub rescue> "/grub_mod_init). A Mint host with the grub packages installed
got grub-install and update-grub: shim → GRUB on the fallback path, and a menu
with no Linux entry (only os-prober's find on this machine's Windows disk). - restore-rebuild-boot.sh: UKIs built by a Debian host's own kernel postinst /
initramfs post-update hook (ukify) are rebuilt through update-initramfs
(UKI_TOOL=update-initramfs), one kernel at a time; a kernel is installed when
dpkg says so (a UKI-only host keeps no /boot/vmlinuz-*), and every UKI must
have changed afterwards. kernel-install with layout=none had done nothing:
every UKI kept an initramfs that unlocks the source disk. The update-initramfs
loop is one function for both paths. - restore-rebuild-boot.sh: sbctl sign-all failing only on database entries for
files that are gone is named as such, not reported as a signing failure. - borg-restore.sh: the crypttab entry of an LVM root is also found by the
volume group its container holds on this system, when the restored LVM
metadata backup names another device. - backintime-restore.sh: the installed-system crypttab pairing of
borg-restore.sh (containers open under another name, the old disk still
installed) and the rebuild-only 'initramfs' option, the same code.