GRUB Error

I’ve just gotten a new laptop handed down to me from work and I’m trying to get opensuse 11 installed to it.
The laptop is an HP nw8340 and from what I understand, the model is blessed by Novell.

I’ve tried installing the 32 Bit and 64 Bit versions to it but each time I get it installed, after loading Gnome the unit locks up.

I’ve run through two hard disk tests and two RAM tests and all keep passing. I’ve verified both media sets are correct with the built-in verify also.

After the unit locks up and boots from the hard disk, the GRUB loader comes up and displays this:

GRUB ≡¢»≡¢»

If I press enter, it says that there is no system disk.

I am confused! Any thoughts or suggestions what I can check next?

With my laptop (a lesser HP model) they gave me a leaflet instructing me to get into the BIOS and set the SATA interface to “native mode” (or viceversa; I can’t remember now because there’s no such option in my BIOS anyway…).

Well I checked that and I was on Native Mode…

Any other thoughts anyone?

EDIT

It’s actually a nw8430 if that matters.

We need to see the disk partitioning. If you have the Live-CD (or any Live-CD), boot from it, open a terminal window, switch to root (the “su” command), and do:

fdisk -lu

If you used the DVD, boot into Rescue System, login as root, and issue the same command.

Post the output back here. If the machine has Windows installed, also tell us which version.

/dev/sda1 63 4209029 2104483+ 82 Linux swap/Solaris
/dev/sda2 * 4209030 46154744 20972857+ 83 Linux
/dev/sda3 46154745 195366464 74605860 83 Linux

Also, no Windows.
Interestingly, I put a Windows CD in to try and install XP to see if it were more stable and it goes past “Setup is inspecting your computers hardware” and gets a black screen and does nothing else…

I’m starting to think mainboard problems?

Unlikely it is the motherboard . . .

Usually when Windows setup locks as you described it is because it lacks a driver necessary to access the disk. If the drive in the machine is SATA this will definitely happen with an original XP install CD because there are no SATA drivers on it (strangely enough, also true for the Vista install, although not so for later XP/SP2 install media). So this could be a red herring.

We need to double-check the error and the sequence. You turn on the machine, the bios loads, and then you get "GRUB . . . ". Is “grub” actually followed by those strange characters above? And it is after this that you get the “no system disk” error? If so, this suggests a corruption in how the boot loader was installed to the MBR.

Try this: Boot the DVD into Repair Installed System. Choose reinstall boot loader. Reboot.

If that does not work, then do this: Boot the DVD into the Rescue System, login as root, and then do:

grub

That will put you in the grub shell. Then do:


find /boot/grub/stage2

Grub should return: (hd0,1). If not, report back, else do:


root (hd0,1)

Grub should return “Filesystem type is ext2fs, partition type is 0x83”. If not report back, else do:

setup (hd0) (hd0,1)
quit

That reinstalls grub to the MBR with a pointer to find the kernel at sda2. Then to reboot the machine do:

shutdown -r now

If still not working . . . once again boot the DVD into the Repair System. Enter the Boot Loader installation dialog. Under the Boot Loader Installation tab, uncheck Boot from Master Boot Record and check Boot from Root Partition. Then click on the Boot Loader Options button, to the upper-right check the boxes Set Active Flag in Partition Table and Write Generic Code to MBR; click OK, click Finish. Reboot.

If none of this works, I need to know if you have a Live-CD or only the DVD. Also, I presume this machine had Windows originally installed - did you remove Windows? Is/was this machine equipped with a Windows recovery utility and/or partition?

“Is “grub” actually followed by those strange characters above? And it is after this that you get the “no system disk” error? If so, this suggests a corruption in how the boot loader was installed to the MBR.”

Yes, strange characters afterward. If I press enter, then I get the non-system disk error.

Tried the “Install New Boot Loader” option from the Repair Tool box and rebooted. Still same odd GRUB …

Booted to rescue system.
Ran grub > find /boot/grub/stage2
grub> find /boot/grub/stage2
(hd0,1)
Ran setup (hd0) (hd0,1)
quit

Rebooted and I was able to boot!!

I’m definitely going to keep an eye on this but would still LOVE to know why it did this 3-4 times in a row. Any ideas? Can I count on this system to work you think?

Also, this unit had Windows pre-loaded on it at one time but only then. The engineer that had this before me had SLED 10.2 and then openSuSe 11 on it only. (We are a Novell Platinum Partner and strong open source shop! :slight_smile: )He told me he never had a problem with it locking up on him.

Thanks for all the help guys, I really appreciate it! lol!

Please let me know if you have any ideas why this would happen.

Glad we got it back booting properly. I don’t think you need to be concerned. Usually when something goes awry it can be fixed fairly easily, as in this case.

The problem definitely was with how grub was installed in the MBR, or possibly something residual from a previous instance. Let me suggest you post back here the contents of a couple files. Open a terminal, switch to root (the “su” command), and do:

cat /boot/grub/device.map
cat /etc/grub.conf

Here is the output

#cat /boot/grub/device.map
(hd0)    /dev/sda
#cat /etc/grub.conf
setup --stage2=/boot/grub/stage2 (hd0,1) (hd0,1)
quit

Do you think this had to do with the fact this had Linux on it before?

This is what happened: The installation program detected code in the IPL (the master bootstrap code) in the MBR, and therefore installed grub to the PBR (partition boot record) instead of the IPL. Windows or generic boot code in the IPL simply transfers control to a jump instruction in the PBR (as long as the partition has its “bootable” flag set in the partition table); if that code had actually been there intact grub would have loaded from the PBR. But that detection was incorrect in that either there was not actual executable code in the IPL or the partition pointer embedded in that code was now incorrect, either way the PBR was not being called and hence “no system disk” (i.e., no boot disk). The grub shell instructions I gave you forced installation of grub into the IPL; it resides there now with an embedded pointer to the correct kernel partition (i.e., the PBR is not being used).

I doubt you will have any problem associated with this in the future. But just as an added safety step, open the /etc/grub.conf file with a text editor as root, and change the first (hd0,1) to (hd0). That changes the grub installation instruction from the PBR to the IPL. You should be set then for sure.

Again, much appreciated for the help! :wink:

Sure, glad to have been of some help. :slight_smile: