Boot problem after installation on usb key

Hi everyone!

I have got a very strange boot problem.
But first: I have openSUSE 11.4 with kde installed.
I have the amd64 dual core cpu and 2 hard disks.
I was able to boot from both of those disks (on the second disk I
have openSUSE 11.2 in case something goes wrong with the
first disk).

Then I decided to install openSUSE 11.4 from DVD to a usb key (just like
I would to a hard disk). I succeeded. I did not involve any partition of the
hard disks in this install.

But now I can not boot anymore from any of my both hard disks although
bios finds them it did before.

After bios I get the following message:
Loading stage 1.5
error 21.

Error 21 means: Selected disk does not exist
This error is returned if the device part of a device- or full
file name refers to a disk or BIOS device that is not present or
not recognized by the BIOS in the system.

But I am still able to boot from usb key. I have even modified the menu.lst
from the usb key to boot openSUSE 11.4 from the first hard disk. This works
fine. I have also tried to install grub again on my first hard disk with
grub.install.unsupported and with yast2. But installation stops with an
error message like “hard disk not found by bios”.

Has anybody some idea.
Thanks for your help.

It sounds like to me you have installed the Grub Boot loader on the internal hard drives which is pointing to a menu on the USB key drive. Anytime you install openSUSE on a drive that is not the normal boot drive, you must go into the booting section and determine if and where you are loading grub. It can be placed into the MBR (Master Boot Record) or into one of the first four primary partitions, on any disk. When installing to an external USB key, it does not sound like you pointed grub to be installed there. urther, if this disk was to be stand alnoe, your BIOS would need to be direct to boot from the USB key. So, you will need to learn how to reinstall grub in order to fix your internal drives to work without the usb thumb drive being installed. There is a script file called findgrub, which when run can find all boot loaders and provide enough info to help fix the problem. Findgrub 3.3 is the most recent version you can find here:

Looking for Grub and Windows bootloader in all partitions. - Page 11

Normally you copy the text from the code block into a text editor like kwrite and save the file into your /home area bin folder as findgrub (~/bin/findgrub or /home/username/bin/findgrub). Then, it must be marked executable. Run the following terminal command to make that happen:

chmod +x ~/bin/findgrub

To use findgrub, open up another terminal session and type in the command:

findgrub

Then copy and paste the text output from findgrub into a code (#) block using the adanced message editor. This will help us see what has went wrong.

Thank You,

Thank you for your answer.
I’m not at home right now, but I will execute the script as soon as I am at home and post the answer tomorrow.
Anyway I am sure, that the bootloader was correctly installed on the usb key. I can boot this usb key on any
computer I have tried so far.

I thought that maybe my bios got somehow damaged, because grub replies with error 21.

Again, thanks for your answer, I will try the script.

I’ve run findgrub with different options on my computer.
Here are the results:

first without any option:


Find Grub Version 3.3 - Written for openSUSE Forums


 - reading MBR on disk /dev/sda                       ... --> Grub  found in sda MBR     => 1      => /dev/sda? (openSUSE)
 - reading bootsector  /dev/sda1   *  (LINUX)         ... --> Grub  found in /dev/sda1   => sda1   0x83 (openSUSE)
 - skipping partition  /dev/sda2      (swap)         
 - reading bootsector  /dev/sda3      (LINUX)         ...
 - reading bootsector  /dev/sda4      (Extended)      ...
 - reading bootsector  /dev/sda5      (LINUX)         ...
 - reading bootsector  /dev/sda6      (LINUX)         ...

 - reading MBR on disk /dev/sdb                       ... --> Grub  found in sdb MBR     => 1      => /dev/sdb? (openSUSE)
 - reading bootsector  /dev/sdb1      (LINUX)         ... --> Grub  found in /dev/sdb1   => sdb1   0x83 (openSUSE)
 - reading bootsector  /dev/sdb2   *  (LINUX)         ... --> Grub  found in /dev/sdb2   => sdb2   0x83 (openSUSE)
 - reading bootsector  /dev/sdb3      (Extended)      ...
 - reading bootsector  /dev/sdb5      (LINUX)         ...
 - reading bootsector  /dev/sdb6      (LINUX)         ...
 - reading bootsector  /dev/sdb7      (LINUX)         ...
 - reading bootsector  /dev/sdb8      (LINUX)         ...
 - skipping partition  /dev/sdb9      (swap)         

 - reading MBR on disk /dev/sdc                       ...
 - reading bootsector  /dev/sdc1   *  (LINUX)         ... --> Grub  found in /dev/sdc1   => sdc1   0x83 (openSUSE)

 - reading MBR on disk /dev/sdd                       ...
 - searching partition /dev/sdd1   *  (FAT32)         ...

and with option --kernel


- reading MBR on disk /dev/sda                       ... --> Grub  found in sda MBR     => 1      => /dev/sda? (openSUSE)
 - reading bootsector  /dev/sda1   *  (LINUX)         ... --> Grub  found in /dev/sda1   => sda1   0x83 (openSUSE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 --> kernel vmlinuz-2.6.37.1-1.2-xen                            found in /dev/sda1
 --> kernel vmlinuz-2.6.37.1-1.2-default                        found in /dev/sda1
 --> kernel vmlinuz-2.6.37.1-1.2-desktop                        found in /dev/sda1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - skipping partition  /dev/sda2      (swap)         
 - reading bootsector  /dev/sda3      (LINUX)         ...
 - reading bootsector  /dev/sda4      (Extended)      ...
 - reading bootsector  /dev/sda5      (LINUX)         ...
 - reading bootsector  /dev/sda6      (LINUX)         ...

 - reading MBR on disk /dev/sdb                       ... --> Grub  found in sdb MBR     => 1      => /dev/sdb? (openSUSE)
 - reading bootsector  /dev/sdb1      (LINUX)         ... --> Grub  found in /dev/sdb1   => sdb1   0x83 (openSUSE)
 - reading bootsector  /dev/sdb2   *  (LINUX)         ... --> Grub  found in /dev/sdb2   => sdb2   0x83 (openSUSE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 --> kernel vmlinuz-2.6.31.5-0.1-desktop                        found in /dev/sdb2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - reading bootsector  /dev/sdb3      (Extended)      ...
 - reading bootsector  /dev/sdb5      (LINUX)         ...
 - reading bootsector  /dev/sdb6      (LINUX)         ...
 - reading bootsector  /dev/sdb7      (LINUX)         ...
 - reading bootsector  /dev/sdb8      (LINUX)         ...
 - skipping partition  /dev/sdb9      (swap)         

 - reading MBR on disk /dev/sdc                       ...
 - reading bootsector  /dev/sdc1   *  (LINUX)         ... --> Grub  found in /dev/sdc1   => sdc1   0x83 (openSUSE)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 --> kernel vmlinuz-2.6.27.7-9-default                          found in /dev/sdc1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


 - reading MBR on disk /dev/sdd                       ...
 - searching partition /dev/sdd1   *  (FAT32)         ...

and with option --debug


Find Grub Version 3.3 - Written for openSUSE Forums


 - reading MBR on disk /dev/sda                       ... --> Grub  found in sda MBR     => 1      => /dev/sda? (openSUSE)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/sda Partition table
--------------------------------------------------------------------------------
0000000 0080 0101 fe83 ffff 3ec1 0000 14e6 0500
0000020 fe00 ffff fe82 ffff 53a7 0500 344b 0080
0000040 fe00 ffff fe83 ffff 87f2 0580 e098 077f
0000060 fe00 ffff fe0f ffff 688a 0d00 6e37 1842
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - reading MBR on disk /dev/sdb                       ... --> Grub  found in sdb MBR     => 1      => /dev/sdb? (openSUSE)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/sdb Partition table
--------------------------------------------------------------------------------
0000000 0100 0001 fe83 7f3f 003f 0000 6041 001f
0000020 0080 8001 fe83 ffff 6080 001f c6b6 0280
0000040 fe00 ffff fe0f ffff 27b4 02a0 630d 1001
0000060 0000 0000 0000 0000 0000 0000 0000 0000
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - reading MBR on disk /dev/sdc                       ...

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/sdc Partition table
--------------------------------------------------------------------------------
0000000 0080 0002 b783 3e39 0001 0000 5fff 000f
0000020 0000 0000 0000 0000 0000 0000 0000 0000
*
0000100
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - reading MBR on disk /dev/sdd                       ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/sdd1 Bootsector
--------------------------------------------------------------------------------
 Xmkdosfs kwBKMIntenso 4G FAT32   wtV2This is not a bootable disk  Please insert a bootable floppy and
press any key to try again  
U 
--------------------------------------------------------------------------------
0000000 48eb 0090 0000 0000 0000 0000 0000 0000
0000020 0000 0000 0000 0000 0000 0000 0000 0000
*
0000060 0000 0000 0000 0000 0000 0000 0000 0203
0000100 01ff 8000 8bf1 0486 0800 90fa f690 80c2
0000120 0275 80b2 59ea 007c 3100 8ec0 8ed8 bcd0
0000140 2000 a0fb 7c40 ff3c 0274 c288 be52 7d81
0000160 36e8 f601 80c2 5674 41b4 aabb cd55 5a13
0000200 7252 814b 55fb 75aa a045 7c41 c084 3e78
0000220 0575 e183 7401 6637 4c8b be10 7c05 44c6
0000240 01ff 8b66 441e c77c 1004 c700 0244 0001
0000260 8966 085c 44c7 0006 6670 c031 4489 6604
0000300 4489 b40c cd42 7213 bb05 7000 7deb 08b4
0000320 13cd 0a73 c2f6 0f80 e884 e900 008d 05be
0000340 c67c ff44 6600 c031 f088 6640 4489 3104
0000360 88d2 c1ca 02e2 e888 f488 8940 0844 c031
0000400 d088 e8c0 6602 0489 a166 7c44 3166 66d2
0000420 34f7 5488 660a d231 f766 0474 5488 890b
0000440 0c44 443b 7d08 8a3c 0d54 e2c0 8a06 0a4c
0000460 c1fe d108 6c8a 5a0c 748a bb0b 7000 c38e
0000500 db31 01b8 cd02 7213 8c2a 8ec3 4806 607c
0000520 b91e 0100 db8e f631 ff31 f3fc 1fa5 ff61
0000540 4226 be7c 7d87 40e8 eb00 be0e 7d8c 38e8
0000560 eb00 be06 7d96 30e8 be00 7d9b 2ae8 eb00
0000600 47fe 5552 2042 4700 6f65 006d 6148 6472
0000620 4420 7369 006b 6552 6461 2000 7245 6f72
0000640 0072 01bb b400 cd0e ac10 003c f475 00c3
0000660 0000 0000 0000 0000 0000 0000 0000 0000
*
0000760 0000 0000 0000 0000 0000 0000 0000 aa55
0001000
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/dev/sdd Partition table
--------------------------------------------------------------------------------
0000000 0180 0001 7b0c f9fe 003e 0000 6b92 0077
0000020 0000 0000 0000 0000 0000 0000 0000 0000
*
0000100
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

and finally with option --codedebug


Find Grub Version 3.3 - Written for openSUSE Forums


--- CODE DEBUG: sda is BIOS drive hd0
--- CODE DEBUG: looking for /dev/sda in /boot/grub/device.map:
--- CODE DEBUG: - /dev/sda
--- CODE DEBUG: - /dev/disk/by-id/ata-SAMSUNG_HD322HJ_S17AJB0SA44371 -> hd0
--- CODE DEBUG: - /dev/disk/by-id/scsi-SATA_SAMSUNG_HD322HJS17AJB0SA44371
--- CODE DEBUG: - /dev/disk/by-id/wwn-0x50024e9201436f1c
--- CODE DEBUG: - /dev/disk/by-path/pci-0000:00:11.0-scsi-1:0:0:0
--- CODE DEBUG: => sda is now hd0
--- CODE DEBUG:
--- CODE DEBUG: sdb is BIOS drive hd1
--- CODE DEBUG: looking for /dev/sdb in /boot/grub/device.map:
--- CODE DEBUG: - /dev/sdb
--- CODE DEBUG: - /dev/disk/by-id/ata-SAMSUNG_SP1614N_0642J1FWB12528 -> hd1
--- CODE DEBUG: - /dev/disk/by-id/scsi-SATA_SAMSUNG_SP1614N0642J1FWB12528
--- CODE DEBUG: - /dev/disk/by-id/wwn-0x50f0000000000000
--- CODE DEBUG: - /dev/disk/by-path/pci-0000:00:14.1-scsi-1:0:1:0
--- CODE DEBUG: => sdb is now hd1
--- CODE DEBUG:
--- CODE DEBUG: sdc is BIOS drive 
--- CODE DEBUG: looking for /dev/sdc in /boot/grub/device.map:
--- CODE DEBUG: - /dev/sdc
--- CODE DEBUG: => sdc is now 
--- CODE DEBUG:
--- CODE DEBUG: sdd is BIOS drive 
--- CODE DEBUG: looking for /dev/sdd in /boot/grub/device.map:
--- CODE DEBUG: - /dev/sdd
--- CODE DEBUG: => sdd is now 
--- CODE DEBUG:

 - reading MBR on disk /dev/sda                       ... --> Grub  found in sda MBR     => 1      => /dev/sda? (openSUSE)
 - reading bootsector  /dev/sda1   *  (LINUX)         ... --> Grub  found in /dev/sda1   => sda1   0x83 (openSUSE)
 - skipping partition  /dev/sda2      (swap)         
 - reading bootsector  /dev/sda3      (LINUX)         ...
 - reading bootsector  /dev/sda4      (Extended)      ...
 - reading bootsector  /dev/sda5      (LINUX)         ...
 - reading bootsector  /dev/sda6      (LINUX)         ...

 - reading MBR on disk /dev/sdb                       ... --> Grub  found in sdb MBR     => 1      => /dev/sdb? (openSUSE)
 - reading bootsector  /dev/sdb1      (LINUX)         ... --> Grub  found in /dev/sdb1   => sdb1   0x83 (openSUSE)
 - reading bootsector  /dev/sdb2   *  (LINUX)         ... --> Grub  found in /dev/sdb2   => sdb2   0x83 (openSUSE)
 - reading bootsector  /dev/sdb3      (Extended)      ...
 - reading bootsector  /dev/sdb5      (LINUX)         ...
 - reading bootsector  /dev/sdb6      (LINUX)         ...
 - reading bootsector  /dev/sdb7      (LINUX)         ...
 - reading bootsector  /dev/sdb8      (LINUX)         ...
 - skipping partition  /dev/sdb9      (swap)         

 - reading MBR on disk /dev/sdc                       ...
 - reading bootsector  /dev/sdc1   *  (LINUX)         ... --> Grub  found in /dev/sdc1   => sdc1   0x83 (openSUSE)

 - reading MBR on disk /dev/sdd                       ...
 - searching partition /dev/sdd1   *  (FAT32)         ...

My primary hard disk is /dev/sda. It has only one boot partition.
My secondary hard disk is /dev/sdb. It has 2 boot partitions.

The usb key /dev/sdc1 is the only that I am booting openSUSE 11.4 from the first partition from
the first hard disk /dev/sda1 . In Grub syntax it is (hd0,0).

Finally /dev/sdd is just another usb key that I use only for data. It has no operating system or boot loader installed.

I hope anyone can see something in this and can help me.