#Arch not booting with grub(installed on ubuntu)

74 messages · Page 1 of 1 (latest)

smoky mason
#

When I select arch I get this error (attatched in file open the liink in it) I dont know why or how to fix. I can still change boot order to open arch

gray pawn
#

Does GRUB run the kernel with correct parameters, especially initrd?

smoky mason
#

whats this in English (Easy)

gray pawn
smoky mason
#

I can still launch Arch by changing boot order

#

But it does not launch on the grub dual boot

#

/tripleboot

gray pawn
#

I assume that all 3 OSes are booted in UEFI mode, not Legacy BIOS, right? Do you have one EFI System Partition (ESP) for all 3 of them? Are kernel images and initramfs'es stored on ESP or in the root filesystem of Ubuntu and Arch, respectively?

smoky mason
#

I have 3 EFI system partitions

#

and i remember making each one with each OS

gray pawn
#

And GRUB is managed by Ubuntu, right?
Could you show me the contents of Arch's ESP? Is it mounted to /boot/ or some other directory?

smoky mason
#

How do I check that, sorry I am a complete bot what OS do you want me to be on Arch or Ubuntu?

#

I do remember doing sm like that on the arch setup

gray pawn
#

Any of them, just not Windows. Mount the Arch's EFI System Partition in, say, /mnt/arch-esp, unless it's already mounted somewhere (you can check with findmnt). Show me its contents. Are there a kernel image (vmlinuz-linux) and an initramfs?

smoky mason
#

i cant find arch-esp

#
├─nvme0n1p1 vfat     FAT32 SYSTEM       4C5E-0C9B                             198.3M    23% /boot/efi
├─nvme0n1p2                                                                                 
├─nvme0n1p3 ntfs           Windows      2264607E64605717                                    
├─nvme0n1p4 vfat     FAT32 ISO          F865-8564                                           
├─nvme0n1p5 vfat     FAT32 UUI          00FC-12CE                                           
├─nvme0n1p6 ext4     1.0                68c428a3-854a-4b11-b15c-1626bec79ea2   87.2G    33% /
├─nvme0n1p7 vfat     FAT32              03B7-2531                                           
└─nvme0n1p8 ext4     1.0                eb9ebf11-d239-45a8-9b37-28280742ef3b  ```
#

idk if that helps

#

;-;

gray pawn
smoky mason
#

yes

gray pawn
#

I suppose that nvme0n1p1 is Ubuntu ESP, nvme0n1p6 is Ubuntu root filesystem, nvme0n1p7 is Arch ESP and nvme0n1p8 is Arch root filesystem. Is that right?

smoky mason
#

Yes on the last 3 1 I have no clue because i followed some tutourial to try fix and

#

yeah

#

it was windows i thing

#

think

#

idk probably is

gray pawn
#

Okay. So while you're still running Ubuntu, run mount /dev/nvme0n1p7 /mnt/arch-esp --mkdir

smoky mason
#

skylord-ubuntu@skylord-ubuntu-Legion-T5-26IOB6:~$ mount /dev/nvme0n1p7 /mnt/arch-esp --mkdir
mount: /mnt/arch-esp: operation permitted for root only.

gray pawn
#

sudo mount /dev/nvme0n1p7 /mnt/arch-esp --mkdir

smoky mason
#

mount: /mnt/arch-esp: /dev/nvme0n1p7 already mounted on /mnt/arch-esp.
dmesg(1) may have more information after failed mount system call.

gray pawn
#

Okay, so you've already done that before. Run ls /mnt/arch-esp/

smoky mason
#

skylord-ubuntu@skylord-ubuntu-Legion-T5-26IOB6:~$ ls /mnt/arch-esp/
EFI grub initramfs-linux.img intel-ucode.img loader 'System Volume Information' vmlinuz-linux
skylord-ubuntu@skylord-ubuntu-Legion-T5-26IOB6:~$

gray pawn
#

Okay. This suggests that your Arch mounts ESP at /boot, so it stores both the kernel, the initramfs and the bootloader (GRUB in your case).

#

Still on Ubuntu, could you show the content of /boot/grub/grub.cfg? This is the config file of GRUB managed by Ubuntu.
When Ubuntu regenerates that config file, it should use os-prober to detect other operating systems - Windows and Arch in your case. As we can see, it does detect Arch, but it seems like it passes wrong root filesystem UUID.

#

The UUID in the kernel panic report you've sent appears to match your nvme0n1p8 partition.

smoky mason
gray pawn
#

Try to run sudo mount /dev/nvme0n1p8 /mnt/arch-root . This will mount Arch root fs. Then run sudo update-grub .

smoky mason
gray pawn
smoky mason
#

skylord-ubuntu@skylord-ubuntu-Legion-T5-26IOB6:~$ sudo update-grub
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.14.0-37-generic
Found initrd image: /boot/initrd.img-6.14.0-37-generic
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows Boot Manager on /dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Found Arch Linux on /dev/nvme0n1p8
Adding boot menu entry for UEFI Firmware Settings ...
done
skylord-ubuntu@skylord-ubuntu-Legion-T5-26IOB6:~$

gray pawn
#

Send /boot/grub/grub.cfg once again. We'll see if it changed. Specifically, we'd expect the search command before Arch boot to have UUID of nvme0n1p8, not nvme0n1p7.

smoky mason
gray pawn
#

Maybe try to edit /boot/grub/grub.cfg and change line 232 from:
search --no-floppy --fs-uuid --set=root 03B7-2531
to
search --no-floppy --fs-uuid --set=root eb9ebf11-d239-45a8-9b37-28280742ef3b

gray pawn
#

This is only a temporary fix.
According to this Unix StackExchange post, os-prober can take informations from other grub.cfg files. You could try to rename /mnt/arch-esp/grub/grub.cfg to /mnt/arch-esp/grub/grub.cfg.bak and run sudo update-grub in Ubuntu once more.

gray pawn
smoky mason
#

I don't get that crash thi

gray pawn
#

Ah, I think it was supposed to be the ESP UUID in that search command. Revert the previous change.
But I'm not sure why is there initrd /intel-ucode.img /boot/initramfs-linux.img a few lines below that. I think that it should be initrd /intel-ucode.img /initramfs-linux.img, because initramfs is directly in the boot partition, not in a boot/ subdirectory.

smoky mason
#

so i cange initrd /intel-ucode.img /boot/initramfs-linux.img to initrd /intel-ucode.img /initramfs-linux.img

#

and test

gray pawn
#

Yes

smoky mason
#

line 234

gray pawn
#

Yes

smoky mason
#

It worked

#

thanks man

#

👑

gray pawn
#

But this is only a temporary fix. When Ubuntu updates grub.cfg, those changes will be overwritten.
It looks like a bug in os-prober perhaps.
The StackExchange post I linked above mentions that you should delete (or rename) Arch's grub.cfg, so os-prober doesn't get confused.

smoky mason
#

ok

#

Did it and sudo reload

#

and it still booted

#

is that good

#

:p

gray pawn
#

So you've renamed grub.cfg on Arch's ESP (so it doesn't mess with Ubuntu's os-prober and then regenerated Ubuntu's grub.cfg by running sudo update-grub - right?
If you can now boot Arch successfully, then it seems like you're good!

smoky mason
#

Yes

#

thanks man i was so cooked without you