Ho due dischi rigidi, con due Grubs corrispondenti. Uno proviene da Arch Linux e l'altro da Ubuntu. Usando Arch's grub, posso avviare entrambe le distribuzioni. Tuttavia, usando Ubuntu, posso vedere sia Arch che Ubuntu, ma non riesco ad avviare Arch. Ottengo l'errore:
Kernel offset
End kernel panic. Not syncing: VFS.
Unable to mount root fs on unknown-block.
Ho confrontato grub.cfg
per entrambe le distribuzioni. Nel grub di Ubuntu, posso vedere una voce per Arch, con la seguente riga.
initrd /boot/intel-ucode.img
L'ho cambiato per seguire Arch grub.cfg
:
initrd /boot/intel-ucode.img /boot/initramfs-linux.img
Ora posso avviare Arch da grub di Ubuntu. Sembra che Ubuntu non stia aggiungendo questa opzione richiesta per impostazione predefinita. Come posso fare in modo che Ubuntu crei automaticamente la voce corretta?
modificare
Sto aggiornando il grub di Arch con grub-mkconfig -o /boot/grub/grub.cfg
. In Ubuntu, ho provato entrambi update-grub
e il comando raw sopra (a cui è alias).
Modifica 2
Le linee non commentate di /etc/default/grub
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=""
update-grub2
è alias update-grub
. In realtà vedo una voce Arch e viene rilevata; ha solo le impostazioni sbagliate. Chiarirò in una modifica.