One Click Recovery (OCR)
Intel® One-Click Recovery (OCR) enables IT administrators to remotely and securely boot a device into a recovery environment using Intel AMT's out-of-band (OOB) connection. This ensures reliable recovery from system failures, bare-metal states, or connectivity issues.
In cloud deployments, the Management Presence Server (MPS) now supports a secure power action to initiate HTTPS Boot, allowing recovery from a specified network URL.
Supported Recovery Options in OCR¶
-
UEFI HTTPS Network Boot: Securely boot a recovery image over HTTPS.
-
Windows Recovery Environment (WinRE): Access Windows tools for repair and troubleshooting.
-
Local Pre-Boot Application (PBA): Launch a locally installed recovery or diagnostic tool.
Future Enhancements
- Currently, MPS supports only the HTTPS Network Boot feature.
- The HTTPS Boot feature works only when the device is connected via a wired network.
We plan to include Wireless support and add additional One Click Recovery features in future updates.
Prerequisites for HTTPS Boot¶
Before using HTTPS Network Boot, ensure the following prerequisites are met:
-
Enable HTTP(S) Boot in BIOS settings. This may be disabled by default on some devices.
-
When recovering a device using an ISO that isn’t signed by a trusted certificate authority, you’ll need to disable Secure Boot in the BIOS settings.
-
Set up an HTTPS server to host the ISO.
HTTPS Server
- For this guide, the HTTPS server is assumed to be running on the same host as the containers and is serving a full Ubuntu LTS image from:
https://192.168.88.250:8500/ubuntu.iso
. - Setup instructions for the HTTPS server are not included here. Please ensure you have a functional HTTPS server configured beforehand. If needed, numerous online resources are available to help you get started.
- For this guide, the HTTPS server is assumed to be running on the same host as the containers and is serving a full Ubuntu LTS image from:
-
Make sure that the device shows as connected in the Sample UI or via the Get Device MPS API
HTTPS Boot using Cloud Deployment¶
You can use our MPS APIs to perform recovery using HTTPS boot, but for quick demos and to understand how you can first test it, we've also implemented it in the Sample UI.
Triggering HTTPS Boot using Sample UI¶
-
Make sure that the target device shows as connected
-
Enable
OCR
feature inGeneral AMT Info
Section.Is HTTPS Network Boot supported?
If the HTTPS Network Boot checkbox is unchecked, the device does not support this feature.
-
Upload the Root Certificate of the HTTPS server hosting the ISO via the
Add New
certificates option. -
Click on the three-dot menu and select Reset to HTTPS Boot (OCR).
-
Enter the ISO URL (e.g., https://192.168.88.250:8500/ubuntu.iso).
Check ISO URL
Ensure the HTTPS Server ISO URL is accessible to the device.
-
Optionally, enable
Enforce Secure Boot
to boot only a secure.iso
file.Secure Boot
If Secure Boot is enabled, the UEFI BIOS must have the Root Certificate used to sign the ISO's bootloader in its trusted database (DB) to allow execution.
-
Click
OK
to start the recovery process. The device will restart and boot from the ISO. -
Optionally, Connect to KVM and verify that the device loads the ISO.
KVM Keyboard Issue
If KVM is connected before initiating OCR via HTTPS Boot, the keyboard may not work when entering the URL.
Triggering HTTPS Boot via MPS APIs¶
-
Authenticate and Get Login Token:
First, authenticate with MPS and retrieve a token to use for all subsequent API calls. Save this token to use in the
Authorization
header for the next steps.curl --insecure -X POST https://<IP_ADDRESS_OR_FQDN_OF_SERVER>/mps/login/api/v1/authorize -H "Content-Type:application/json" -d "{\"username\":\"<MPS_WEB_ADMIN_USER>\", \"password\":\"<MPS_WEB_ADMIN_PASSWORD>\"}"
Expected Response:
{"token":"<YOUR_JWT_TOKEN>"}
-
Get Connected Devices:
Fetch the list of connected devices.
curl --insecure https://<IP_ADDRESS_OR_FQDN_OF_SERVER>/mps/api/v1/devices -H "Authorization: Bearer <YOUR_JWT_TOKEN>"
Example Response:
[ { "guid": "5d52da54-199c-cc3c-3e96-88aedd668dff", "hostname": "DESKTOP-VDGKNB5" "....." } ]
Next Steps
Select the GUID of your target device (e.g., 5d52da54-199c-cc3c-3e96-88aedd668dff) for use in subsequent steps.
-
Check AMT Features and OCR Support:
Verify that the target device supports OCR and HTTPS Boot. If "ocr": false, proceed to Step 4 to enable it.
curl --insecure https://<IP_ADDRESS_OR_FQDN_OF_SERVER>/mps/api/v1/amt/features/<DEVICE_GUID> -H "Authorization: Bearer <YOUR_JWT_TOKEN>"
Look for:
"ocr": true, "httpsBootSupported": true
Is HTTPS Network Boot supported?
If the
httpsBootSupported
property isfalse
, the device does not support HTTPS Boot using Intel AMT. This is a read-only value reported by Intel AMT and cannot be modified. -
Enable OCR (if not already enabled):
If OCR is not enabled from Step 3, use this command to enable it:
curl --insecure -X POST https://<IP_ADDRESS_OR_FQDN_OF_SERVER>/mps/api/v1/amt/features/<DEVICE_GUID> -H "Content-Type: application/json" -H "Authorization: Bearer <YOUR_JWT_TOKEN>" -d "{\"enableIDER\":true,\"enableKVM\":true,\"enableSOL\":true,\"userConsent\":\"none\",\"redirection\":true,\"ocr\":true}"
Expected Response:
{"status":"AMT Features updated"}
-
Upload Trusted Root Certificate:
This is the HTTPS server certificate hosting the .iso.
First, generate the base64-encoded string of your certificate. Use this PowerShell command as an example:
[Convert]::ToBase64String([IO.File]::ReadAllBytes("<PATH_TO_CERTIFICATE_FILE>"))
base64 -i <PATH_TO_CERTIFICATE_FILE>
Then, to upload the certificate use the curl command:
curl --insecure -X POST https://<IP_ADDRESS_OR_FQDN_OF_SERVER>/mps/api/v1/amt/certificates/<DEVICE_GUID> -H "Content-Type: application/json" -H "Authorization: Bearer <YOUR_JWT_TOKEN>" -d "{\"cert\":\"<BASE64_ENCODED_CERT>\",\"isTrusted\":true}"
Expected Response:
{"handle":"Intel(r) AMT Certificate: Handle: 2"}
-
Trigger OCR via HTTPS Boot:
Send the power action to initiate OCR with the HTTPS ISO:
curl --insecure -X POST https://<IP_ADDRESS_OR_FQDN_OF_SERVER>/mps/api/v1/amt/power/bootoptions/<DEVICE_GUID> -H "Content-Type: application/json" -H "Authorization: Bearer <YOUR_JWT_TOKEN>" -d "{\"action\":105,\"useSOL\":false,\"bootDetails\":{\"url\":\"<ISO_URL>\",\"username\":\"\",\"password\":\"\",\"enforceSecureBoot\":true}}"
Expected Response:
{"Body":{"ReturnValue":0,"ReturnValueStr":"SUCCESS"}}
-
Optionally, Connect to KVM and verify that the device loads the ISO.
API Reference¶
Endpoint | Method | Purpose | JSON Structure |
---|---|---|---|
/mps/login/api/v1/authorize |
POST | Authenticate and get JWT token | {"username":"<MPS_WEB_ADMIN_USER>", "password":"<MPS_WEB_ADMIN_PASSWORD>"} |
/mps/api/v1/devices |
GET | List connected devices | N/A |
/mps/api/v1/amt/features/<GUID> |
GET | Check device AMT features | N/A |
/mps/api/v1/amt/features/<GUID> |
POST | Enable/disable AMT features | {"enableIDER":true,"enableKVM":true,"enableSOL":true,"userConsent":"none","redirection":true,"ocr":true} |
/mps/api/v1/amt/certificates/<GUID> |
POST | Upload trusted certificates | {"cert":"<BASE64_ENCODED_CERT>","isTrusted":true} |
/mps/api/v1/amt/power/bootoptions/<GUID> |
POST | Trigger OCR boot options | {"action":105,"useSOL":false,"bootDetails":{"url":"<ISO_URL>","username":"","password":"","enforceSecureBoot":true}} |