How to make the F11 key work in your custom Windows 10 image using SCCM


This post is expanding on someotherguy's KB article on how to make the F11 functionality work again if you're deploying a custom Windows 10 image in your environment. As of this post, SCCM Current Branch 1702 will be covered. (Note: This is only applicable to Windows 10 configured in UEFI mode)

With Think products, pressing the F11 key at boot will launch the recovery utilities. This is available if the system's operating system is preloaded from Lenovo. However, most large enterprise customers re-image the systems with a custom image. Once this happens, F11 will no longer work.

As mentioned in someotherguy's KB, an .efi file must be added to the boot folder in the System partition.

Here are the steps to accomplish this:

1. Download the LenovoBT.zip file. Extract the contents to a source directory on your site server.

2. In your console, create a new Package that will contain the .efi file. Do not create a program.




Distribute the Package to your Distribution Points

3. Edit your Task Sequence and create a new group anywhere after the Setup Windows and ConfigMgr step.




Nested under this group will be 3 Run Command Line steps that will:

Mount the System Partition




Copy the .efi file to the EFI\Boot folder. The command line being xcopy ".\*.*" "S:\EFI\Boot"




Unmount the System Partition.



Once the system completes OSD, you can verify the file exists



Now, when F11 is triggered, the system will bypass normal boot to Windows and into Recovery.

Comments

  1. Running "mountvol s: /s" gives me "The parameter is incorrect." all the time.
    What version are you using? Tried on both Win7 and Win10.

    ReplyDelete
  2. There are a few issues I came across implementing this that I would like to share.

    1) The Mount Partition Step can return "the directory is not empty" with the exit code of 1. Adding or ignoring error code to the step will all the Task Sequence to continue. I found the volume mounts correctly as S:

    2) The Copy EFI step can result in a modal interaction that causes the cmd prompt to pause with the question "Does destination specify a file name or directory name on the target (F = file, D = directory)?". Using the following command fixes this issue: xcopy ".\*.*" "S:\EFI\Boot\*"

    ReplyDelete
    Replies
    1. Kevin, my log is showing the following for the mount partition step:

      Executing command line: Run command line InstallSoftware 8/17/2017 10:42:28 AM 5996 (0x176C)
      Process completed with exit code 0 InstallSoftware 8/17/2017 10:42:28 AM 5996 (0x176C)
      Command line MOUNTVOL S: /S returned 0 InstallSoftware 8/17/2017 10:42:28 AM 5996 (0x176C)
      Process completed with exit code 0 TSManager 8/17/2017 10:42:28 AM 4384 (0x1120)

      and for my copy EFI step, the following:

      .\LenovoBT.EFI InstallSoftware 8/17/2017 10:42:29 AM 4924 (0x133C)
      1 File(s) copied InstallSoftware 8/17/2017 10:42:29 AM 4924 (0x133C)
      Command line xcopy ".\*.*" "S:\EFI\Boot" returned 0 InstallSoftware 8/17/2017 10:42:29 AM 4924 (0x133C)
      ReleaseSource() for C:\_SMSTaskSequence\Packages\PS100068. InstallSoftware 8/17/2017 10:42:29 AM 4924 (0x133C)
      reference count 1 for the source C:\_SMSTaskSequence\Packages\PS100068 before releasing InstallSoftware 8/17/2017 10:42:29 AM 4924 (0x133C)
      Released the resolved source C:\_SMSTaskSequence\Packages\PS100068 InstallSoftware 8/17/2017 10:42:29 AM 4924 (0x133C)
      Process completed with exit code 0 TSManager 8/17/2017 10:42:29 AM 4384 (0x1120)
      !--------------------------------------------------------------------------------------------! TSManager 8/17/2017 10:42:29 AM 4384 (0x1120)
      Successfully completed the action (Copy LenovoBT.efi to Boot Folder) with the exit win32 code 0 TSManager 8/17/2017 10:42:29 AM 4384 (0x1120)

      I'm not sure why you're seeing different results but thanks for sharing your workaround and glad to hear it's working for you.

      Delete

Post a Comment