Help booting WinXP :)

sorry about copying dalikman’s title, but it’s a very similar issue - in fact i anxiously read through all the posts in that thread like it was a mystery novel.
i have the same issue - after installing opensuse 11.3, i can’t get to my WinXP
the difference is that i installed opensuse to an external hard drive, but i guess the grub piece got installed on the internal hard drive containing winxp and somehow screwed up the MBR or something.
i logged into opensuse and from a terminal followed the famous post# 35 detailing how to switch to the windows partition using fdisk, and rebooted but now i get some kind of GRUB error 21 or something.
and also, my winxp internal drive is encrypted by PointSec.

from opensuse, /windows/C really didn’t have anything useful in it.
any ideas on how i can get both to boot amiably, or at the very least, get back to WinXP, because i have a lot of work data on it.

thanks,
Nilesh

Please post the result of these from a su - terminal

fdisk -l
cat /boot/grub/menu.lst

Here it is:


linux-3pm5:~ # fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x8331d570

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1       18674   149996544    7  HPFS/NTFS
/dev/sda2   *       18674       19458     6291456    7  HPFS/NTFS

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000859f7

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       59272   476097536   83  Linux
/dev/sdb2           59272       60802    12285953    5  Extended
/dev/sdb5           59272       60802    12285952   82  Linux swap / Solaris


and


linux-3pm5:~ # cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on Sat Dec  4 12:15:16 CST 2010
# THIS FILE WILL BE PARTIALLY OVERWRITTEN by perl-Bootloader
# Configure custom boot parameters for updated kernels in /etc/sysconfig/bootloader

default 0
timeout 8
gfxmenu (hd1,0)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title Desktop -- openSUSE 11.3 - 2.6.34-12
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.34-12-desktop root=/dev/disk/by-id/usb-Seagate_Portable_2GH2V8XK-0:0-part1 resume=/dev/disk/by-id/usb-Seagate_Portable_2GH2V8XK-0:0-part5 splash=silent quiet showopts vga=0x345
    initrd /boot/initrd-2.6.34-12-desktop

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 11.3 - 2.6.34-12
    root (hd1,0)
    kernel /boot/vmlinuz-2.6.34-12-desktop root=/dev/disk/by-id/usb-Seagate_Portable_2GH2V8XK-0:0-part1 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x345
    initrd /boot/initrd-2.6.34-12-desktop

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

###Don't change this comment - YaST2 identifier: Original name: floppy###
title Floppy
    rootnoverify (fd0)
    chainloader +1

Thanks again,
Nilesh

Afraid you have more of a problem. ( I am making a guess)

my winxp internal drive is encrypted by PointSec
Have never use PointSec but suspect that it uses a special MBR boot code. If the whole hdd is encrypted then would think the decrypting software and key is embedded into the first track of hdd.

Use the ‘dd’ command from lunix to back up the first track to some safe place. If you can make a backup of the whole hdd. If some one does not drop by with knowledge of how PointSec works then we could make things go from bad to **.

I think we need to look at the first track to see whats there, but I do not have SuSe installed so not sure of it’s programs to convert hex to text or if Suse might have saved a copy of MBR before witting grub there. (caf4926 ??)

When you tried booting into XP after using fdisk, did you remove the external hdd ?

i’m hoping the pointsec thing doesn’t cause much of an issue. the reason is this - before this particular opensuse install, i had been repeatedly trying a Ubuntu 10.10 install, and though most of those times the ubuntu install just wouldn’t boot up, there was one time that i ended up messing up the MBR and started getting a “no such device” error when trying to boot into WinXP.
but one of the threads with a similar issue had provided this solution to reinstall LILO and get WinXP to boot up again:


sudo apt-get install lilo
sudo lilo -M /dev/sda mbr

which worked great for me as well.
so would these same commands work in opensuse, or is there something equivalent, or is this a bigger mess?
thanks,
Nilesh

Just noticed that sda2 the one marked active is not as big as sda1. Are you sure sda2 is the partition with XP OS ? XP is normally on the first partition. You must have the external hdd connected or grub will fail, we can correct that later.

If both XP partitions encrypted or just the one ?

I would say move the boot flag* on to sda1
Use Parted Magic: http://dl.dropbox.com/u/10573557/pmagic-4.5.iso
Here is a video showing it:
http://dl.dropbox.com/u/10573557/bootflag%20-%20labels.mpeg

Change the grub entry to

###Don't change this comment - YaST2 identifier: Original name: windows###
title WIN XP
map (hd0) (hd1)
map (hd1) (hd0)
rootnoverify (hd0,0)
chainloader +1

If it doesn’t boot with grub - pull the USB HD and see if windows will boot itself.
We may need to examine the contents of sda1 and sda2

Thanks guys.
“LostFarmer”, you’re correct - /dev/sda1 should have been the boot partition; /dev/sda2 is the HP recovery partition, which will completely wipe out my hard disk.
i wonder if that got messed up when i blindly followed these instructions from “dalikman’s” post:


su -l
fdisk /dev/sda
Command (m for help): a
Partition number (1-7): 2
Command (m for help): a
Partition number (1-7): 1
Command (m for help): w

Also, i have had my external drive connected this whole time, since my opensuse is on it.

“caf4926”, i do have parted magic burnt on a CD, but i wasn’t able to watch the mpeg - it complained that i didn’t have the mpeg video decoder.
but wouldn’t the fdisk command like above move the * to /dev/sda1?

hoping and praying that i can get my work laptop back to windows before my work day starts in another 20 hours :slight_smile:

thanks,
Nilesh

All you do is open the partition editor and right click sda1 > Manage Flags
Select ‘boot’ from the list

The video should play in VLC no probs

[edit] and i did it just like you said - set the boot flag using parted magic and then restarted, and got, i think, GRUB Error 21. then tried disconnecting the external drive and rebooted, and got a different error.

Hello guys, i write to you after having returned to the dark side once more.
i couldn’t stand the (entirely self-created) pressure, and decided to use my ubuntu livecd to reinstall the LILO over the GRUB, and got back into WinXP.

but i would sure appreciate any pointers to how i can install opensuse (well, it’s already installed now) and maybe keep GRUB in the MBR of the external hdd and be able to boot into either WinXP or opensuse - i have tried using my initial BIOS menu to choose “boot from usb” and that hasn’t worked in the past - just brings me to the GRUB command prompt - but that was with Ubuntu 10.10.

i have been doing this now for more than a month - trying all different ways to install either ubuntu or opensuse on my external hdd - and would love to find a way.

thanks again guys.

You can try using ‘grub4dos’ at Main Page - Grub4Dos Wiki
Have not tried booting to an external hdd but it should work.

Basic how-t0.

  1. boot into XP-download program
    2)extract files and place grldr into C:\ (my grldr is 213k but newer version may be different) ie:C:\grldr.
  2. edit boot.ini and add c:\grldr=" What ever name you want here"
  3. be sure boot.ini ‘timeout’ is set say for 10 or so.

With the external hdd connected and you select the linux item from boot.ini, grldr should find/display your menu.lst and permit booting to linux.

If all works would use your MS XP cd and boot into the ‘recovery console’ and run ‘fixmbr’, that will remove LILO.

Have never used LILO and do not know any thing about it.