|
| 1 | +--- |
| 2 | +title: Troubleshooting Error 500 on boot after custom installation on an Elastic Metal server |
| 3 | +description: Solutions for resolving boot issues after a custom installation on an Elastic Metal server. |
| 4 | +tags: elastic-metal troubleshooting installation |
| 5 | +dates: |
| 6 | + validation: 2025-12-05 |
| 7 | + posted: 2025-12-05 |
| 8 | +--- |
| 9 | + |
| 10 | +## Problem |
| 11 | +Your Scaleway Elastic Metal server is blocked during the boot process with an iPXE *Error 500* after performing a custom installation. |
| 12 | + |
| 13 | +### Symptoms |
| 14 | +- The server jumps directly into iPXE mode even though a bootable disk appears to be present. |
| 15 | +- The console displays repeated attempts to PXE boot, ending with an `iPXE 500` error. |
| 16 | +- After several failed attempts, the system may eventually boot if the correct EFI entry exists. |
| 17 | + |
| 18 | +## Possible causes |
| 19 | +- Incorrect or missing UEFI boot entries: The OS installer did not create (or could not create) the necessary UEFI NVRAM entry for the new system. |
| 20 | +- EFI bootloader installed in a non-standard location: The EFI binary (e.g., `grubx64.efi`, `shimx64.efi`, `bootmgfw.efi`) is not located where the Bootscript expects it. |
| 21 | +- No generic fallback loader (`\EFI\Boot\bootx64.efi`): Some installers rely solely on vendor-specific paths and do not populate the fallback bootloader that UEFI firmware attempts automatically. |
| 22 | +- Incomplete OS installation: The bootloader files may be missing or corrupted if the installation did not finish properly. |
| 23 | +- Overwritten or erased NVRAM entries: Some custom installers clear existing UEFI entries but fail to add new ones. |
| 24 | +- Bootscript fallback behavior: Scaleway’s Bootscript attempts PXE boot when it does not find a valid EFI loader. Since it cannot predict the bootloader path for custom installations, PXE will fail with a 500 error by design. |
| 25 | + |
| 26 | +## Solution |
| 27 | + |
| 28 | +On Elastic Metal servers using UEFI, the PXE boot mechanism depends on the system’s ability to locate a valid EFI bootloader on disk. |
| 29 | +For custom installations, bootscript cannot know in advance which EFI binary to use, because the path varies depending on the operating system you install. |
| 30 | +For example: |
| 31 | + |
| 32 | +- Windows uses: `\EFI\Microsoft\Boot\bootmgfw.efi` |
| 33 | +- Many Linux distributions use: `\EFI\{distro}\grubx64.efi` |
| 34 | +- Generic fallback loader (if present): `\EFI\Boot\bootx64.efi` |
| 35 | + |
| 36 | +Because of this uncertainty: |
| 37 | + |
| 38 | +1. The Bootscript attempts to identify a valid EFI loader. |
| 39 | +2. It fails to locate one (because the path is not predictable). |
| 40 | +3. It falls back to PXE boot, which fails with **iPXE Error 500**. |
| 41 | +4. The server then moves on to the next boot option. |
| 42 | + |
| 43 | +This behavior is expected and does **not** mean that your hardware or installation is broken. |
| 44 | + |
| 45 | +If your custom OS installation completed correctly, it should have created its own boot entry (e.g., `\EFI\Microsoft\Boot\bootmgfw.efi` or a GRUB entry). Once that entry exists, the server will use it and boot normally after the PXE fallback. |
| 46 | + |
| 47 | +### What you should do |
| 48 | +- Ensure your custom installation places a valid EFI loader on the disk. |
| 49 | +- Verify that the EFI files exist in the partition mounted at `/boot/efi` (Linux) or the EFI System Partition (ESP). |
| 50 | +- Confirm that a UEFI boot entry was created by the installer. |
| 51 | + - On Linux, you can check with `efibootmgr -v`. |
| 52 | +- If necessary, manually create or restore the EFI loader in: |
| 53 | +```bash |
| 54 | +\EFI\Boot\bootx64.efi |
| 55 | +``` |
| 56 | +(the generic fallback path recognized by most UEFI firmwares). |
| 57 | + |
| 58 | +<Message type="important"> |
| 59 | +This issue is a direct result of a custom installation that does not properly declare or place the EFI bootloader and is not caused by Scaleway. |
| 60 | +Since the installation is custom, determining the correct EFI paths and entries is your responsibility. |
| 61 | +The iPXE 500 error is simply a fallback mechanism and can be safely ignored once a correct boot entry is present. |
| 62 | +</Message> |
0 commit comments