SUSE / openSUSEThis Forum is for the discussion of Suse Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
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.
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)
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.
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)
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.
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.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.