I have two hard drives, with two corresponding Grubs. One is from Arch Linux, and the other is from Ubuntu. Using Arch's grub, I can boot into either distribution. However, using Ubuntu's grub, I can see both Arch and Ubuntu, but cannot boot into Arch. I get the error:
Kernel offset End kernel panic. Not syncing: VFS. Unable to mount root fs on unknown-block.
grub.cfg for both distributions. In Ubuntu's grub, I can see an entry for Arch, with the following line.
I changed it to follow Arch's
initrd /boot/intel-ucode.img /boot/initramfs-linux.img
Now I can boot into Arch from Ubuntu's grub. It appears that Ubuntu is not appending this required option by default. How can I make Ubuntu automatically create the correct entry?
I'm updating Arch's grub with
grub-mkconfig -o /boot/grub/grub.cfg. In Ubuntu, I've tried both
update-grub and the raw command above (which it is aliased to).
The uncommented lines of
GRUB_DEFAULT="saved" GRUB_SAVEDEFAULT="true" GRUB_HIDDEN_TIMEOUT_QUIET="true" GRUB_TIMEOUT="3" GRUB_DISTRIBUTOR="`lsb_release -i -s 2> /dev/null || echo Debian`" GRUB_CMDLINE_LINUX_DEFAULT="" GRUB_CMDLINE_LINUX=""