Hello,
I have been searching the internet for some time, but I have not found a solution to the problem that I have. Hope to find it here…
I have an AMD Athlon 64 3500 system with the following HDD’s:
160GB ATA
250GB ATA
250GB SATA
250GB SATA
750GB SATA
750GB SATA
Windows XP professional was already on the system (on the first SATA250GB HDD), when I installed Opensuse 11.1 from DVD (to the first 750GB SATA HDD). This was not my first Suse installation, I am a fan since 9.3 Anyway, after succesful installation and some tweaking, I shut down my pc and removed the DVD. Next morning, I power on the pc and it boots straight to WinXP, no boot menu, nothing, just the WinXP startup screen. When I boot using the DVD, selecting “boot from HDD”, I do get the boot menu, where I am able to select either Opensuse or WinXP (or suse failsafe blabla). Of course I can always boot using the DVD, as I have done until now, but I prefer a real solution. Can anyone help me?
What I have already tried:
- reformatting of the 750GB SATA drive and new installation
- replacing bootloader using Yast
Thanks in advance!
Strokkur
Do you have your bios set to boot to the HD that has the Grub bootloader on it?
Just a thought.
Take Care,
Ian
OK, good point, forgot to mention that, I have already tried all HDD’s as first boot device… with no success…
When you installed did you tell openSUSE to install grub to the Master Boot Record?
Thanks for helping. Yes, I did and I also did when reinstalling GRUB using Yast.
Please post the contents of /boot/grub/menu.lst
This will make us able to see how grub was installed and how the booting of the OS’s has been configured
Thanks for the reply. I will post the information you requested tonight when I get home.
Could it be that the menu.lst file is empty? :shame:
Or did I try to open this file with the wrong application? There does not seem to be a default application for this file…
You need to have root privileges to see that file. Otherwise it will just show up blank.
Open up a terminal and then type
su
enter root password
then type
cat /boot/grub/menu.lst
and post the output here.
Good Luck,
Ian
Thank you for helping me out. Here are the contents of menu.lst:
# Modified by YaST2. Last modification on Sun May 10 13:47:37 CEST 2009
default 0
timeout 8
gfxmenu (hd5,5)/boot/message
###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1 - 2.6.27.21-0.1
root (hd5,5)
kernel /boot/vmlinuz-2.6.27.21-0.1-default root=/dev/disk/by-id/ata-SAMSUNG_HD753LJ_S13UJ90Q908228-part6 resume=/dev/disk/by-id/ata-SAMSUNG_HD753LJ_S13UJ90Q908228-part5 splash=silent showopts vga=0x31a
initrd /boot/initrd-2.6.27.21-0.1-default
###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.1 - 2.6.27.21-0.1
root (hd5,5)
kernel /boot/vmlinuz-2.6.27.21-0.1-default root=/dev/disk/by-id/ata-SAMSUNG_HD753LJ_S13UJ90Q908228-part6 showopts ide=nodma apm=off noresume edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe vga=0x31a
initrd /boot/initrd-2.6.27.21-0.1-default
###Don't change this comment - YaST2 identifier: Original name: windows 1###
title windows 1
rootnoverify (hd0,0)
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: windows 2###
title windows 2
map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,0)
makeactive
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: windows 3###
title windows 3
map (hd4) (hd0)
map (hd0) (hd4)
rootnoverify (hd4,0)
makeactive
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: windows 4###
title windows 4
map (hd5) (hd0)
map (hd0) (hd5)
rootnoverify (hd5,0)
makeactive
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: windows 5###
title windows 5
map (hd2) (hd0)
map (hd0) (hd2)
rootnoverify (hd2,0)
makeactive
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: windows 6###
title windows 6
map (hd3) (hd0)
map (hd0) (hd3)
rootnoverify (hd3,0)
makeactive
chainloader +1
###Don't change this comment - YaST2 identifier: Original name: floppy###
title Diskette
rootnoverify (fd0)
chainloader +1
Looks like Grub put it’s code in the Master Boot Record of a partition other than the partition that the one that is addressed when the computer boots.
So boot into openSUSE and use Yast System Bootloader to put the Grub code in the right MBR.
Could you explain how I should do that and how to determine to which MBR the grub code should be installed?
As I recall all this SATA ordering can get a bit of a muddle. Unless you get that right, your screwed. It can make a difference which order you have the drives ie; 1,2,3…
It muddled me recently on an install and I had to switch the SUSE drive to the first SATA on the mobo, then that throws all the bios ordering out so you have to go back and set that the way you want it.
If grub goes to MBR of the SUSE install HD, it needs to be first in the mobo and first in bios boot order of the HD’s, ideally this should be the case before you install, then you can set all the mount points nicely during setup.
Is there no “software” approach for solving this problem? I would like to avoid opening the pc and changing cable connections on the mobo. EDIT: especially since XP is also running on this machine.
This could be an option for you
NeoSmart Technologies
I am not sure that I understand what you mean… :shame: What should I use from the website you suggested? Do they offer a workaround?
OK, with the install disk you get a grub menu with six windows entries in it, five of them are spurious, and only one is real. So which of the series windows 1 through windows 6 is the real xp? The drive corresponding to the real xp could be the key to where you tell Yast’s bootloader module to put the Grub code (in the MBR). So which Grub menu entry is the real xp?
Windows 6 is the “real” windows XP, rest does not work.
Well there’s some chance that when the system boots it looks at the MBR of the drive that contains “windows 6”. In Grub speak this is drive hd3 with xp on partition (hd3,0). This translates into: sdd is the drive and xp is on partition sdd1
So the solution might be (emphasise might) to install the Grub code to the MBR of sdd (hd3) and put a pointer in there that points off to menu.lst in the partition that contains openSUSE’s /boot/grub/menu.lst file. I think this partition is (hd5,5) which I think translates into: sdf is the drive and Suse is root is on sdf6
So can we check that please with two tests.
Test #1: Please boot into Suse and open a console window and run this command:
df -Th
You will see some lines like this result from mine:
john@suse111:~> df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda7 ext3 20G 4.1G 15G 22% /
udev tmpfs 1012M 1.4M 1011M 1% /dev
/dev/sda6 ext3 20G 2.8G 17G 15% /home
/dev/sdb2 ext3 133G 106G 22G 83% /mnt/sdb2
john@suse111:~>
Look for the line where it is mounted on /. For me the partition is sda7.
Question 1: What is it for you?
Test #2: please open a console window and enter su to become root then enter the commang: grub. That should drop you to the grub command prompt (grub>). From there enter this search command:
find /boot/grub/menu.lst
Here’s what I get:
grub> find /boot/grub/menu.lst
find /boot/grub/menu.lst
(hd0,1)
(hd0,6)
grub>
that tells me I’ve got a menu.lst on partition (hd0,1) (which is sda2) and another on (hd0,6) (which is sda7).
Question 2: Please post back here what you get when you enter the command: find /boot/grub/menu.lst at the grub prompt (grub>).
Phew…
Thank you so much for your help. I really appreciate this!
Here is what I got:
Answer to question #1:
/dev/sdb6
Answer to question #2:
grub> find /boot/grub/menu.lst
(hd5,5)
I guess this will take us to the next step?