NeuroAgent

Fix PXE Boot Error After Arch Linux Installation

Complete guide to fix PXE-M0F boot errors after installing Arch Linux on Asus x53u. Learn proper GRUB installation, BIOS configuration, and alternative bootloader solutions.

How to fix PXE boot error after installing Arch Linux on Asus x53u laptop?

I’m experiencing an issue with Arch Linux installation on my Asus x53u laptop. I’ve installed other Linux distributions before without problems, but Arch is proving more challenging.

Here’s what happens:

  1. I use archinstall for the installation process
  2. The installation appears to complete successfully
  3. At the end, I’m given three options: exit archinstall, reboot, or chroot into the installed system
  4. I select reboot and remove the USB drive when the screen goes off
  5. When the laptop restarts, I encounter these error messages:
    • PXE-M0F: No boot filename received
    • PXE-M0F: Exiting PXE ROM.
    • Reboot and Select proper Boot device or Insert Boot Media in selected Boot device and press a key

I’ve already configured the BIOS to boot from the hard drive where I installed Arch, and I selected the option during archinstall to install the Grub bootloader. Despite this, the system won’t boot properly.

Why is this happening and how can I resolve this boot issue?

NeuroAgent

The PXE-M0F error you’re experiencing after installing Arch Linux on your Asus x53u laptop occurs because the system is attempting to boot from the network (PXE) instead of finding the local GRUB bootloader on your hard drive. This typically happens when GRUB isn’t properly installed or configured, or when there’s a mismatch between your installation method and the system’s firmware mode.

Contents

Understanding the PXE-M0F Error

The PXE-M0F error messages you’re seeing indicate that your Asus x53u laptop’s firmware is failing to locate a valid boot device on the local hard drive and is falling back to network boot (PXE) as a last resort. As Arch Linux forums explain, this typically happens when:

  • The GRUB bootloader isn’t properly installed to the correct location
  • There’s a mismatch between UEFI and BIOS boot modes
  • The partition layout doesn’t match what GRUB expects
  • The EFI System Partition (ESP) isn’t properly configured

Many users report this exact same issue after Arch Linux installations, and it’s usually solvable with proper bootloader reconfiguration.

Diagnosing the Boot Problem

Before attempting fixes, you need to determine your system’s boot mode and current GRUB status:

  1. Check boot mode: Boot to a live USB and run:

    bash
    # Check if system is booted in UEFI mode
    ls /sys/firmware/efi
    
  2. Verify GRUB installation:

    bash
    # Mount your Arch installation
    mount /dev/sdXn /mnt  # Replace with your actual partition
    # Check if GRUB files exist
    ls /mnt/boot/grub/
    ls /mnt/boot/efi/EFI/
    
  3. Check partition layout:

    bash
    fdisk -l
    lsblk
    

As noted in Arch Wiki, file systems can get new features not yet supported by GRUB, making them unsuitable for /boot unless disabling incompatible features. This is typically avoided by using a separate /boot partition with a universally supported file system such as FAT32.

Fixing GRUB Installation Issues

Reinstalling GRUB Properly

The most common solution is to reinstall GRUB with the correct parameters for your Asus x53u:

For UEFI Systems:

bash
# Mount your Arch installation
mount /dev/sdXn /mnt
mount /dev/sdX1 /mnt/boot/efi  # ESP partition

# Chroot into your system
arch-chroot /mnt

# Reinstall GRUB with UEFI parameters
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub_uefi --recheck

# Update GRUB configuration
grub-mkconfig -o /boot/grub/grub.cfg

For BIOS Systems:

bash
# Reinstall GRUB for BIOS
grub-install --target=i386-pc --recheck /dev/sdX  # Replace with your disk

Fixing Common Installation Problems

From the research, several specific issues can cause PXE boot errors:

  1. Incorrect GRUB Target: According to Arch forums, some UEFI firmwares are buggy and require the --removable option:

    bash
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub_uefi --removable --recheck
    
  2. ESP Location Issues: Ensure your EFI System Partition is properly mounted and contains the necessary GRUB files.

  3. File System Compatibility: As Arch Wiki warns, newer file systems may not be fully supported by GRUB. Consider using FAT32 for your /boot/efi partition.

BIOS/UEFI Configuration Solutions

Secure Boot Settings

Several users reported that adding GRUB to trusted items in BIOS fixed their PXE-M0F errors. On your Asus x53u:

  1. Enter BIOS (usually by pressing F2 or Del during boot)
  2. Look for “Secure Boot” settings
  3. Add grub64x.efi to the trusted list or disable Secure Boot entirely
  4. Ensure boot order prioritizes your hard drive over network

Boot Mode Configuration

  1. UEFI vs Legacy: Make sure your BIOS boot mode matches your installation method
  2. Boot Order: Set your internal hard drive as the first boot device
  3. CSM Settings: If using UEFI, disable “Compatibility Support Module” (CSM)
  4. Fast Boot: Disable fast boot as it can sometimes interfere with proper boot detection

As one Reddit user found: “Thanks everyone I solved my problem by adding grub64x.efi to trusted in my bios through secure boot.”

Alternative Bootloader Options

If GRUB continues to fail, consider switching to systemd-boot, which many users found more reliable:

Install systemd-boot:

bash
# Mount your system
mount /dev/sdXn /mnt
mount /dev/sdX1 /mnt/boot/efi

# Install systemd-boot
bootctl --path=/mnt/boot/efi install

# Create loader configuration
cat > /mnt/boot/loader/loader.conf << EOF
timeout 3
default arch
console-mode max
editor no
EOF

# Create boot entry
cat > /mnt/boot/loader/entries/arch.conf << EOF
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options root=PARTUUID=$(blkid -s PARTUUID -o value /dev/sdXn) rw
EOF

As one user reported: “I decided to switch to systemd-boot. $ bootctl install $ nano /boot/loader/loader.conf…” and it resolved their GRUB issues.

Complete Step-by-Step Resolution Guide

Here’s a comprehensive approach to fix your PXE-M0F error:

  1. Boot from Arch Live USB and mount your system:

    bash
    # Identify your partitions
    fdisk -l
    lsblk
    
    # Mount root and ESP (usually /dev/sdX2 and /dev/sdX1)
    mount /dev/sdX2 /mnt
    mount /dev/sdX1 /mnt/boot/efi
    
  2. Chroot into your system:

    bash
    arch-chroot /mnt
    
  3. Reinstall GRUB with UEFI parameters:

    bash
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub_uefi --recheck
    
  4. If that fails, try with --removable option:

    bash
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=grub_uefi --removable --recheck
    
  5. Update GRUB configuration:

    bash
    grub-mkconfig -o /boot/grub/grub.cfg
    
  6. Verify GRUB files exist:

    bash
    ls /boot/efi/EFI/
    ls /boot/grub/
    
  7. If GRUB still fails, switch to systemd-boot:

    bash
    bootctl --path=/boot/efi install
    # Configure as shown above
    
  8. Configure BIOS settings:

    • Disable Secure Boot or add GRUB to trusted items
    • Ensure hard drive is first in boot order
    • Match boot mode to installation (UEFI or Legacy)
  9. Test the solution and reboot without the USB drive

The key is ensuring your bootloader is properly installed to the correct location that your Asus x53u’s firmware can find and execute. Most users find success with either proper GRUB reinstallation or switching to systemd-boot.

Sources

  1. UEFI PXE network boot via Grub fails with various errors - Arch Linux Forums
  2. GRUB installation troubleshooting - Arch Linux Wiki
  3. PXE-M0F error solutions - Linux Forums
  4. Debugging PXE booting problems with GRUB - Super User
  5. Fixing grub bootloader issues - Arch Linux Forums
  6. Arch Linux not booting into OS after installation - Arch Linux Forums
  7. Reddit discussion on PXE boot issues
  8. PXE boot failing with grub.0 error - Cobbler GitHub

Conclusion

The PXE-M0F error after Arch Linux installation is typically caused by improper bootloader configuration rather than a fundamental hardware issue. Key takeaways:

  • Most cases are resolved by properly reinstalling GRUB with UEFI parameters
  • Your Asus x53u may require the --removable option due to firmware quirks
  • BIOS/UEFI configuration, especially Secure Boot settings, often needs adjustment
  • systemd-boot provides a reliable alternative if GRUB continues to fail
  • Always verify your partition layout matches your boot mode expectations

Start with GRUB reinstallation using the UEFI parameters, then try the --removable option if needed. If both fail, systemd-boot is an excellent alternative that many users find more reliable on problematic hardware. The key is ensuring your bootloader is installed to a location your laptop’s firmware can properly detect and execute.