Categories

  • 13k Topics
    115k Posts
    G

    Hi Tom,

    In my case the culprit was /images/postdownloadscripts/fog.postdownload.

    echo "Activating boot partition..." sfdisk --activate /dev/sda 1 echo "Rebooting..." reboot -f

    Fix was simply commenting out (or deleting) those lines. After cleanup the file looks like this:

    cat /images/postdownloadscripts/fog.postdownload #!/bin/bash ## This file serves as a starting point to call your custom postimaging scripts. ## <SCRIPTNAME> should be changed to the script you're planning to use. ## Syntax of post download scripts are #. ${postdownpath}<SCRIPTNAME>

    Thanks for the pointer, Tom — saved me from chasing GPT partition tables for a problem that had nothing to do with them.

  • Get the latest news on what's happening.
    184 Topics
    825 Posts
    A

    @Tom-Elliott I really appreciate that you are putting effort into providing more frequent releases, which makes it easier for everyone to deploy new security fixes in time. Keep up the good work!

  • View tutorials or talk about FOG in general.
    2k Topics
    19k Posts
    R

    Now I read the AI summary and got what I need:

    It stores one row for each address in the hostNetwork table. Limits of this method The sleeping host must run fog-agent. The server uses the sleeping host’s own last report to find its subnet. A host with the legacy FOG Client, or with no client, has no rows, so the relay cannot help it. The old path still runs for it.

    So If I populate the hostNetwork table for the hosts that I need manually, It will work. Thank you for the details.

  • Report bugs, request features, or get the latest progress.
    2k Topics
    21k Posts
    Tom ElliottT

    @servicedesk-pianezza Those are clean tests and they kill my theory. Correcting the record, and then I think your
    own last test moves this a long way.

    The stale-metadata idea is dead. A zeroed disk with a fresh deploy still hangs, and
    mdadm --examine found no superblock either side of the wipe. Drop it.

    I also replayed our GPT restore path locally against a Windows 11 resizable image, onto a
    disk deliberately smaller than the captured one — the same order FOS uses: dd of d1.mbr,
    sgdisk -z, sgdisk -gl, then the filldisk table through sfdisk. The result verifies clean:
    sgdisk -v reports no problems, the protective MBR is a single 0xEE entry spanning the whole
    device, and first/last usable sectors match the target. So a malformed partition table is not
    what we are looking at either.

    Now the part I think you undersold. You reached the FOG iPXE menu and chose “Boot from hard
    disk”, with the deployed drive fitted, and then it hung. That means the firmware finished
    POST, brought up the NIC, ran iPXE and drew a menu — all with that drive present. The
    firmware is not the thing that hangs.
    It hands off to bootmgfw.efi and the hang is after
    that point.

    Which reframes the symptom. “Stuck at the Dell logo” is not the firmware stalling. It is the
    Windows boot chain hanging before anything repaints the screen, so the OEM logo simply stays
    up. F12 being dead is expected there — the firmware gave up the keyboard at handoff. It also
    explains the missing Automatic Repair: Windows’ boot-failure counter is incremented by the
    boot manager, and a hang never reaches the code that does it.

    So the question is now why this image hangs in early Windows boot on a Whiskey Lake Latitude
    and not on a 12th-gen HP. Two things to do, in this order.

    Deploy the same image to the same Dell as Single Disk (Not Resizable). This splits the
    problem in half for the cost of one deploy. Both 2020 reports on this hardware said
    non-resizable worked where resizable did not — see banana123 in topic 14147, “Using Multiple
    Partition Image - Single Disk (Not Resizable) DOES work fine”. If non-resizable boots, the
    fault is in our resize path, it is ours, and I will want d1.minimum.partitions,
    d1.fixed_size_partitions and a full debug-deploy transcript. If it hangs too, the resize
    path is exonerated and it is the image.

    Make Windows tell you where it stops. Boot a Windows installer USB on the hung machine,
    Shift-F10 for a command prompt, find the ESP letter with diskpart, then:

    bcdedit /store X:\EFI\Microsoft\Boot\BCD /set {default} sos on bcdedit /store X:\EFI\Microsoft\Boot\BCD /set {globalsettings} bootmenupolicy legacy

    sos replaces the logo with the list of boot drivers as they load, so the screen names the
    last thing it got to instead of showing you a logo. bootmenupolicy legacy gives you the F8
    menu, and Safe Mode is itself a useful result.

    Last question, because you have not said it anywhere in the thread: was the image captured
    after sysprep /generalize /oobe /shutdown, or from a VM that had simply been shut down? An
    image captured without generalize carries the source machine’s driver and device state, and
    booting on one chipset but not another is the usual way that shows up.

56

Online

12.8k

Users

17.6k

Topics

157.1k

Posts