diff --git a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
index 228b91033695..b9f96c763ff6 100644
--- a/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
+++ b/MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
@@ -89,6 +89,8 @@ [Guids]
   gEfiDiskInfoIdeInterfaceGuid                  ## SOMETIMES_CONSUMES ## GUID
   gEfiDiskInfoScsiInterfaceGuid                 ## SOMETIMES_CONSUMES ## GUID
   gEfiDiskInfoSdMmcInterfaceGuid                ## SOMETIMES_CONSUMES ## GUID
+  gEfiHiiDriverHealthFormsetGuid
+  gEfiHiiPlatformSetupFormsetGuid
 
 [Protocols]
   gEfiPciRootBridgeIoProtocolGuid               ## CONSUMES
diff --git a/MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c b/MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c
index ecd01bbb81e3..fd47651ec937 100644
--- a/MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c
+++ b/MdeModulePkg/Library/UefiBootManagerLib/BmDriverHealth.c
@@ -421,6 +421,47 @@ EfiBootManagerFreeDriverHealthInfo (
   return gBS->FreePool (DriverHealthInfo);
 }
 
+STATIC
+VOID
+ShowConfigureForm (
+  EFI_FORM_BROWSER2_PROTOCOL          *FormBrowser2,
+  EFI_BOOT_MANAGER_DRIVER_HEALTH_INFO *DriverHealthInfo
+  )
+{
+  EFI_STATUS                          Status;
+  EFI_HII_HANDLE                      FormHiiHandle;
+  EFI_DRIVER_HEALTH_STATUS            HealthStatus;
+
+  if (DriverHealthInfo != NULL) {
+    Status = DriverHealthInfo->DriverHealth->GetHealthStatus (
+                                               DriverHealthInfo->DriverHealth,
+                                               DriverHealthInfo->ControllerHandle,
+                                               DriverHealthInfo->ChildHandle,
+                                               &HealthStatus,
+                                               NULL,
+                                               &FormHiiHandle
+                                               );
+    if (!EFI_ERROR (Status) &&
+        (HealthStatus == EfiDriverHealthStatusConfigurationRequired) &&
+        (FormHiiHandle != NULL)) {
+      Status = FormBrowser2->SendForm (
+                               FormBrowser2,
+                               &FormHiiHandle,
+                               1,
+                               &gEfiHiiPlatformSetupFormsetGuid,
+                               0,
+                               NULL,
+                               NULL
+                               );
+      if (EFI_ERROR (Status)) {
+        Print (L"Show configurae menu:%r\n", Status);
+      }
+    }
+  }
+
+  return;
+}
+
 /**
   Repair all the controllers according to the Driver Health status queried.
 
@@ -434,6 +475,7 @@ BmRepairAllControllers (
 {
   EFI_STATUS                          Status;
   EFI_BOOT_MANAGER_DRIVER_HEALTH_INFO *DriverHealthInfo;
+  EFI_BOOT_MANAGER_DRIVER_HEALTH_INFO *InfoConfigurationRequired;
   EFI_DRIVER_HEALTH_STATUS            HealthStatus;
   UINTN                               Count;
   UINTN                               Index;
@@ -462,6 +504,7 @@ BmRepairAllControllers (
   do {
     RepairRequired        = FALSE;
     ConfigurationRequired = FALSE;
+    InfoConfigurationRequired = NULL;
 
     //
     // Deal with Repair Required
@@ -470,6 +513,7 @@ BmRepairAllControllers (
     for (Index = 0; Index < Count; Index++) {
       if (DriverHealthInfo[Index].HealthStatus == EfiDriverHealthStatusConfigurationRequired) {
         ConfigurationRequired = TRUE;
+        InfoConfigurationRequired = &DriverHealthInfo[Index];
       }
 
       if (DriverHealthInfo[Index].HealthStatus == EfiDriverHealthStatusRepairRequired) {
@@ -494,6 +538,7 @@ BmRepairAllControllers (
                                                            );
           if (!EFI_ERROR (Status) && (HealthStatus == EfiDriverHealthStatusConfigurationRequired)) {
             ConfigurationRequired = TRUE;
+            InfoConfigurationRequired = &DriverHealthInfo[Index];
           }
         }
       }
@@ -507,12 +552,13 @@ BmRepairAllControllers (
                                    FormBrowser2,
                                    &HiiHandles[Index],
                                    1,
-                                   PcdGetPtr (PcdDriverHealthConfigureForm),
+                                   &gEfiHiiDriverHealthFormsetGuid,
                                    0,
                                    NULL,
                                    NULL
                                    );
           if (!EFI_ERROR (Status)) {
+            ShowConfigureForm (FormBrowser2, InfoConfigurationRequired);
             break;
           }
         }
