12.1 does not boot

I have freshly installed 12.1 on a clean HD. After installation, I see 12.1 and can work with it but when I shut the system down and cold start, I see the motherboard screen then blank and a flashing cursor - forever - 12.1 does not boot. The motherboard settings (Intel D865PERL) seem correct to boot from the only hard disk, yet it does not. I have re-installed Linux and it is the same. Is there a problem with this motherboard, or something else I need to do? The installation seems to go smoothly. I have 12.1 running smoothly (starts and stops ok) on another machine here of a different type but wanted to use the system with the Intel motherboard if I can.

Thanks for any help or suggestions.

George

So, when a computer does not boot you have three possible situations:

  1. The selected Boot Drive in the BIOS has nothing in the boot sector:
  2. The active Partition of the Boot drive is not bootable.
  3. openSUSE is loaded in a Logical Partition and Grub was not loaded into the MBR.

Most everything has to do with the booting section in the openSUSE 12.1 installation section, before you proceed with the installation. Some things to consider:

  1. When you have more than one hard drive, the hard drive you installed openSUSE in to must be listed as the first hard drive.
  2. If you elect to NOT load the MBR with Grub, you most lilely should install generic boot codfe there. Make sure that openSUSE root / is only loaded into primary partitions 1, 2, 3 or 4.
  3. When you install the root / openSUSE partition into a logical partition, numbered 5 or higher, you must load Grub into the MBR.

Here is more infor on installing openSUSE:

If I had Windows installed on /dev/sda and openSUSE installed on /dev/sdb and I wanted to boot from openSUSE and select openSUSE or Windows from the Grub OS selection menu, I would have to do several things to make that work:

  1. Select /dev/sdb as my boot device in the PC BIOS.
  2. Install openSUSE onto /dev/sdb, making sure ALL (Grub, / root, /home & SWAP all on /dev/sdb) of openSUSE was installed there.
  3. In the openSUSE install section, before I allowed the installation to begin, make sure that /dev/sdb is listed first before /dev/sda other wise the Grub menu and device.map fies will not be constructed properly.

When you install openSUSE and the boot target is Not the first drive, you must make sure the installer knows how it will be when it boots the openSUSE hard disk. This can not be guesed when you boot from a CD or DVD first.

Each hard drive can have up to four PRIMARY partitions, any of which could be marked active and bootable. No matter what you might hear, only one of the first four primary partitions can be booted from. That means you can boot from Primary partitions 1, 2, 3 or 4 and that is all. In order to boot openSUSE, you must load openSUSE and the grub boot loader into one of the first four partitions. Or, your second choice is to load the grub boot loader into the MBR (Master Boot Record) at the start of the disk. The MBR can be blank, like a new disk, it can contain a Windows partition booting code or generic booting code to boot the active partition 1, 2, 3, or 4. Or, as stated before, it can contain the grub boot loader. Why load grub into the MBR then? You do this so that you can “boot” openSUSE from a logical partition, numbered 5 or higher, which is not normally possible. In order to have more than four partitions, one of them (and only one can be assigned as extended) must be a extended partition. It is called
an Extended Primary Partition, a container partition, it can be any one of the first four and it can contain one or more logical partitions within. Anytime you see partition numbers 5, 6 or higher for instance, they can only occur inside of the one and only Extended Primary partition you could have.

What does openSUSE want as far as partitions? It needs at minimum a SWAP partition and a “/” partition where all of your software is loaded. Further, it is recommended you create a separate /home partition, which makes it easier to upgrade or reload openSUSE without losing all of your settings. So, that is three more partitions you must add to what you have now. What must you do to load and boot openSUSE from an external hard drive? Number one, you must be able to select your external hard drive as the boot drive in your BIOS setup. Number two, you need to make sure that the external hard drive, perhaps /dev/sdb, is listed as the first hard drive in your grub device.map file and listed as drive hd0. I always suggest that you do not load grub into the MBR, but rather into the openSUSE “/” root primary partition which means a primary number of 1, 2, 3 or 4. If number one is used, then that will be out. You will mark the openSUSE partition as active for booting and finally you must load generic booting code
into the MBR so that it will boot the openSUSE partition. I suggest a partition like this:

  1. /dev/sda, Load MBR with grub
  2. /dev/sda1, Primary SWAP (4 GB)
  3. /dev/sda2, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  4. /dev/sda3, Primary EXT4 “/home” Your main home directory (Rest of the disk)

<OR>

  1. /dev/sda, Load MBR with generic booting code
  2. /dev/sda1, Primary NTFS Partition for Windows
  3. /dev/sda2, Primary SWAP (4 GB)
  4. /dev/sda3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  5. /dev/sda4, Primary EXT4 “/home” Your main home directory (Rest of the disk)

<OR>

  1. /dev/sda, Load MBR with generic booting code
  2. /dev/sda1, Primary, booting NTFS Partition for Windows (small < 500 mb)
  3. /dev/sda2, Primary, NTFS Partition for Windows (Main / Large Partition)
  4. /dev/sda3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  5. /dev/sda4, Primary Extended Partition (Rest of Disk)
  6. /dev/sda5, Logical SWAP partition(4 GB, inside Extended)
  7. /dev/sda6, Logical EXT4 “/home” Your main home directory (Rest of the Extended partition)

<OR>

  1. /dev/sdb, Load MBR with generic booting code
  2. /dev/sdb1, Primary, booting NTFS Partition for Windows (small < 500 mb)
  3. /dev/sdb2, Primary, NTFS Partition for Windows (Main / Large Partition)
  4. /dev/sdb3, Primary EXT4 “/” openSUSE Partition Marked Active for booting (80-120 GB)
  5. /dev/sdb4, Primary Extended Partition (Rest of Disk)
  6. /dev/sdb5, Logical SWAP partition(4 GB, inside Extended)
  7. /dev/sdb6, Logical EXT4 “/home” Your main home directory (Rest of the Extended partition)

Thank You,

  • Make sure that the SATA configuration is set to AHCI mode.
  • Make sure that the BIOS is permanently set to “Legacy” if its a UEFI mb … or make a full UEFI installation (but it’s another kettle of fish)
  • Install Grub in MBR.

Otherwise once it is installed if you cannot reboot, boot from a live CD, open a terminal and post the output of the following command:

fdisk -l

The output of findgrub could also provide useful info. But you’ll have to install it on the live system first:

su -l
zypper ar http://download.opensuse.org/repositories/home:/please_try_again/openSUSE_12.1/ PTA
zypper refresh -r PTA
zypper in updategrub
findgrub 

Thank you both for your excellent replies. I should have said first that I am a relative newbie but as usual, I am learning much with your guidance.

I read up on UFI and UEFI and have studied the specs for D865PERL dated 2003. Neither UFI or UEFI (introduced 2007?) are mentioned in the spec so I don’t think I have either.

There is only one hard drive attached to the motherboard and it is PATA, not SATA although the board does have two SATA connectors. I checked the BIOS and there is no settings I can check for SATA with nothing connected, they are greyed out so I don’t know if it is set for AHCI and perhaps it does not matter since there is no SATA device?

I don’t know how to unstall GRUB in the MBR. Is there something in the installation routine I missed having it do this for me?

I don’t have a live CD. I booted with DOS and ran DOS fdisk. I could see three partitions, the second one was bootable. I changed the bootable partition to the first and then to the third but the behavior is the same, no boot. SO I decided to clean the drive with DOS fdisk and reload 12.1 again, paying particular attention to the drive configuration in the installer.

Here is the setup I used which is the default:

http://www.ffwdm.com/test/suse-install-partition-setup.jpg

Installation concludes and I have a working 12.1. I open a terminal window and type fdisk -l and get this:

linux-d04y:/home/george # fdisk -l

Disk /dev/sda: 30.6 GB, 30606151680 bytes
255 heads, 63 sectors/track, 3720 cylinders, total 59777640 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xdce6cffe

Device Boot Start End Blocks Id System
/dev/sda1 2048 1525759 761856 82 Linux swap / Solaris
/dev/sda2 * 1525760 25012223 11743232 83 Linux
/dev/sda3 25012224 59777023 17382400 83 Linux

linux-d04y:/home/george #

There are no other hard drives in the system, only the one PATA.

Once again, I shut down the system and cold start. Same behavior - won’t start, flashing cursor.

George

So, I am not seeing an issue with what you posted and short of not turning off the PC, its hard to know what to suggest. Here is a bash utility called findgrub that would be good to run and post the results from:

http://www.unixversal.com/linux/openSUSE/findgrub-3.7.2.tgz

I have a bash script that lets you reboot the kernel without actually doing a reboot here:

FastBoot for Grub Legacy Menu using Kexec - Version 1.40 - Blogs - openSUSE Forums

And with you running, getting a copy of these files would be good:

su -
password:
cat /etc/fstab
cat /boot/grub/device.map
cat /boot/grub/menu.lst

Thank You,

It might be the problem. The PATA driver for your mainboard is loaded at installation time but not included in the initial ramdisk. You have to find out which driver you need for your IDE disk by booting a live CD and running the command:

hwinfo --disk | grep -i driver

Then you have to rebuild initrd. Look at this thread: http://forums.opensuse.org/english/get-technical-help-here/install-boot-login/472926-harddisk-new-computer-fails-3.html#post2444544. Similar problem (but different driver) and probably same solution.

On 2012-03-11 15:26, please try again wrote:

> It might be the problem. The PATA driver for your mainboard is loaded
> at installation time but not included in the initial ramdisk. You have
> to find out which driver you need for your IDE disk by booting a live CD
> and running the command:

Are you sure? It looks as if grub is not even loading and displaying its
menu :-?


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Thanks again for both replies. I am replying to you on the freshly reloaded system. I haven’t tried to restart it yet and I don’t have a live CD so I will try to answer your input while I have the system running again.

Here is the results of: (I had to be SU or I got no response)

linux-jsez:/home/george # hwinfo --disk | grep -i driver
Driver: “ata_piix”, “sd”
Driver Modules: “ata_piix”

please_try_again - I don’t know enough to understand from the thread you pointed me to what I need to do or if I need to do something.

jdmcdaniel3 - I downloaded the grub finder. you suggested Ark opens the file for me and I see the contents: two files “cfindgrub” and “findgrub”. If I click on either, I am told that the files already exists, do I want to replace it? I quit that and try to run the file “findgrub” from the command line. That fails and it suggests that I “cnf findgrub” which I do but that fails - file not found.

Here are the results for the third tests you suggested:

linux-jsez:/home/george # cat /etc/fstab
/dev/disk/by-id/ata-ST330630A_3CK0LHV5-part1 swap swap defaults 0 0
/dev/disk/by-id/ata-ST330630A_3CK0LHV5-part2 / ext4 acl,user_xattr 1 1
/dev/disk/by-id/ata-ST330630A_3CK0LHV5-part3 /home ext4 acl,user_xattr 1 2
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0

linux-jsez:/home/george # cat /boot/grub/device.map
(hd0) /dev/disk/by-id/ata-ST330630A_3CK0LHV5
(fd0) /dev/fd0

linux-jsez:/home/george # cat /boot/grub/menu.lst

Modified by YaST2. Last modification on Sat Mar 10 16:56:14 EST 2012

THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader

For the new kernel it try to figure out old parameters. In case we are not able to recognize it (e.g. change of flavor or strange install order ) it it use as fallback installation parameters from /etc/sysconfig/bootloader

default 0
timeout 8
gfxmenu (hd0,1)/boot/message
##YaST - activate

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 12.1 - 3.1.0-1.2
root (hd0,1)
kernel /boot/vmlinuz-3.1.0-1.2-default root=/dev/disk/by-id/ata-ST330630A_3CK0LHV5-part2 resume=/dev/disk/by-id/ata-ST330630A_3CK0LHV5-part1 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd-3.1.0-1.2-default

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 12.1 - 3.1.0-1.2
root (hd0,1)
kernel /boot/vmlinuz-3.1.0-1.2-default root=/dev/disk/by-id/ata-ST330630A_3CK0LHV5-part2 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x31a
initrd /boot/initrd-3.1.0-1.2-default

###Don’t change this comment - YaST2 identifier: Original name: floppy###
title Floppy
rootnoverify (fd0)
chainloader +1

I did not try your kernel rebooter yet since I wanted to see if it would reboot after one change I made during the last reload. On this screen:

http://www.ffwdm.com/test/suse-install-boot-setup.jpg

I can see that GRUB is set to boot from sda2 (/) but not from MBR? Can it be both? I enabled the the boot from MBR and the other (sda2) stayed enabled also.

I am going to shut down now and see if I can cold start. Since I am writing to you on the trouble machine, I am going to post this message so far. My next message will report on whether I could start.

Thanks for your help and interest!

George

It started! :). I am writing to you again from that 12.1 system with the Intel D865PERL motherboard. No reload this time.

Since I didn’t change anything else, it would seem, in my case anyway, that at that stage in the installation, boot should be set “enabled” from the MBR. Not sure why it could be set to boot from both / and MBR?

You can install the Grub boot loader (stage1) in several locations, including the MBR and the bootsector of the root partition. The one in the MBR will be used, because the boot loader in the MBR will be executed if present. Otherwise (generic MBR) the boot loader of the primary partition which has the bootflag will be executed. It could be the Linux root partition or another one (such as Windows, another OS or the extended partition, which can contain Grub too - another possibility).

Thank you. I thought that there must be a reason.

I have restarted again successfully so it seems I am out of the woods with this problem.

Onward to the next challenge!

Many thanks,

George

If placing Grub into the MBR, then we know there is something there to boot. When placing Grub into /, one would also need to write generic boot code to the MBR to make sure it can boot. So, perhaps, there was no boot code in the MBR when placing grub into / and just making it active did not work. In any event, all is well that ends well and we are happy for this to work. As for the findgrub bash script, I suggest you copy it to your /home/yourname/bin folder. Then, open up a terminal session and simply type in:

findgrub

Thank You,