New OpenSUSE install wont boot

I should mention that I am a newbie to Linux. I’ve used Ubuntu a bit, so when I started going through LFS101x Intro to Linux I decided I wanted to try another OS. I bought a used desktop that had Win7 Ultimate installed on a 150GB drive. I added a 750GB drive with the idea that I could try several Linux Distros side by side. I’d like to keep the openSUSE installed size to around 160GB.

HP Pro 3000 MicroTower PC:
Micro-Star 3664h Motherboard
Core2 Duo E7500 2.94GHz
6GB DDR3
Nvidia Quadro 4000
WD 150GB with WIN7 Ult.
Seagate 750GB

Installing OpenSUSE seemed to go fine at first. I took all the defaults except for using the Expert Partitioning to resize the home partition to 120GB. When I got to the point that you review the installation settings there was an error saying I had not selected a location the install the Level 1 boot code. I was afraid that putting it in the MBR would damage the Windows boot system so I selected the boot partition. The installer seemed happy and started the installation. When I came back it had rebooted into windows. I switched the BIOS to boot first from the second hard drive. Now it boots to a black screen with the word “GRUB” and a flashing cursor. I can’t seem to type anything at that prompt.

I tried searching the forums and FAQs. I’m sure someone has seen this before. Unfortunately I don’t seem to know the terminology well enough to find the right thread. I’ve been through the install at least a dozen times trying different configurations. I feel like I’m just stabbing at it in the dark.

Terry

how many partitions do you have,what is the boot partition
I’m not sure the default install has a /boot partition, if you don’t have grub in mbr how are you selecting it?
from your post I think it might be a btrfs issue.

a few simple steps from an on/off openSUSE and win user
use 3 linux partitions / (root) /home /swap use ext4 for the root and home partitions (personally I don’t use swap but I use a 32bit OS and have 4Gib or RAM some say it’s good to have swap~RAM), install grub in the root partition and then use EasyBCD (it’s freeware google it) to add a Linux entry to your windows boot.
that should work.

Did you tell the installer you were going to do that?

The boot code probably assumes that the second hard drive is the second hard drive.

Admittedly, you can’t boot from that. But the opensuse installer allows it. If you were to copy the first sector of the “/boot” partition to a file, and add that to the Windows boot manager as a boot record, it might boot that way.

An alternative is to reinstall grub2 or reinstall the system. Put grub in the MBR of the second disk.

To do this, you have to tell it to put grub in the MBR. Then, on the Boot loader settings page, click the button “Boot Loader Installation Details” (toward the bottom left of the installer window). Then you have to set the disk order. Make sure that your second disk (probably “/dev/sdb”) is listed first. That tells the installer which MBR to put the boot code in.

Given that you are currently a Windows user and don’t want to risk breaking Windows, I’m inclined to suggest that you try adding an entry to the Windows boot manager. If you need help with that, ask in this thread.

This is what gParted shows:
sda1 ntsf 100MB boot sys reserved
sda2 ntsf 149GB win7
sdb1 extended 698GB boot, lba
sdb5 ext4 398MB
sdb6 linux-swap 2GB
sdb7 btrfs 40GB
sdb8 xfs 120GB

The /boot partition came from two red highlighted lines in the Installation Settings screen That gave me a choice between installing the level 1 code there or in the MBR. I assume that sdb5 is /boot, but I can’t say for certain.

Can you point me to some instructions on how to install grub. I thought it was just part of the OS install. Or are you saying that there is some way to select the location that GRUB installs to if I do a reinstall.

I can’t say I really followed all of that. This would be easier if I really understood what happens during the boot.

I’m not too worried about breaking Windows. I’ve got an image to reinstall if I mess it up too bad. I think I’d rather try to do a new SUSE install that works. I didn’t see any “Boot loader settings” when I did the install. I’ll go back through it again and see what I can find.

Terry

I think the ext4 is /boot, I do believe it’s a btrfs issue, I always do a custom partition setup, now if I understood your post you have a separate hard disk for installing openSUSE, I just don’t understand the xfs partition, I don’t remember the partitioner offering that file system and personalty I’ve never used it. while in setup you can right click on a partition and select edit to chose a different file system, btrfs is the future but I’ve read a lot of posts about it and as a new user you might be better off with something more stable like ext4
this is a suggestion, if you have a whole hdd for Linux do a new setup with only 3 partitions / (root) ~40 GiB, /swap ~2 GiB /home (the rest of the disk as this is where your data will be stored) use ext4 for root and home and swap for swap, install the bootloader in both the root partition / and in the disks mbr (as you’re switching bootloaders from bios) and all should be fine.

You made a complex dual boot even more complex LOL

Ok I’m having a hard time figuring what you did an d what you intended and why.

I’m assuming this is a MBR install and EFI is not involved.

So this is what happens the BIOS not being very smart knows only one thing on start up that it is to go to the first sector of the first track and load the code there and run it. This is known as the MBR. There are potential different flavors of MBR code. Here we deal with 2 for the most part. the generic and the grub flavors. So first the generic. This flavor scans the partition table and looks for a boot flag. When found it goes to that partition and starts the code it finds in the first sectors of the partition. In or case it is the grub first stage. This code is a little smarter and knows how to read a file system it then finds the second stage code located in the /boot directory and starts the menu. The menu selection is then started to load a kernel and otherwise start up the OS. See how it boot straps itself. :slight_smile:

The Grub MBR is more or less that first stage and does not need a boot flag since it was told where to start the process at installation.

Now you chose a generic MBR and installed grub to the partition that contains /boot. This is by default the root partition but you can have a a separate partition that contains the /boot directory.

Now it gets confusing since you bring a second disk into the equation. The normal classic way to deal with his is to leave the first disk as the boot disk and add a small (300-500meg) partition and mark it to be mount it as /boot. Install either generic or grub MBR at the appropriate locations then install the rest of root and home and swap on the second drive. This makes it easy pizzy.

The second way is to install all to the second disk. The easy way is to remove or disable (pull the power) on the first disk and do a normal install so no confusion of which is to be treated as boot. Now you must boot to the second drive to run Linux. This is often done on removable drives and have the removable be the boot if not there the BIOS is set to fall through to the internal drive and boot Windows or what ever.

It is not clear what was actually done but it appears you have some strange mix. Strange mixes seldom if ever work.

So need to see the actual partitoning now to figure things out so if you can boot any live Linux show us fdisk -l (note that is a lower case L not a one)

default install is now BTRFS root with xfs on home.But that is just the default you do not have to take it and can use ext4 for both or almost any other Linux file system.
There is some problems with BTRFS in that grub does not know how to write to it so some functions have a problem this can be worked around if you set up a separate ext2/4 boot partition. But it is not anything that you would see at install.

Can you point me to some instructions on how to install grub. I thought it was just part of the OS install. Or are you saying that there is some way to select the location that GRUB installs to if I do a reinstall.

just before the system installs you can see where grub will be going, by clicking on it you can fine tune some of it’s options, it usually goes in the mbr (master boot record) of the boot disk but can go anywhere, your best bet is the root partition / or a boot partition.
if install went fine your problem is most likely switching disk boot priorities in bios, I’m asuming they’re sata by tweaking the bios you’re switching the /sba and /sbb labels, your best bet is to chose your root partition as where to install grub and use EasyBCD to add Linux to 7’s boot menu and don’t do anything with bios, this way you’ll keep 7’s boot code in mbr and grub won’t be confused with the disk switching done by bios, you can keep btrfs and xfs if you don’t mess with disk priority.

if you use EasyBCD after you install linux you’ll have to boot 7 and tell EasyBCD what partition has grub on it (it’s real simple drop-down menu but I’m not sure it supports btrfs) then at boot you’ll be able to select grub from 7’s menu.

found an image of yast install,


the arrow points to grub install options click on it to fine tune grub.

That is more true than you could possibly know. Originally I wanted to boot windows on the original drive and Ubuntu, CentOS, and openSUSE, on the other. I had Win7, Ubuntu 14.04, and CentOS 6 working together. I never could get openSUSE to work. Just trying to get openSUSE to boot along side of Win7 was my attempt to simplify.

It looks like standard BIOS to me. This 750 GB drive might be set up for GPT. I did that when I was trying to get partitions for all 3 distributions on it. When I went back to just openSUSE I deleted the partitions but I don’t recall changing a file system. Would that be a problem?

Easy for you. I’ll have to find some detailed instructions before i’d know where to start.

I tried this at one point. I still couldn’t get openSUSE to boot.

I should explain that I did a reinstall since we started this. It was prompted by your comment that I hadn’t told the installer that I was going to change the boot order in the BIOS. The Linux (750GB) drive was the first drive to boot when this was installed. I also changet the partitions to ext4 per I_As suggestion. This didn’t change anything that I could see. I still just see the word GRUB and a flashing underscore after the system boots.

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders, total 312581808 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: 0xdedc8d92

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 206847 102400 7 HPFS/NTFS/exFAT
/dev/sda2 206848 312578047 156185600 7 HPFS/NTFS/exFAT

Disk /dev/sdb: 750.2 GB, 750156374016 bytes
255 heads, 63 sectors/track, 91201 cylinders, total 1465149168 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: 0xd5916a88

Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 1465147391 732572672 f W95 Ext’d (LBA)
/dev/sdb5 4096 819199 407552 83 Linux
/dev/sdb6 821248 13398015 6288384 82 Linux swap / Solaris
/dev/sdb7 13400064 97290239 41945088 83 Linux
/dev/sdb8 97292288 348948479 125828096 83 Linux

I may give this a shot. I don’t want to make any more changes before I hear what gogalthorp has to say.

Thank You

Terry

So what is that first small Linux partition?

What happens if you boot it?

Did you install anything in the MBR?? For MBR booting you must have some sort of MBR code on the drive that is booting.

Note the why you are trying to do tis you will have to chnage the boot drive to boot a given OS Not sure what a unerased GPT partition table will do to you may through confusion in. You must totally erase at lest the first track to be sure of removing it.

The normal way is to let a Linux OS control the boot since Windows is not kind to other OS’s So you want the Linux grub to actually control the boot and is where you would normally boot to.

Not a fan of EasyBCD. It may or may not work with newer Windows.

This time I made sure that the installer had the 400MB partition marked as /boot.

That is probably the crux of the problem. I don’t know how to boot it.

I didn’t select MBR in the installer this time. I have tried installing the Grub level 1 boot code to the MBR in previous installation attempts. How would I go about restoring the generic boot flag aware code to the drive? Is it possible to look at the MBR and tell what code is in it?

What?

I’d rather have Linux control the boot. From the previous discussion I understand that thew BIOS starts the MBR. If the generic code is in the MBR then that code looks for the boot flag, and runs the code at the start of that partition.

Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 1465147391 732572672 f W95 Ext’d (LBA)
/dev/sdb5 4096 819199 407552 83 Linux
/dev/sdb6 821248 13398015 6288384 82 Linux swap / Solaris
/dev/sdb7 13400064 97290239 41945088 83 Linux
/dev/sdb8 97292288 348948479 125828096 83 Linux

From the above it looks like the extended partition has the boot flag, not the 400MB boot partition. I believe there was a check box in the installs boot configuration to add boot code to the extended partition. I can try that on the next install if you think it would help.

For now I used GParted from an Ubuntu live CD to change the boot flag to the boot partition (/dev/sdb5). That at least had some effect. the next reboot brought up a OpenSUSE boot menu. The default OpenSUSE option displays a screen that looks like a green topo-map of a mountain top. The boot stalled there. I tried the ‘esc’ key and got to a screen that I think shows the boot sequence. I don’t suppose there is a way to save this as a file? It’;s time consuming trying to retype it.

OK ] Started Show Plymoth Boot Screen
OK ] Reached target Paths.
OK ] Reached target Basic System.
Starting File System Check On /dev/disk/by_uuid/fab0c20a-c3f1-48e8-88ef-740f069e045.
OK ] Started File System Check On /dev/disk/by_uuid/fab0c20a-c3f1-48e8-88ef-740f069e045…
Stopping File System Check On /dev/disk/by_uuid/fab0c20a-c3f1-48e8-88ef-740f069e045.
OK ] Stopped File System Check On /dev/disk/by_uuid/fab0c20a-c3f1-48e8-88ef-740f069e045…
Starting File System Check On /dev/disk/by_uuid/fab0c20a-c3f1-48e8-88ef-740f069e045.
OK ] Started File System Check On /dev/disk/by_uuid/fab0c20a-c3f1-48e8-88ef-740f069e045…

Then these 3 lines overwrite each other until the time reaches 6 min. 28 sec.

  • ](1 of 3) A start job is running for dev_mapper_sil_aiagdfcdagfd_part5.device (xx min xx sec/no limit)
  • ](2 of 3) A start job is running for dev_mapper_sil_aiagdfcdagfd_part6.device(xx min xx sec/no limit)
    *](3 of 3) A start job is running for dracut initqueue hook(xx min xx sec/no limit)

Addendum:

I guess I did figure this out in the end. By the time I realized this line was still there it was to late to edit. Sorry for any confusion.

After typing all that boot up stuff. I went back to the linux computer and it had brought up another screen. It said something like dracut emergence shell. It also said /dev/mapper/sil_aiagdfcdagdf_part 5 and /dev/mapper/sil_aiagdfcdagdf_part 6 do not exist. I’m not sure how I got here or if I can get back. Would this shell have access to any helpful diagnostic information?

Terry

No with extended partition boot flag should be on the extended.
To be honest you need to install grub to the MBR since it is a separate disk from the Windows it should not present a problem to Windows.

You must be sure that the various partitions and the grub code are all pointing to the same disk. Be sure that the disks are the ones you believe them to be.

If it were me I’d override the default BTRFS and XFS formats and go with EXT4 In which case you don’t need a separate boot. BTRFS is new and in my opinion was not quite ready for default status. But that’s just me.

To boot tell the BIOS to boot from the disk you installed to. Report what happens

The fact that this drive was once formatted as GPT is troubling. If not all the GPT format info is not wiped it may cause problem. In essence you need to use a utility to write zeros in the first track and last. These are the areas that contain the partition tables and if you have both a MBR and GPT partition table it seems to add confusion. Note doing this meant you then have to reset partitioning on the drive.

Also I see that you still have the drive as sdb not sda. Now that really should not matter but when you have these kind of problems it is best to simplify and in any case you want the Linux to be the boot controller so why not make it sda??

When I moved the boot flag from the extended partition sdb1 to the logical partition sdb5 gparted renamed sdb5 to sdc5. and included the boot flag on sdb1 and sdc5. While the expert partitioner in the openSUSE install doesn’t list sdc at all.

Apparently you missed this from a few posts Back “I should explain that I did a reinstall since we started this. It was prompted by a comment that I hadn’t told the installer that I was going to change the boot order in the BIOS. The Linux (750GB) drive was the first drive to boot when this was installed. I also changed the partitions to ext4 per I_As suggestion. This didn’t change anything that I could see. I still just see the word GRUB and a flashing underscore after the system boots.” The changes you mentioned above are what I am doing now.

The Installers ‘Expert Partitioner’ under the ‘Expert…’ settings button has an option to create new partition table with options or MSDOS or GPT. This was how I set the drive to GPT in the first place. Is there a reason I can’t just use this feature to set the drive back to MSDOS?

I don’t know how Linux determines which drive is sda vs. sdb, or how I would switch them.

It was mentioned that the normal way to do a dual boot would be to shrink the Win7 ntsf drive enough to add a boot partition on the current sda. Then set the boot flag to that partition. I did some reading and found that NTFS should be resizable. The reason I did the boot on sdb was that it worked for Ubuntu and CentOS. I have no problem changing either drive if that’s the best way to do the multi-boot.

I wanted to say thank you to everyone that is pitching in to help me. This is one of the nicest forums I’ve ever been on. I’m learning a lot. That was after all the main point in starting this.

I’ll wait to see what the responses are before I change any thing else.

Terry

The order is the order in the wiring ie each is wired to a port and those ports are numbered on the mother board. It all boils down to how the BIOS reports them though.

Making a drive the boot drive does not make it sda But to be honest this is all confused and not always what it seems. It is still not clear that you actually installed any code in the MBR. please do that. I don’t care if it is generic or grub. but you must have MBR code.

As to GPT/MSDOS no I doubt that the tracks are zeroed out. In itself it should be not a problem but it is seen that mixing GPT and MBR partition tables can sometimes introduce confusion to the boot process. In essence the programs doesn’t know if it is a MBR or GPT based drive and they guess wrong. Ok that may be a stretch on an analogy LOL But in essence it introduces some uncertainty and one program thinks oh there is a GPT partition must be GPT another says there is a MBR partition table must be a MBR based drive.

But in any case if you are doing aan MBR boot you must have something in the MBR. I say install grub to the MBR . since Windows does not live on this disk.
Note it does no harm if you install both grub both to the MBR and to boot.

Note also you do not need a separate boot if you are not using BTRFS or some other kind of container.And it is not really required for BTRFS it just eliminates some edge case problems you might never see.

The symptom of the word grub on the screen and lockup says maybe some time in the past you put grub on the MBR and later changed the partitioning so it no longer points to a proper boot partition since you have not re written it it still point to the wrong starting point. Pure guess my view over your shoulder is hazy

I’m going to hope that the GParted developers would have made the create new file system initialize the MBR. I don’t see how it can hurt to try it cleaning it as much as possible.

Is there any reason not to do a separate /boot? For me it just seems easier. The installer creates it first if I delete it I either have a 400 MB hole in my partition table or I have to move everything else up.

I’m going to try to clean out everything that I can, Swap the linux Drive to sda, and install the Grub2 MBR code. I’ll write down the exact steps I use. Hopefully it will be easier to look over my shoulder.

  1. Plugged the 750 into SATA 1 on the MB and the Win7 drive into SATA2
  2. Booted GParted live cd the 750 GB displayed as /dev/sda/ I deleted all partition including the extended partition. Then created new MSDOS partition table.
  3. Opened BIOS and checked that the 750GB drive SDA is selected as first boot disk.
  4. Booted OpenSUSE Installation.
  5. Changed all partitions except swap to Ext4. Reduced home partition to 120 GB.
  6. Added boot loader to MBR, extended partition, and boot partition. I just noticed that he default in the boot loader settings in the install has a checked box next to “write generic code to MBR” I wonder if this might need to be unchecked.
  7. Started install. At 96% there was a dialog that said “an error occurred during boot loader installation. Retry boot loader configuration?” I tried unchecking ‘Write generic code to MBR’. I got the same error message. Looking through the boot settings I didn’t see /dev/sda in the list disk order. It does list /dev/mapper/sil_aiagdfcdagfd Which I believe is the extended partition on sda. I didn’t know what else to change so eventually I let the install continue.
  8. Rebooted. got the same “Grub” with flashing cursor.

BTW : Will I be shunned if I say “open Susie”? There is an old scifi movie where they call the computer SUSIE because of an acronym like Serial Unifying Sequential Integrating Equitensor. For some reason when I saw OpenSUSE I connect the two even though I have no idea how SUSE is pronounced.

The installer does not suggest a separate boot unless you are encrypting. The default partition are swap root and home. The only reason it use a boot with BTRFS is that there are a couple of situations where it cause some hassle. One is in some situation and configuration you can’t break out of hibernation ie when you hibernate you don’t get a grub menu when you start it goes direct to the recover the hibernated system. in some cases grub still thinks it is in hibernation and never shows a boot menu until you erase a certain file. Normally grub erases it or modifies that file but grub does not know how to write BTRFS. The other is there is a quick boot to another OS trick and if you use it these same problems happens grub can’t mod the file and the trick no longer works right. If you don’t hibernate or use the quick change trick then BTRFS should be ok without a separate boot. My advise is that if you have no need or even know that new a wonderful things that BTRFS promises just use ext4 it is stable and you really will have less trouble. If you want to play with BTRFS by all means use it it appear to be stable and it will do some cool stuff when ever it gets finished.

The only thing that comes to mind is the prior format as GPT.

Select grub to be in the MBR not generic and also select grub to be on the boot ( note this is normally the root that contains the boot. ) It does no harm to do both I do it all the time. I think you have to check a box to put grub on the MBR.

If you put generaic and don’t put grub to boot then that is an error. If you put nothing in MBR you still have to install grub to the boot so that some other OS can chain to it.

There has to be some grub code some where. I think that is what is choking the installer

I tried the install one more time using the steps from my last post except for not needing to switch the sata cables or enter the BIOS. The other change was that I deleted /boot. The install still came up with the boot loader error so I skipped the boot loader installation. After reading some of the GRUB manual. I started thinking that if I installed the boot loader from another OS it might pick up the openSUSE installation and add it to the menu. So I installed Ubuntu and now Ubuntu, openSUSE, and Windows are working together.

The thing that bothers me is I still don’t understand why I couldn’t get the openSUSE installer to properly install GRUB. I may make an image of what I have now and delete the hard disk to experiment with how to make it work from the OpenSUSE installer. I can’t expect you guys to keep working on this when I have a work-around. At this point it is really something I’m doing just to satisfy myself that I know how.

Thank you, everyone that replied to the thread. I learned things from all of you. I have to thank gogalthorp in particular. You answered all of my newbie question without getting irritated, and you staid with me to the end.

Thank You!
Terry