LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE
User Name
Password
SUSE / openSUSE This Forum is for the discussion of Suse Linux.

Notices


Reply
  Search this Thread
Old 07-16-2006, 05:29 PM   #1
metamaverick
LQ Newbie
 
Registered: Jul 2005
Location: United States
Distribution: SuSE, Gentoo
Posts: 14

Rep: Reputation: 0
bootloader/mbr issues in 10.1


Ok so here is my harddisk setup:
Raid0 for windows
two harddisks in ntfs
and one harddisk for linux

I was installing SuSE 10.1 last night and everything seemed fine and dandy up until it finished installing the packages. When my computer restarted and attempted to go into grub I get the good ol "Error 21". This kept me from loading up suse or windows so I popped in the windows disk and ran FIXMBR. Now my windows partiton is fixed but I cant load suse. Does anyone have any tips on how to configure grub in such a way to not fuss over RAID arrays (I am assuming that this is what the error is referring to since suse does not have "support" for raid)?

I am sure this is a common issue and I looked around the forums a bit, so if someone has a link to the solution just slap it on here. I apologies in advance.

Last edited by metamaverick; 07-16-2006 at 05:37 PM.
 
Old 07-17-2006, 08:03 AM   #2
gkiagia
Member
 
Registered: Oct 2003
Location: Greece
Distribution: Debian sid
Posts: 248

Rep: Reputation: 30
If I understand right, you have two disks in a raid array which means that the OS sees it as one drive. Probably, when SuSE was installed, it thought that it was installing itself in the second drive but it was in fact the third drive, so the grub configuration file (menu.lst) has to be changed manually.

It would be nice to have more information on it. First, where is the bootloader (primary master,slave etc..), where is linux installed (again primary master,slave etc..) and what are the contents of menu.lst?
To see menu.lst under windows, download yareg (google it and you'll find it) and copy the file /boot/grub/menu.lst from your / linux partition (or /grub/menu.lst from your /boot partition, if you have a separate /boot partition)
 
Old 07-17-2006, 09:02 AM   #3
metamaverick
LQ Newbie
 
Registered: Jul 2005
Location: United States
Distribution: SuSE, Gentoo
Posts: 14

Original Poster
Rep: Reputation: 0
Quote:
It would be nice to have more information on it. First, where is the bootloader (primary master,slave etc..), where is linux installed (again primary master,slave etc..) and what are the contents of menu.lst?
Both the bootloader and SuSE are on sde, windows raid is on sda and sdb. Two other ntfs drives are sdc sdd.

Quote:
To see menu.lst under windows, download yareg (google it and you'll find it) and copy the file /boot/grub/menu.lst from your / linux partition (or /grub/menu.lst from your /boot partition, if you have a separate /boot partition)
I am at work right now but I will provide this info when I get home. Also a quick question regarding this, since I ran FIXMBR doesnt that destroy some of the info in grub? or does it just disable it? Thanks.

Edit: Correct me if I am wrong, but I think it just disables the pointer that grub refers to.

Last edited by metamaverick; 07-17-2006 at 10:08 AM.
 
Old 07-17-2006, 12:11 PM   #4
gkiagia
Member
 
Registered: Oct 2003
Location: Greece
Distribution: Debian sid
Posts: 248

Rep: Reputation: 30
GRUB consists of two parts. The boot loader and its configuration. The boot loader is installed in the master boot record of the disk and the configuraton is installed on a linux partition. When you ran FIXMBR, you replaced the code of the boot loader in the mbr but the configuration still exists on the linux partition. I asked you to give me the configuration which is on the linux partition. The bootloader can be reinstalled on the mbr with the suse cd/dvd. It is very simple.

Now that you told me that the bootloader is on sde I think I know what the problem is. By default, grub thinks that the bootloader is going to be installed on hda (or sda) and it configures itself this way. So, when it loads from sde, it thinks that sde is sda because the linux kernel isn't loaded yet and it retreives disk information from the bios, which always reports the booting drive to be the first drive on the system.

I will post here the solution once you post your menu.lst (so that I am sure about a few details and I don't ruin your mbr)
 
Old 07-17-2006, 04:27 PM   #5
metamaverick
LQ Newbie
 
Registered: Jul 2005
Location: United States
Distribution: SuSE, Gentoo
Posts: 14

Original Poster
Rep: Reputation: 0
Quote:
Originally Posted by gkiagia
Now that you told me that the bootloader is on sde I think I know what the problem is. By default, grub thinks that the bootloader is going to be installed on hda (or sda) and it configures itself this way. So, when it loads from sde, it thinks that sde is sda because the linux kernel isn't loaded yet and it retreives disk information from the bios, which always reports the booting drive to be the first drive on the system.
I think the SuSE installer had a specified location inwhich to install the bootloader which I beleive I specified to place on sde.
Anyways here is what you asked for:

# Modified by YaST2. Last modification on Sun Jul 16 01:48:31 UTC 2006

color white/blue black/light-gray
default 0
timeout 8
gfxmenu (hd4,1)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux 10.1
root (hd4,1)
kernel /boot/vmlinuz root=/dev/sde2 vga=0x317 resume=/dev/sde1 splash=silent showopts
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: xen###
title XEN
root (hd4,1)
kernel /boot/xen.gz
module /boot/vmlinuz-xen root=/dev/sde2 vga=0x317 resume=/dev/sde1 splash=silent showopts
module /boot/initrd-xen

###Don't change this comment - YaST2 identifier: Original name: Linux other###
title Linux other
chainloader (hd0,0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE Linux 10.1
root (hd4,1)
kernel /boot/vmlinuz root=/dev/sde2 vga=normal showopts ide=nodma apm=off acpi=off noresume edd=off 3
initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: memtest86###
title Memory Test
kernel (hd4,1)/boot/memtest.bin





PS Thanks for your help so far, you have been very helpful.
 
Old 07-18-2006, 08:24 AM   #6
gkiagia
Member
 
Registered: Oct 2003
Location: Greece
Distribution: Debian sid
Posts: 248

Rep: Reputation: 30
The correct menu.lst should be something like that:
Code:
# Modified by YaST2. Last modification on Sun Jul 16 01:48:31 UTC 2006

color white/blue black/light-gray
default 0
timeout 8
gfxmenu (hd0,1)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE Linux 10.1
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/sde2 vga=0x317    resume=/dev/sde1  splash=silent showopts
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: xen###
title XEN
    root (hd0,1)
    kernel /boot/xen.gz 
    module /boot/vmlinuz-xen root=/dev/sde2 vga=0x317    resume=/dev/sde1  splash=silent showopts
    module /boot/initrd-xen

###Don't change this comment - YaST2 identifier: Original name: Windows###
title Windows
    chainloader (hd1,0)+1

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE Linux 10.1
    root (hd0,1)
    kernel /boot/vmlinuz root=/dev/sde2 vga=normal showopts ide=nodma apm=off acpi=off noresume edd=off 3
    initrd /boot/initrd

###Don't change this comment - YaST2 identifier: Original name: memtest86###
title Memory Test
    kernel (hd0,1)/boot/memtest.bin
I am not sure though if it can boot windows. You may have to try these too (replace the windows section above):
Code:
title Windows
    chainloader (hd2,0)+1

title Windows
    chainloader (hd3,0)+1

title Windows
    chainloader (hd4,0)+1
All you need to do is replace the original menu.lst with the one I posted above and then reinstall grub.

To replace menu.lst you can either create the file in windows and then boot from the suse rescue system (from the installation cd/dvd), mount the windows and linux partitions and replace the file, or you can just mount the linux partition and edit menu.lst with vim (if you can use vim, cause I can't and it's the only editor in the rescue system). You can also use a live cd to edit menu.lst from the linux partition.

Once the new menu.lst is in place, enter the suse rescue system, login as root, then type "grub" (without the quotes). This will enter in the grub command line. Type:
Code:
root (hd4,1)
setup (hd4)
The root command should tell you the filesystem of the partition (suse uses reiserfs). If it says unknown filesystem, then type
Code:
find /boot/grub/menu.lst
and it will tell you what is the correct parameter to the root command and to the setup command without the ,1 part. What I mean is that if find returns (hdx,y) then you do:
Code:
root (hdx,y)
setup (hdx)
Then you just type "quit", then "reboot" and it should work. If not, let me know.
And if anything goes wrong, you can always use FIXMBR to get into windows.
 
Old 07-18-2006, 10:08 AM   #7
metamaverick
LQ Newbie
 
Registered: Jul 2005
Location: United States
Distribution: SuSE, Gentoo
Posts: 14

Original Poster
Rep: Reputation: 0
Thanks for the reply, I will let you know if this works tonight when I get home.
 
Old 07-18-2006, 12:34 PM   #8
gkiagia
Member
 
Registered: Oct 2003
Location: Greece
Distribution: Debian sid
Posts: 248

Rep: Reputation: 30
Quote:
Originally Posted by gkiagia
I am not sure though if it can boot windows.
Well, I did a small test and now I am sure it won't boot windows this way.
The windows section should be this:
Code:
###Don't change this comment - YaST2 identifier: Original name: Windows###
title Windows
    map (hd0) (hd1)
    map (hd1) (hd0)
    chainloader (hd1,0)+1
And if you don't see the windows boot screen, try these too:
Code:
###Don't change this comment - YaST2 identifier: Original name: Windows###
title Windows
    map (hd0) (hd2)
    map (hd2) (hd0)
    chainloader (hd2,0)+1
Code:
###Don't change this comment - YaST2 identifier: Original name: Windows###
title Windows
    map (hd0) (hd3)
    map (hd3) (hd0)
    chainloader (hd3,0)+1
Code:
###Don't change this comment - YaST2 identifier: Original name: Windows###
title Windows
    map (hd0) (hd4)
    map (hd4) (hd0)
    chainloader (hd4,0)+1
 
Old 07-19-2006, 08:16 AM   #9
metamaverick
LQ Newbie
 
Registered: Jul 2005
Location: United States
Distribution: SuSE, Gentoo
Posts: 14

Original Poster
Rep: Reputation: 0
Awsome, I will try that later this week. I am at my parents house for the rest of this week taking care of the dog while they are on vacation.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Bootloader not at MBR Hugh Jass Debian 2 04-25-2006 11:51 AM
Oh No! I installed a bootloader to the MBR....! Siljrath Linux - Software 4 02-17-2006 07:08 PM
Booting without bootloader in MBR cyberoidx Linux - General 3 01-20-2006 10:10 PM
Change bootloader - not in MBR Andy@DP Red Hat 2 04-09-2004 04:10 AM
Bootloader/MBR-problem Creep *BSD 10 04-09-2003 11:19 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > SUSE / openSUSE

All times are GMT -5. The time now is 12:04 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration