• Recent
    • Unsolved
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Multiple Windows Boot Manager using UEFI

    Scheduled Pinned Locked Moved Unsolved
    Windows Problems
    4
    12
    4.5k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • F
      FlareImp
      last edited by

      I have ran into a problem where each time a machine is imaged using UEFI it does not remove the old “Windows Boot Manager” and creates a new entry after each image. Currently my Test machine has 5 WBM entries.The reason this is an issue is because the Setup.cmd script I am using sets the boot order to "Network IPv4, CD-ROM,HDD but with multiple entries it screws up because of the false entries. Has anyone had a similar issue or know a way to reset it during or after imaging?

      Thanks,

      Z 1 Reply Last reply Reply Quote 0
      • Q
        Quazz Moderator
        last edited by

        Brand, model and version of the device in question?

        Check for BIOS updates (funny how we don’t yet call them UEFI updates, even on manufacturer websites)

        F 1 Reply Last reply Reply Quote 0
        • F
          FlareImp @Quazz
          last edited by

          @quazz Dell Optiplex 9020, 7050, 7440, 7450, and all BIOS on those models are up to date.

          1 Reply Last reply Reply Quote 0
          • Z
            Zer0Cool @FlareImp
            last edited by

            @flareimp Can you share your Setup.cmd script? You may have to add some logic to it to delete these duplicate entries before setting order etc.

            I think what you are seeing is pretty common, not even a Windows only issue really. In my testing I have entries in boot selection for Windows, Fedora and CentOS even though they arent installed (and would fail if selected to boot). I typically go and clean them out manually but if together we find a way to do it via Setup.cmd then I may add the logic to my own process.

            F 1 Reply Last reply Reply Quote 0
            • F
              FlareImp @Zer0Cool
              last edited by

              @zer0cool Here is my Setup.cmd file

              cls
              set mydir=%~dp0
              
              Echo **************
              Echo !!!Set Time!!!
              Echo **************
              Regedit /s "C:\Windows\Setup\TimeZoneSet.reg"
              
              "C:\Program Files (x86)\Dell\Command Configure\X86_64\cctk.exe" bootorder --bootlisttype=uefi --sequence=uefi.1,uefi.2,hdd.1
              
              "C:\Program Files (x86)\Dell\CommandUpdate\dcu-cli.exe" /silent
              
              DEL "C:\Users\Public\Desktop\Dell Command Configure Wizard.lnk" /Q
              
              Echo *
              Echo **********************************
              Echo !!!Uninstall Fog Legacy Service!!!
              Echo **********************************
              Echo *
              MsiExec.exe /x {91C5D423-B6AB-4EAB-8F17-2BB3AE162CA1} /qn
              RD /Q /S "C:\Program Files (x86)\Fog"
              DEL /Q "C:\fog.log"
              DEL /Q /S "C:\Users\Default\Downloads\*"
              RD /Q /S "C:\Users\Default\Downloads\FogPrep"
              RD /Q /S "C:\Users\Default\Downloads\FogService"
              
              Echo *
              Echo ***********************
              Echo !!!Checking Location!!!
              Echo ***********************
              
              ipconfig    | find /i "10.20." > NUL
              IF %ERRORLEVEL% == 0 SET FogServer=10.20.9.50
              
              ipconfig    | find /i "10.21." > NUL
              IF %ERRORLEVEL% == 0 SET FogServer=10.21.9.50
              
              ipconfig    | find /i "10.22." > NUL
              IF %ERRORLEVEL% == 0 SET FogServer=10.22.9.50
              
              ipconfig    | find /i "10.23." > NUL
              IF %ERRORLEVEL% == 0 SET FogServer=10.23.9.50
              
              ipconfig    | find /i "10.25." > NUL
              IF %ERRORLEVEL% == 0 SET FogServer=10.25.9.50
              
              ipconfig    | find /i "10.28." > NUL
              IF %ERRORLEVEL% == 0 SET FogServer=10.28.9.50
              
              ipconfig    | find /i "10.29." > NUL
              IF %ERRORLEVEL% == 0 SET FogServer=10.29.9.50
              
              Echo *
              Echo *
              Echo ***********************************
              Echo !!!Installing Fog Client Service!!!
              Echo ***********************************
              
              msiexec /i C:\Windows\Setup\Scripts\FOGService.msi /quiet USETRAY="0" HTTPS="0" WEBADDRESS="%FogServer%" WEBROOT="/fog" ROOTLOG="0" /l*v "C:\PerfLogs\fog-install.log"
              Net start FogService
              sc config FOGService start= auto
              rem shutdown /t 0 /r
              :Complete
              
              Z 1 Reply Last reply Reply Quote 0
              • Z
                Zer0Cool @FlareImp
                last edited by

                @flareimp Ok so it looks like you are actually using a Dell utility (cctk) to set boot order. From some quick Googling and not really knowing the tool 2 things stand out to me:

                • Dell seems to potentially have replaced cctk with Dell Command and Configure (DCC), as noted here. May be worth seeing if moving to this tool works better for your needs.
                • I was not able to find a complete listing of cctk commands. I think it was -h was to list all of its options on the command line. I would look to see if there is any option to remove specific boot entries or to clear the boot entries to a default setting, then set to your desired order.

                When you say:

                @flareimp said in Multiple Windows Boot Manager using UEFI:

                but with multiple entries it screws up because of the false entries.

                What do you mean specifically. Is there an error message, does it do something unexpected, do nothing, etc?

                F 1 Reply Last reply Reply Quote 0
                • F
                  FlareImp @Zer0Cool
                  last edited by

                  @zer0cool I am using Dell Command Configure, Dell just has the exe file labeled as CCTK.exe. There is not really an error message that pops up but the utility can not set the boot order once the “Windows Boot Manager” has more than two duplicate entries because the uefi.x gets out of order and it selects the wrong device. If I can’t get the boot order set than it will require our techs to visit the machine to PXE boot it because it will have the OS set as the first boot device. Plus, you can only have so many WBM entries so I have read.

                  Z 1 Reply Last reply Reply Quote 0
                  • Z
                    Zer0Cool @FlareImp
                    last edited by

                    @flareimp Ok gotcha, hate when companies keep the old exe name 😕

                    So do you know of any in depth documentation for the available commands for DCC? Maybe it has a command available to clear out the entries prior to setting them.

                    To be clear, as I understand it, these entries are what you would see in the “selecting boot device” from the BIOS boot options right, not remaining partitions that you do need? In other words its just the entries that remain in the BIOS boot devices and not partitions on disk for those bot entries that remain.

                    If DCC doesnt have a command/switch to do this, I wonder if there is another option (a batch file or script) you could run in Setup.cmd prior to cctk.exe that would effectively clear out the invalid entries.

                    In some quick google searching maybe something like (I have not tested any of these):
                    https://gallery.technet.microsoft.com/scriptcenter/Clear-Windows-Boot-Manager-7020323d
                    https://social.technet.microsoft.com/Forums/en-US/63773659-fc98-4b91-8081-1def38af4f9d/multiple-entries-of-quotwindows-boot-managerquot-in-uefi-on-surface-pro-3?forum=mdt (has a couple scripts listed)

                    https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc721886(v=ws.10)

                    The last one has this entry:

                    How to delete a boot entry
                    At the command prompt, type:
                    
                    bcdedit /delete ID [/f]
                    ...
                    

                    So maybe it can be done using bcdedit from a batch file or something if PowerShell isnt an option like in most of the scripts the other links provide.

                    If you find a solution I would be interested to know what it is. Hope this helps.

                    1 Reply Last reply Reply Quote 0
                    • george1421G
                      george1421 Moderator
                      last edited by

                      Just to be clear, if you were to use fog to deploy an image 3 times to a target computer, you would have 3 Microsoft Boot Managers listed in the uefi firmware?

                      Please help us build the FOG community with everyone involved. It's not just about coding - way more we need people to test things, update documentation and most importantly work on uniting the community of people enjoying and working on FOG!

                      F 1 Reply Last reply Reply Quote 0
                      • F
                        FlareImp @george1421
                        last edited by

                        @george1421 That is correct.

                        Z 1 Reply Last reply Reply Quote 0
                        • Z
                          Zer0Cool @FlareImp
                          last edited by

                          @flareimp I found the documentation for DCC. It looks like you can disable devices but I do not see an option to delete them.

                          http://www.dell.com/support/manuals/us/en/19/command-configure-v4.1/dcc_cli_4.1.0/--disabledevice?guid=guid-dbe77d57-e1bb-4185-acb4-4b6e3852b4b7&lang=en-us

                          So I think your best bet is using a script based solution like in the links I gave before, either leveraging PowerShell or bcdedit, or attempting to disable the duplicates via DCC. However without DCC having the ability to delete them, you could end up with trouble later when you have a crazy number of those extra entries just disabled.

                          1 Reply Last reply Reply Quote 0
                          • F
                            FlareImp
                            last edited by FlareImp

                            You were correct, using DCC is not an option. I did find that by using the CMD prompt and entering

                            bcdedit.exe /enum
                            

                            it will display your working Windows Boot Manager but not the extras. However, if you use

                            bcdedit.exe /enum firmware
                            

                            it will display all the different WBMs, even the faulty ones.
                            I am currently trying to build a script that will remove the false entries.

                            1 Reply Last reply Reply Quote 0
                            • 1 / 1
                            • First post
                              Last post

                            244

                            Online

                            12.0k

                            Users

                            17.3k

                            Topics

                            155.2k

                            Posts
                            Copyright © 2012-2024 FOG Project