Installed OpenSUSE on a different partition + Can't boot XP

Hallo everyone,

This is my first post in the forum.

I am a complete newbie, and I tried to install OpenSUSE. I downloaded the ISO image and put it on a DVD, booted and installed.

On the partitioning step, as far as I remember, I did the following:

Normally I have a 250GB hdd, a 50gb partition with XP on it, and 200gb free.

I choosed opensuse to wipe out 200gb partition and install itself on it.

Everything went smootly, and now I am working on OpenSUSE writing this post.

My problem is I can’t see XP on the bootloader screen when the PC boots. I only see OpenSUSE 11.1 and the failsafe options.

Can you help me to have XP available to work again please?

Thanks in advance.

Can you see the windows drive though when you use your system?
It should come up in your filemanager, the filing cabinet icon in your taskbar.

First apply the latest updates via YOU (Yast Online Update). Then boot from the DVD, choose Repair System, repair bootloader, follow directions and it should be OK.

Thanks Knurpht & Taralkeda for your replies.

@ Taralkeda: Yes I can see the windows drive…

@ Knurpht: I applied the updates and run the repair bootloader thing (it told me that the bootfile contains errors itself) but despite the repair, I still can’t see Windows XP as an option in the bootscreen…

Any suggestions?

That repair will only make a menu with openSUSE in it. To make a menu with windows in it too do this:

go to Yast –> System –> Boot Loader. The Grub configuration screen comes up with the Tab “Section Management” activated. In the lower right is a drop-down selector labelled “Other”. Select from “Other” the option “Propose New Configuration” and then wait for Grub to analyse your partitions and display a new configuration. This may take a while. Important: When that finishes, activate the tab labelled “Boot Loader Installation” and select to “Boot from the Master Boot Record”. [Yast will often default to booting from the root or boot partition rather than from the MBR but that’s for experts only – always choose the MBR.] Then click Finish to save the changes and install the reconfigured Grub into the hard drive’s MBR. If you get a message that "The bootloader boot sector will be written to a floppy disk … don’t bother with the floppy – just click OK to proceed and install to the MBR.

The quote above is from here: GRUB Boot Multiboot openSUSE Windows (2000, XP, Vista) using the Grub bootloader.

It should work for xp although it should have worked before too, so we’ll have to wait and see. If windows doesn’t appear in the new boot menu, we could sort it at a more fundamental level. If it comes to that could you please post here the result when you run this command in a console window:

sudo /sbin/fdisk -l

and also post what you get when you run this command too:

sudo cat /boot/grub/menu.lst

@ swerdna: thank you for your suggestions. I have already read that post and tried before opening this thread. But anyways, I tried that again, and Windows didn’t show up in the boot menu. But there was an additional 3rd option appearing called “kerne-1.6.27.7-9-pae”

here are the outputs to the commands you asked for:

alper@linux-qrf6:~/Desktop> sudo /sbin/fdisk -l
root’s password:

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xdbcddbcd

Device Boot Start End Blocks Id System
/dev/sda1 1 262 2104483+ 82 Linux swap / Solaris
/dev/sda2 25497 30400 39391380 f W95 Ext’d (LBA)
/dev/sda3 * 263 2873 20972857+ 83 Linux
/dev/sda4 2874 25496 181719247+ 83 Linux
/dev/sda5 25497 30400 39391348+ 7 HPFS/NTFS

Partition table entries are not in disk order


alper@linux-qrf6:~/Desktop> sudo cat /boot/grub/menu.lst

Modified by YaST2. Last modification on Tue Mar 31 14:50:25 EEST 2009

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

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.1
root (hd0,2)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-SAMSUNG_HD251HJ_S13QJ90QB06764-part3 repair=1 resume=/dev/disk/by-id/ata-SAMSUNG_HD251HJ_S13QJ90QB06764-part1 splash=silent showopts
initrd /boot/initrd

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.1
root (hd0,2)
kernel /boot/vmlinuz root=/dev/disk/by-id/ata-SAMSUNG_HD251HJ_S13QJ90QB06764-part3 showopts ide=nodma apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 x11failsafe
initrd /boot/initrd

###Don’t change this comment - YaST2 identifier: Original name: linux###
title Kernel-2.6.27.7-9-pae
root (hd0,2)
kernel /boot/vmlinuz-2.6.27.7-9-pae root=/dev/disk/by-id/ata-SAMSUNG_HD251HJ_S13QJ90QB06764-part3 repair=1 resume=/dev/disk/by-id/ata-SAMSUNG_HD251HJ_S13QJ90QB06764-part1 splash=silent showopts
initrd /boot/initrd-2.6.27.7-9-pae

Check the XP partition for “NTDETECT.COM, NTLDR, BOOT.INI”. If the above files are on the XP partition it can be added to menu.lst file. Some changes to BOOT.INI should allow it to boot but: you will NOT be able to do any type of XP install, clean or repair.

XP can run with no problem from an extended partition but the install program MUST have a primary Active partition that XP can read. I would start over , delete all Linux partitions and move XP partition to the beginning of disk and convert it to a primary partition.
I do not know why Suse likes to change XP from primary to extended partition but it does.

that is exactly what suse did to my puter… and when i restored the mbr from the hdd so i could get into windows, NTLDR was missing… you have two options to fix it… 1) re-install 2)boot from the cd and copy the files over to the boot dive from the cd

i actually wiped mine and started fresh with an x64 version of xp rather than using my old x86 version.

good luck.

To be honest, I don’t have any idea how to do what you suggest so I’d like to ask

1- Is it possible to uninstall this Suse installation, and rollback to the original configuration? (XP only) If yes how?

2- Alternatively, can I uninstall XP from the other partition completely, leave only suse on the disc, and then install XP again? Maybe some of you can help me what to be careful about, so I can make a fresh install in a way that both XP and suse would be available.

3- If not, how can I start over? I think I can boot with a XP CD, format all the hard disc, install XP, and then try Suse again in a way that it would let me use XP too.

I’m quite confused what is going on…

I think that 3 is the best way forward if you have no important data do protect. It should be straight forward. When you then install openSUSE it should suggest the following partitioning to you:
sda1 – leave as windows xp
sda2 – extended partition
sda5, sda6, sda7 for Linux (swap, root, home)

If it doesn’t do that when you’re installing openSUSE, stop and note what it is suggesting and report back.

Unless of course you really want to try 1 first, which will likely fail, but maybe not – do you?

If you have a usb detachable hard drive you could attach it to the computer. Boot off a GParted CD and use GParted to copy the xp partiton across to the usb drive. Then tell GParted to clean off the drive in the computer completely. Then copy the xp partition back to first place on the cleaned drive.

Just a parting thought. Gotta go 2322 here.

You could get it to work like it is but I would not.

The easiest would be delete all and start over but:
1)loose all email/address
2)loose passwords/usernames
3)loose all photos,ext
4)loose all bookmarks
5)need to go to MS for updates/ect., slow internet a pain.
6)third party programs installed could be a pain.
7) if comp is a name brand and you use a MS XP cd will loose MS programs (Works,Money,ect. if installed)

If none of the above matters would start over with a clean hdd.

Other wise could remove the linux partitions, make a new primary partition and use a third party program or linux and copy/cone the current XP to the new partition. Similar to swerdna’s # 11 post but no need for 2nd hdd.

Reinstall linux and be sure to read swerdna’s # 10 post. I would also make a small FAT32 partition to share with both OS’s . I would not trust linux to write to NTFS on a daily occurrence , but most do.

I am aware that I’d lose everything stored on the hdd if I start over, and it is not an option for me for at least another 2 weeks, as this is a company PC not my own. I have to have suse up and working, but I’d really love to have my XP available when needed.

So can someone summarize what is the exact problem here for suse not to brin XP as an option?

Is that because Windows is not installed on the primary partition of the hdd? Is there anything I can do to fix this without having to uninstall Suse on the disc? (I can delete, uninstall, re-install windows XP, just can’t touch Suse installation)

Any advice is greatly appreciated. Thanks all

What about trying an experiment: The super grub disk is downloadable and occupies a CD. It’s bootable. A menu comes up that has several entries including one called !win! which will find and boot the windows installation. That might do you for getting to windows for the next two weeks until your critical period is over. Then you could re-do the drive properly.
Super Grub Disk Homepage
Worth a thought

PS of course if the partition table is super screwed, it might not work.

Thanks for the suggestion, I tried that and the menu showed up, including
!Win! and
!Win! ==> MBR + Win

but selecting any of them did not boot Windows for me, it showed up the suse boot screen again with the same entries…

Just a note that both these two !Win! entries had :((((( signs next to them…

I suspect the frowns are because the active flag is not on the windows xp partition. A windows distro won’t boot unless the active flag is switched onto the partition containing the windows boot files. Originally this was the first partition sda1. Now xp is labelled sda5. And the active flag is on sda3. Conducive to a frowning smiley.

Before moving the flag, need to be a bit careful: check the bootloader config in Yast –> system –> bootloader. Look under the tab labelled Boot Loader Installation. Which option/s are ticked under “Boot Loader Location”? Then under the button “Boot Loader Options”, what is ticked in the list of five options?

For “Boot Loader Location”: “Boot From Master Boot Record” & “Custom Boot Partition: /drv/sda1” are selected. (/drv/sda5 is not available for Custoom Boot Partition…)

For “Boot Loader Options”: Only “Set active flaf in Partition Table for Boot Partition” is selected.

OK, in bootloader you can untick the custom boot partition sda1. And click OK to exit.

Then shift the flag as follows: open a console and enter this command:

sudo /sbin/cfdisk

A representation of the partitions for sda will open. There should be the marking “Boot” alongside sda3 in column labelled Flags. Use the vertical arrow keys to put the highlight on sda3. Then use the horizontal arrows to highlight " Bootable ]". Press enter and the “Boot” flag should disappear. Use the same technique to make the flag “Boot” appear on the line for windows xp having filesystem type (FS type) NTFS (which I hope is still marked sda5).

Then use horizontal arrows to highlight write ] and press enter to save everything. Then quit ] to exit. then reboot to the SuperGrubDisk and try again the windows booting.

The problem with the procedure is, even if I unselect the custom boot partition for Boot loader Location and click OK and exit, it becomes selected again the next time I open YAST → System → Boot Loader

After reading your post, I unselected it, then run

sudo /sbin/cfdisk

and removed the boot sign from linux and put boot sign to windows partition, but it didn’t work following a reboot with the SuperGrubDisk (Same frowning smileys) then when Suse opened, I checked

sudo /sbin/cfdisk

and saw that sda1 had boot flag too in addition to sda5…

A windows distro won’t boot unless the active flag is switched onto the partition containing the windows boot files.
That statement is not always correct. My XP has no problems booting with the Active flag set only on a Linux partition, but it does seem on some comps it is needed.

There are 2 other likely problems:

  1. XP’s boot.ini is likely pointing to the wrong partition #. It likely is
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=

not sure , but think it should be

multi(0)disk(0)rdisk(0)partition(4)\WINDOWS=

, it is easily edited in Suse.

  1. harder to fix:
    Due to my poor writing read the link, it is for cloning but you will have the same problem. Multi-Booting with Windows in an Extended Partition
    You will receive a HAL.DLL error when trying to boot into XP till problem is corrected. The site suggest useing a WIn98 boot floppy and running “fdisk /mbr”, it will work but then you would need to reinstall GRUB. It can also be fixed with Suse, but you will need to install a Hex Editor program ,can not help with finding program. It is also possible when Suse installed, the XP’s disk ID was removed from the MBR, problem solved.

One way to find out for sure on above possible problems.

Boot to hdd and when you get Suse boot menu:
1)press “Escape” – drop you into text mode.
2)press enter for “OK”
3)press “C” – drops to command enter face-grub
4)GRUB rootnoverify (hd0,4) enter
5)Grub makeactive enter (might not be needed, I would leave out)
6)GRUB chainloader +1 enter
7)GRUB boot enter
it should now be trying to boot XP, post any errors. The above code will not be save to disk.