Boot troubles...

I have owned a GW704 for the last 4 yrs now with the following hardware…
P4 3GHz
1x1GB Kingston
WD 200GB SATA
IDE DVD and DVD-RW

The installation process of SuSE9.3 was as follows…

  • Install Windows with a small partion for system.
  • Install SuSE from CD
  • After install is complete, Boot from CD and let default to boot from HD
  • Complile Kernel for SATA
  • Install Kernel
    Boot Computer normally, default to suse.

Since then I have ran Open SuSE10 => 10.3 and OpenSuSE 11 with no Issues.

I have had bad luck with support for Video and MP3’s on OpenSuSE 11, so I rolled back to 10.3 which after adding the PackMan repository, made media support simple. (My preference is Kaffine and XMMS)

My problem is that after installing OpenSuSE 10.3, I try to boot the computer and it reports back no operating system found. Yet, if I boot off of the CD, and let it default to Boot To HD, it will load GRUB and let me boot up with full GUI support as normal. The only other diffence now is I have completely wiped out Window on the HD and moved my windows needs to VMWare on a server.

I have checked the installed Kernel, an it appears to have support for SATA set to M. I am concern that my boot sector may be shot on my HD. Any suggestions for troublshooting would be helpfull.

Thanks in Advance.
John

The easiest way to fix it is to reinstall the kernel ass it will also fix the boot loader.
Go to yast software and search for the kernel and choose update

Geoff

No go. I re-installed the Kernel. Then tried patching the server against the OpenSuSE update sources. I am truly wandering if I have a hardware problem. Thought about throwing another HD at it. Any other thoughts?

Thanks,
John

The best way for installing OpenSuSE is the following:

Suppose you want to install it as the only OS you must do:

/boot format ext2 for 70Megabyte
/ format ext3 for 50Gigabyte
swapper for 2 x size of the PC’s memory
/home format ext3 remainder of your harddisk

This is your basis for future “upgrading”. I recomment a fresh install whilst not formatting the /home partition. On this forum there are a couples of discussions how to “upgrade” your OS without getting issues whilst keeping your files in the /home directory.

I have built my systems as follows…

  • 3GB SWAP (not that its nessessary, but I add RAM as I can)
  • Remaining drive for / using xfs
    */home directories are copied to a SMB server in my DMZ (similiar to Roaming Profiles / Playing with CSync now)

All my installs are complete wipes, as I keep my data off of my machines. The only exception WAS the old XP partition. Half temped to install XP on 10GB and see if it will boot, then load SuSE again.

Whats wierd, is that I used GRUB boot loader in my past, not MS.

Last night, I loaded OpenSuSE 11 back on. And found the install hung when trying to install GRUB. I really think the Boot Sector of my Hard Drive is corrupt. I have a 100GB SATA in my extrnal HD could try to replace my 200GB SATA in a last resort if there is no way to recover this drive.

During my last install of 10.3, I used the partioning tool and under the expert button, performed a complete wipe of the HD. Does anyone know of any way to do a LowLevel format? Or is that what I have done.

Thanks,
John

It’s not the kernel.

Is the “no operating system found” error from the bios or from grub (it sounds like the bios)?

If it is the bios, that means that there is no working IPL (the boot code portion of the MBR). That you can boot from the CD would tend to confirm that, as doing so in effect replaces what the IPL does. The symptom you describe suggests that either the Windows IPL is in the MBR or something corrupted the grub IPL.

A boot sector is involved only if the IPL is generic code which searches the partition table for an “active” partition, or if “chainloading” from another boot sector/manager. When grub’s stage1 is installed to the MBR, there is a pointer to where it should look for its stage2 loader, which is what in turn calls the kernel; a partition boot sector is not involved at all.

Since you can boot into openSUSE, just use YaST to reinstall grub to the MBR - or reinstall it from the grub shell. Alternatively, use YaST to install a generic IPL, install grub to the root partition (meaning, that partition’s boot sector), and mark that partition active (only do this if the root is a primary, not a logical).

You are correct, sorry for not clarifying. The no os message is comming from the BIOS.

I understand that I could be looking at a boot sector issue. The question is, how do I recover from it? Its been suggest that load a windows boot disk and run FDisk /MBR.

I have tried using the Bootloader tool in yast to reinstall GRUB, and had no luck. As stated later in my post, I tried re-installing OpenSuSE 11 and it hung when installing GRUB.

Thanks,
John

First, let’s clarify again the terminology so we’re talking about the same thing. I’m going into some detail here because you may have a setup which complicates things (see at end of post for why).

The MBR is the first sector of the disk. The Windows fixmbr (not fdisk /mbr - that is old, and may corrupt the MBR!) command re-writes the bootstrap code (called the IPL) which resides in the MBR along with the partition table. The function of the Windows IPL is to read the table looking for the first active primary partition, and transfer control to the . . .

the first sector in that active partition; this is the boot sector. (And each partition has one.) In Windows, it is the fixboot command which restores the boot sector to a partition.

Grub can be set up to work like the Windows boot, in fact even using the Windows IPL. If grub’s stage1 is installed to the partition boot sector, the Windows IPL will call it transparently and it will appear that grub is controlling the entire boot, when in fact it was called from the MBR’s IPL. But alternatively, grub stage1 can be installed as the IPL itself with a pointer to its stage2 loader (/boot/grub/stage2) bypassing the partition boot sector altogether. Both setups will look identical to the user.

If you restore the Windows IPL using the installation CD’s Recovery Environment (the fixmbr command), that will work if (a) grub is installed to the root partition (i.e., its boot sector) and (b) the partition is a primary (not a logical) and (c) the partition’s bootable flag is set, making it “active”. If (b) is true, (a) and (c) can be done in YaST Bootloader, and you can use the Windows IPL. But note that YaST also has the option to “write generic boot code to MBR”, which is very similar code to the Windows IPL and functionally works the same. There can be situations however where the Windows fixmbr command will work while openSUSE will not be able to write its generic IPL, so it’s good to know about both methods.

If (b) is not true, then you must install grub stage1 to the MBR. You indicated that you had a problem doing this with YaST. What concerns me about this is your ref to xfs; is the first partition on the disk now formatted xfs whereas before it was not? Here is an excerpt from another thread with a similar problem:

XFS leaves no room for stage1 in the partition boot block. Therefore, do not specify an XFS partition as the location of the boot loader. This problem can be solved by creating a separate boot partition that is not formatted with XFS.

So, if you have root on an XFS formatted partition, that could be the problem if there is generic (or Windows) boot code in the MBR and it is looking for the boot sector in that partition. To avoid that, install grub to the MBR bypassing the partition boot sector. You can try that from a terminal window as root in the grub shell. If you want to try that, post back the output of the following:

fdisk -l -u 
cat /boot/grub/device.map
cat /boot/grub/menu.lst

Alternatively, you could create a separate boot partition as suggested above. How do you want to proceed?

Ok, that seems to make sense. Its a bit muddy, but let me take a stab at it when I get home. To ensure my clarity, SWAP is my first partion /dev/sda1 and / (xfs) is my second /dev/sda2. Both are setup as primary partitions when created. I understand that a HD can have up to 4 primary.

Your suggesting that if I am not going to dual boot my computer, to run the following…

swap as sda1
boot as sda2 ext3
/ as sda3 xfs

… and for simplicity, I will make all 3 primary partions.

Will be home in 1hr 15min. I will start a new install of 10.3

Thanks for your assistance. My understanding of Linux Boot code is limited.
John

I confess, I’ve been at this for so long that sometimes I over-communicate. At the same time, it often seems more complex than it actually is; it’s just a matter of familiarity. We’re fine with taking it a step at a time.

Well, that config worked.
I gave 2GB for swap
100MB for /boot ext3
180GB for / xfs.

Abit confused as too why I had to config this machine that way when I have another computer running only swap and / (xfs) on a IDE HD.

Please explain in further detail this command “fdisk -l -u”

Thanks,
John

As explained above, the grub boot loader IPL bootstrap code (stage1) is installed to the MBR with a pointer to /boot/grub/stage2, which stage1 directly transfers control to. Nothing is installed to the partition boot sector; it is not used at all in this setup. Consequently the problem with installing grub to the boot sector of an XFS partition does not apply.

The fdisk command simply lists the partition table, with the -u parameter instructing the report to display in sectors rather than blocks (making it easier to read). It also shows which partition(s) are marked “active”. This info would have been used to verify that grub’s device.map and menu.lst are correct, to make sure that more than one partition was not marked active (which can mis-direct the IPL), to possibly indicate if a generic IPL was in the MBR, and to know which partition to set the active flag on should the generic IPL approach be taken.