You are not logged in.
Hi everyone,
I recently installed Arch Linux in a laptop where I already had Windows and Ubuntu.
Because I already had an EFI partition (created during my Ubuntu installation) I did not create a new one as suggested by Arch installation guide. Since, prior to Arch, I had already a dual boot Ubuntu+Windows, I had already grub (installed from Ubuntu) to handle the boot process. Immediately after the Arch installation, Grub was not detecting Arch, but that was just a matter of updating the Grub to detect the new installation and "automatically" create a menu entry for Arch.
The issue I am facing now: Arch is now missing from the Grub menu.
If I ran (this is in Ubuntu):
sudo os-proberI obtain
/dev/nvme0n1p1@/EFI/Microsoft/Boot/bootmgfw.efi:Windows Boot Manager:Windows:efi
/dev/sda1:FreeDOS:FreeDOS:chain
/dev/sda3:Arch Linux:Arch:linux
device-mapper: remove ioctl on osprober-linux-sda3 failed: Device or resource busy
Command failed.where, as you can see,
os-proberseems to have an issue with Arch. Also
sudo grub-mkconfigfails to create an entry.
I have tried to solve this on my own by reading stuff online but with no success. Here's what I tried:
1) Manually creating a Grub entry for Arch, i.e., I edited the file
/etc/grub.d/40_customand added the entry
bc|#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "Arch" {
search --set=root --fs-uuid e4c8978b-aa98-49d2-bd1a-63b6d71f0a8e
linux /boot/vmlinuz-linux root=UUID=e4c8978b-aa98-49d2-bd1a-63b6d71f0a8e
}where the UUID is the UUID of the partition where I installed
rootduring the Arch installation process.
The entry is created but then there is a Kernel panic.
2) Update Grub in Ubuntu
3) Booted arch from Arch's live USB and updated Arch (I thought I had an old kernel or something like that).
4) Re-installed Arch
Do you have any suggestions?
During this process, I understood how little I understand about bootloaders/kernels, etc.. and so I have a question just for understanding:
If, in Ubuntu, I navigate ran
ls -l /boot/efi(this is where my efi partition is mounted in Ubuntu), I obtain
total 101338
drwxr-xr-x 4 root root 512 set 14 2017 boot-sav
drwxr-xr-x 5 root root 512 ago 20 2017 EFI
-rwxr-xr-x 1 root root 74067037 set 3 15:22 initramfs-linux-fallback.img
-rwxr-xr-x 1 root root 17027305 set 3 15:22 initramfs-linux.img
drwxr-xr-x 4 root root 512 fev 9 2018 'System Volume Information'
-rwxr-xr-x 1 root root 12673312 set 3 15:21 vmlinuz-linuxThe
vmlinuz-linux that appears last is the kernel for Arch or for what (maybe Grub?)? Maybe my question doesn't make alot of sense but it is just that I don't understand this stuff.
Thanks for your help
Last edited by FdAndL (2023-09-03 18:50:59)
Offline
I've read reports about a month ago that the older grub version that comes with ubuntu is incompatible with the arch linux kernel. I can't verify this for sure since I don't multi-boot.
If this is still the case, then your options will be to use a newer version of grub in ubuntu (if that is at all possible), or to install grub in arch and let it control the other OSes in your system.
Never argue with an idiot, they will drag you down to their level and then beat you with experience.
It is better to light a candle than curse the darkness.
A journey of a thousand miles begins with a single step.
Offline
Hi Kermit,
Thanks for your reply. But in that case how come this is a recent issue, i.e., grub used to recognize arch. Maybe there was a a grub-update in my Ubuntu that I didn't take notice?
Thanks
Offline
It has nothing to do with ubuntu updates. Some features were removed from the recent arch kernels that made it incompatible with older grub versions.
Never argue with an idiot, they will drag you down to their level and then beat you with experience.
It is better to light a candle than curse the darkness.
A journey of a thousand miles begins with a single step.
Offline
The entry is created but then there is a Kernel panic.
Please don't paraphrase, https://bbs.archlinux.org/viewtopic.php?id=57855
In doubt, link a photo of the panic (assuming there's any output to support that assumption)
device-mapper: remove ioctl on osprober-linux-sda3 failed: Device or resource busy
Command failed.
Check the dmesg for IO errors after this (in ubuntu)
Also see https://wiki.archlinux.org/title/SMART
(Don't freak out, this is just a precaution - the behavior does not *have* to be malign but could be a bug in os-prober, depending on how old the Ubuntu version is)
Offline
Hi Seth,
Thanks for your reply. I search the issue mentioned by Kermit and I found that there were reports of conflicts between ubuntu Grub and Arch. See for example https://forum.endeavouros.com/t/you-can … rub/6328/3 where they mention this.
So in the end what I did was just arch-chroot with a live USB and install grub for arch. I now have arch grub managing both Ubuntu and Arch and everything is going well.
It was not exactly the solution I was looking for, since I was trying to actually fix the issue without installing another grub. But fixing it was clearly beyond my abilities.
Thank you to you both and I am going to mark this as SOLVED.
Offline
According to one post the issue is limited to os-prober which would prevent https://wiki.archlinux.org/title/Microc … ly_loading and another one suggests that it's because of pre-2.04 grub versions. Your kernel panic might have been a result from a missing ucode update but I guess your ubuntu does not use grub 2.03 or lower?
Offline