Yes, there’s still a chance to boot into your Arch Linux installation even without an installation USB, depending on your setup. Here are a few things you can try:

1. Check if GRUB’s Minimal Shell Loads

If you installed GRUB but forgot to generate the configuration file, GRUB might still load into its minimal shell (grub> or grub rescue> prompt). If you see the GRUB rescue shell, follow these steps:

Boot Manually from GRUB Shell

If you’re in grub> mode, do the following:

  1. Find your root partition
    Run:

    ls
    

    This will list available partitions (e.g., (hd0,gpt1), (hd0,gpt2), etc.).

  2. Identify the root and boot partitions
    Try checking which partition contains your kernel:

    ls (hd0,gpt1)/
    

    Look for something like vmlinuz-linux and initramfs-linux.img. The partition that contains these files is likely your /boot.

  3. Set the boot partition
    If, for example, your /boot is on (hd0,gpt2), run:

    set root=(hd0,gpt2)
    linux /vmlinuz-linux root=/dev/sdXn rw
    initrd /initramfs-linux.img
    boot
    

    Replace /dev/sdXn with the actual root partition (e.g., /dev/sda2).

If You See grub rescue> Instead

This means GRUB can’t find its core files. First, try:

ls

Then find the correct partition and load GRUB:

set root=(hd0,gptX)
set prefix=(hd0,gptX)/boot/grub
insmod normal
normal

This should bring you back to the normal GRUB menu.


2. Once Booted, Generate GRUB Config

Once you successfully boot into Arch Linux, immediately regenerate the GRUB config and reinstall it:

sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB

(Adjust the --target and --efi-directory if using BIOS/MBR instead of UEFI.)


3. Alternative: Boot Using Another OS (If Dual Booting)

If you have another OS (like Windows or another Linux distro), you can use it to fix GRUB:

  • From another Linux system, mount your Arch root partition and chroot into it:
    sudo mount /dev/sdXn /mnt
    sudo arch-chroot /mnt
    grub-mkconfig -o /boot/grub/grub.cfg
    grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
    exit
    reboot
    

If your root (/) is on a RAID 1 array, booting manually from GRUB is a bit different because GRUB needs to load the RAID module first.


1. Load the RAID and Filesystem Modules

At the grub> prompt, enter:

insmod raid
insmod mdraid1x
insmod ext2   # Use ext4 if your root filesystem is ext4

2. Identify Your RAID Array

List available disks and partitions:

ls

You should see something like:

(hd0) (hd0,msdos1) (hd0,msdos2) (hd1) (hd1,msdos1) (hd1,msdos2) (md/0)

The RAID array will appear as (md/0), (md/1), etc. Check which one contains your root filesystem:

ls (md/0)/

If you see bin/, etc/, usr/, etc., this is your root partition.

If your /boot is separate from RAID, check the non-RAID partitions (e.g., (hd0,msdos1)) for the kernel files.


3. Load the Kernel and Boot

Now, boot manually. Assuming:

  • /boot is inside the RAID (md/0)
  • The root partition is /dev/md0

Run:

set root=(md/0)
linux /boot/vmlinuz-linux root=/dev/md0 rw
initrd /boot/initramfs-linux.img
boot

If /boot is on a separate partition (not in RAID), for example, (hd0,msdos1), then:

set root=(hd0,msdos1)
linux /vmlinuz-linux root=/dev/md0 rw
initrd /initramfs-linux.img
boot

4. Fix GRUB After Booting

Once in Arch Linux, reinstall and configure GRUB properly:

sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo grub-install --target=i386-pc --recheck /dev/sda
sudo grub-install --target=i386-pc --recheck /dev/sdb  # Install to both disks in RAID-1

Then reboot:

sudo reboot

Since insmod mdraid1x worked and (md/0) lists the correct directories, it means your RAID array is accessible. The “unknown filesystem” error likely means:

  1. The root filesystem is not being read correctly.
  2. The correct filesystem module (ext2, ext4, etc.) is missing in GRUB.

1. Load the Filesystem Module

Since Arch Linux usually uses ext4, try:

insmod ext2  # Works for ext4 too

Then retry:

linux /boot/vmlinuz-linux root=/dev/md0 rw
initrd /boot/initramfs-linux.img
boot

If /boot is on a separate partition outside RAID, for example, (hd0,msdos1), use:

set root=(hd0,msdos1)
linux /vmlinuz-linux root=/dev/md0 rw
initrd /initramfs-linux.img
boot

2. Double-Check the Root Device

Since you’re using RAID 1, your root should be /dev/md0 not /dev/sda2. Confirm by running:

ls (md/0)/

If it contains boot/, bin/, etc/, then /dev/md0 is correct.


3. If Still Not Booting

Try specifying the filesystem manually:

linux /boot/vmlinuz-linux root=/dev/md0 rootfstype=ext4 rw
initrd /boot/initramfs-linux.img
boot

4. Once Booted, Fix GRUB

After booting into Arch Linux, reinstall GRUB with RAID support to prevent this issue in the future:

sudo pacman -S grub
sudo grub-install --target=i386-pc --modules="raid mdraid1x ext2" --recheck /dev/sda
sudo grub-install --target=i386-pc --modules="raid mdraid1x ext2" --recheck /dev/sdb  # Install to both RAID disks
sudo grub-mkconfig -o /boot/grub/grub.cfg

Then reboot:

sudo reboot

Summary

  • insmod mdraid1xls (md/0)/ shows correct files
  • Fix: insmod ext2 before booting
  • Root device: Use /dev/md0, not /dev/sda2
  • Future fix: Reinstall GRUB with RAID modules