You are not logged in.

#1 2021-01-19 08:08:13

Roken
Member
From: UK
Registered: 2012-01-16
Posts: 1,117

GRUB and external drive

My configuration is:

NVME drive - Arch with GRUB (no problems)
Spinner - Windows 10 (rarely used, but tested and working - chainload)
External USB WD drive - portable Arch with syslinux (can boot from GRUB - no chainload)

The portable Arch (PortArch) is properly configured to be portable, with all the hooks in the correct order.

To avoid having to override the default boot (the NVME drive) I have an entry in GRUB on the NVME to start PortArch on demand. This was working well, and provided the drive is mounted, a proper GRUB entry is (was) made for PortArch. However, just lately, although GRUB uses UUIDs almost exclusively, vmlinux root is always written as /dev/sdX rather than the UUID, which given that sdX assignments can change, can cause a boot failure when booting PortArch via GRUB. I can fix this by manually editing /boot/grub/grub.cfg to replace the /dev/sdX entry with UUID=XXXX-XXXXX-XXX-XXXXXXX, but shouldn't grub-mkconfig do this by default?

When fixed, the system boots properly and updates to kernel get installed in the correct, syslinux entry in /boot on PortArch

Booting via syslinux on the external drive (i.e. boot override in BIOS) is obviously not affected.

I also get an error on fsck when booting via GRUB that root is not mounted rw, though I assume this is because the boot partition is not referenced at all in PortArch, and should be nothing to worry about? (no error when using the syslinux boot).

Not the end of the world, but would be nice to get grub-mkconfig creating a working entry.

For info, my main Arch and Windows both use the correct UUID entries.

TIA


[img= Speedtest]https://www.speedtest.net/result/10678208597.png[/img]

Ryzen 1800x 8 core/16 thread - GTX 1070 8Gb, Asus Prime B450 Plus, 32Gb Corsair DDR4, Cooler Master N300 chassis, 6 HD (1 NvME PCI, 2SSD, 3Spinners) + 1 x optical.
Linux user #545703

Offline

#2 2021-01-19 09:26:32

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 12,239

Re: GRUB and external drive

Worksforme™ You didn't uncomment the

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

in /etc/default/grub by accident?

Online

#3 2021-01-20 07:09:37

Roken
Member
From: UK
Registered: 2012-01-16
Posts: 1,117

Re: GRUB and external drive

Thanks for your reply. No, it's still commented.

It strikes me as odd that it is literally only the linux boot line that uses /dev/sdX, and only on the PortArch entry. UUID is used (well, Windows uses PARTUUID) everywhere else in grub.cfg.


[img= Speedtest]https://www.speedtest.net/result/10678208597.png[/img]

Ryzen 1800x 8 core/16 thread - GTX 1070 8Gb, Asus Prime B450 Plus, 32Gb Corsair DDR4, Cooler Master N300 chassis, 6 HD (1 NvME PCI, 2SSD, 3Spinners) + 1 x optical.
Linux user #545703

Offline

Board footer

Powered by FluxBB