Dépanner des VM secure boot

Il existe plusieurs raisons pour lesquelles vous ne pouvez pas démarrer ou vous connecter à une VM sur laquelle secure boot est activé.

Cette page explique comment diagnostiquer et dépanner une VM pour laquelle secure boot est activé.

Cette page n’est pas exhaustive. Le problème que vous rencontrez peut ne pas mentionné dans cette page.

Symptômes

  • Une VM démarre mais le système d’exploitation ne semble pas démarrer.

  • Une VM est dans l’état running mais ne semble pas répondre correctement.

  • L’accès à la VM est impossible.

Diagnostique

Consulter la sortie de la console d’une VM

Pour vous aider à déterminer le problème d’une VM, nous vous recommandons d’abord de consulter la sortie de la console. Elle peut détecter des problèmes ou des erreurs système.

Vous pouvez utiliser la procédure the Consulter la sortie de la console d’une VM ou l’exemple suivant :

Request sample
$ osc-cli api ReadConsoleOutput --VmId i-123456789 | jq -r '.ConsoleOutput' | base64 -d

Où :

  • osc-cli api ReadConsoleOutput --VmId i-123456789 correspond à la méthode API OUTSCALE pour afficher la console de sortie de la VM spécifiée.

  • jq -r '.ConsoleOutput' permet d’extraire la sortie de la console de la réponse.

  • base64 -d permet de déchiffrer la chaîne encodée en Base64.

Solutions

En fonction de la réponse de la console, nous recommandons différentes solutions.

Access denied

Dans la sortie de la console, la réponse peut afficher Access Denied sur un ou plusieurs fichiers en particulier. Cela signifie que les fichiers ne sont pas signés.

Exemple de réponse : Access Denied
BdsDxe: loading Boot0002 "Rocky Linux" from HD(1,GPT,39D4CE0B-8CC4-4B71-BFC7-DF0C0A16FA48,0x800,0x31800)/\file-example.efi
BdsDxe: failed to load Boot0002 "Rocky Linux" from HD(1,GPT,39D4CE0B-8CC4-4B71-BFC7-DF0C0A16FA48,0x800,0x31800)/\file-example.efi: Access Denied
BdsDxe: loading Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)
BdsDxe: starting Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0)
LoadImage failed: Access Denied
Device path: "PciRoot(0)/Pci(0x2,0x1)/Pci(0x0,0x0)/HD(1,GPT,39D4CE0B-8CC4-4B71-BFC7-DF0C0A16FA48)/\file-example.efi"
02 01 0C 00 D0 41 03 0A 00 00 00 00 01 01 06 00
01 02 01 01 06 00 00 00 04 01 2A 00 01 00 00 00
00 08 00 00 00 00 00 00 00 18 03 00 00 00 00 00
0B CE D4 39 C4 8C 71 4B BF C7 DF 0C 0A 16 FA 48
02 02 04 04 32 00 5C 00 45 00 46 00 49 00 5C 00
72 00 6F 00 63 00 6B 00 79 00 5C 00 73 00 68 00
69 00 6D 00 78 00 36 00 34 00 2E 00 65 00 66 00
69 00 00 00 7F FF 04 00

Solution 1 : forcer l’arrêt de la VM

Si l’OS n’a pas démarré, arrêter la VM n’est pas suffisant pour la relancer.

Vous devez forcer l’arrêt de la VM. Pour en savoir plus, voir À propos du cycle de vie des VM.

Pour forcer l’arrêt d’une VM, utilisez la méthode API OUTSCALE StopVms de la manière suivante :

Exemple de requête
$ osc-cli api StopVms --profile "default" \
  --VmIds '["i-12345678"]'
  --ForceStop true

Solution 2 : corriger les signatures

Dans le cas où vous avez personnalisé les clés utilisées dans secure boot, vous pouvez désactiver secure boot afin de corriger les signatures. Ensuite, vous pouvez activer à nouveau secure boot. Pour en savoir plus, voir Activer ou désactiver secure boot.

OUTSCALE ne fournit pas de support si vous avez personnalisé les clés utilisées dans secure boot. Vous pouvez consulter la documentation Arch Linux Secure Boot pour obtenir de l’aide.

Incompatibilité avec UEFI

Dans la sortie de la console, la réponse peut afficher No bootable option or device was found. Cela signifie que la VM a démarré avec un OS incompatible avec UEFI.

Exemple de réponse : OS incompatible avec UEFI
Dxe: failed to load Boot0001 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x2,0x1)/Pci(0x0,0x0): Not Found
BdsDxe: No bootable option or device was found.
BdsDxe: Press any key to enter the Boot Manager Menu.

Solution : créer une nouvelle VM

Si l’OS n’est pas compatible avec UEFI, vous devez terminer la VM car il n’est pas possible de modifier son mode de démarrage. Pour en savoir plus, voir see Terminer des VM.

Vous pouvez créer une nouvelle VM avec un mode de démarrage compatible avec UEFI. Pour en savoir plus, voir À propos des modes de démarrage et Activer ou désactiver secure boot.

Pages connexes