I want to boot the openSUSE Tumbleweed, that is on that external HDD. I have done that on other computers without a problem by just choosing the external HDD in the Boot Menu of the BIOS.
On this computer, it just doesn’t work. When I try to select it in the Boot Menu, it shows the ‘grub rescue: unknown filesystem’ error. There is a pretty common solution for this:
ls
ls (hdX,Y)/
repeat 2. until it doesn’t say unknown filesystem
set the partition from 3. as root
insmod normal
normal
The problem for me is, that the internal drive’s partitions get recognised normally, but there are only four partitions listed under the external hdd and all of them are ‘unknown filesystem’.
As I said, if I connect the drive to a different computer, it works normally.
Many thanks in advance to whoever is able to solve my problem,
Greenscreener
PS: I am horrible at naming things, if you get an idea on a different title, tell me.
(I am mildly surprised that the external can be booted from other computers, but that may be because we don’t know what boot code is installed on it.)
You should be able to boot the external TW from the internal TW’s Grub menu if you boot the internal and update its bootloader while the external is attached and turned on. Os-prober used by the internal’s update process should automatically add at least one entry to do so, unless you have disabled its os-prober in its /etc/default/grub.
Both likely have the same reason - if grub fails to read disk, it also fails to follow logical partitions chain. fdisk output looks good. How do you connect this disk (USB, eSATA, whatever)?
Actually, it workes on multiple computers without a problem, I would even say, that it works more often than it doesn’t. I also have a feeling, that it tends to work more on newer computers. Also, what is boot code, is there a way of me obtaining it and can it help you somehow?
Yes, GRUB detects all the OSes on the drive and shows them, but when I try to boot them, it says ‘unknown device: uuid’ and then something about having to select the kernel first.
The external drive is connected over USB. The cable and drive port is 3.0 but the computer’s port is 2.0, if that helps. (In the past, the drive has booted from both 3.0 and 2.0)
error: no such device: 267f0a04-2f07-463a-b981-a1c31fa48ddf.
error: no such partition.
error: you need to load the kernel first.
Press any key to continue...
That FAT32 partition was originally ment for the EFI, but then I decided to use legacy BIOS for support for older PCs as I connect my drive to a lot of various computers. But I am no professional and don’t know the advantages / disadvantages. Is it worth to switch to EFI and is it even possible?
Exactly which Grub version is installed in TW on the internal disk? As arvidjaar wrote, a UUID can’t be read from a filesystem it doesn’t understand. Grub Legacy cannot handle EXT4 partitions formatted with the 64bit option that’s been default since ~26 months ago.
Something to test: substitute /dev/sdb5 for the UUID=<blah…> string in the first disk’s Grub stanza.
What do you mean by that? I tried to google translate the word “stanza”, but I don’t think I got what you ment… Is GRUB composing poetry now? I am confused.
menuentry 'TW' {
set root=(blah)
more blah
even more blah
blah blah blah blah
linux /boot/vmlinuz blah UUID^H^H^H^Hroot=/dev/sdb5 blah
initrd /boot/initrd...
}
Everything in the code block comprises one stanza.