Help booting Win XP

Hi,
I’m a novice user of opensuse. After what I have heard about linux I’m trying to learn about the wonderful word of Linux. I have installed opensuse 11.3 on a hard disk in witch i have also Win Xp. When I boot and I select to boot Win there is a message “rootnoverify hd0,0 - chainloader+1” and after that …blinking…
What I have to do? I looked in the web and all the suggestive solutions have failed…
Please HELPPPPP…(sory for my bad English):P:\

If you’re able to boot openSUSE, open a terminal, type the following commands and post the output here:

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

thanks for your immediate answer…
Well…what is seen is:

Modified by YaST2. Last modification on Παρ Νοέ 26 21:05:36 EET 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 (hd0,5)/boot/message
##YaST - activate

###Don’t change this comment - YaST2 identifier: Original name: linux###
title openSUSE 11.3 - 2.6.34-12
root (hd0,5)
kernel /boot/vmlinuz-2.6.34-12-default root=/dev/disk/by-id/ata-ST380011A_5JV638V6-part6 resume=/dev/disk/by-id/ata-ST380011A_5JV638V6-part5 splash=silent quiet showopts vga=0x31a
initrd /boot/initrd-2.6.34-12-default

###Don’t change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe – openSUSE 11.3 - 2.6.34-12
root (hd0,5)
kernel /boot/vmlinuz-2.6.34-12-default root=/dev/disk/by-id/ata-ST380011A_5JV638V6-part6 showopts apm=off noresume nosmp maxcpus=0 edd=off powersaved=off nohz=off highres=off processor.max_cstate=1 nomodeset x11failsafe vga=0x31a
initrd /boot/initrd-2.6.34-12-default

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

and before the output was:

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 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: 0x09130912

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        3676    29519437    7  HPFS/NTFS
/dev/sda2   *        3676        9730    48630784    f  W95 Ext'd (LBA)
/dev/sda5            3676        3869     1549312   82  Linux swap / Solaris
/dev/sda6            3869        6226    18938880   83  Linux
/dev/sda7            6227        9729    28129280   83  Linux

That looks normal so far. Again, as root ( typing “su -l” before issuing other commands), please copy/paste the output of:

file -s /dev/sda
file -s /dev/sda1

/dev/sda: x86 boot sector, Microsoft Windows XP MBR, Serial 0x9130912; partition 1: ID=0x7, starthead 1, startsector 63, 59038874 sectors; partition 2: ID=0xf, active, starthead 254, startsector 59039744, 97261568 sectors, code offset 0xc0

/dev/sda1: x86 boot sector, code offset 0x52, OEM-ID "NTFS ", sectors/cluster 8, reserved sectors 0, Media descriptor 0xf8, heads 240, hidden sectors 63, dos < 4.0 BootSector (0x80)

I can not see any thing wrong with the posted data. But NTFS does not use "hidden sectors " , likely an error with command program ‘file -s /dev/sda1’.

  1. Do you have a XP cd where you can run the Recovery Console ? ( might need ‘fixboot’ ran)
    2)Did you install XP to its current partition or clone it ?
  2. When you installed linux did you shrink or move the XP partition ?
    3a) best guess on how the hdd was partitioned be for linux.
    4)can you use linux and mount XP and check for the boot files, ’ boot.ini, ntldr’

If it doesn’t sound to complicated, use the findgrub script with the debug option to find out if the bootsector is encrypted (some antivirus can do that) . If it is, you cannot chainload it directly from Grub. You can find the latest version of that script here: Looking for Grub and Windows bootloader in all partitions.
You’ll have to type findgrub -d and post the output. You don’t need to paste the entire bootsectors in hex (all the numbers), but the text is important. It could provide enough info to see if the bootsector is encrypted or damaged.

If the bootsector is encrypted, you’ll have to chainload the MBR rather than the partition and make the partition active. Then you’ll be able to boot XP … but not openSUSE any more until you reset the bootflag with an fdisk or some tool. In such a case, you might consider booting Linux from the Windows bootloader. Look at swerdna’s howto here: Boot Multiboot openSUSE Windows (2000, XP, Vista - any mix) with Windows bootloader.

Notice that I didn’t say that your XP bootsector is encrypted … but we have seen the case already.

Random thoughts:

Sda1 ends on cylinder 3676. Sda2 and sda5 should both start on the next cylinder, viz 3677, but they don’t. Instead they start on 3676 and stamp on the toes of the windows installation, thus maybe confusing grub. The openSUSE installer has messed up the partitioning perhaps, or maybe I’m wrong.

So I would delete openSUSE partitions sda7, sda6, sda5 and sda2 in that order using GParted on a CD. Then I would repair the windows bootloader, then install openSUSE in the vacated space after windows, making sure the installer’s partitioner did not try to alter sda1 or tread on it’s toes again.

Another and perhaps easier option, but not so satisfying, would be to follow please_try_again’s advice and repair the windows bootloader and add openSUSE into the boot.ini file of windows thus creating an entry in the windows bootloader for access to openSUSE. Or maybe for a really new user this might be too hard.

On 2010-11-28 03:36, please try again wrote:
>
> If it doesn’t sound to complicated, use the findgrub script with the

Yep.

What about using “makeactive” in grub? I think that grub is not in mbr, but
in partition 2, so making active the windows partition might work - but
then it has to be reverted somehow. I’m not very familiar with what
makeactive does in grub in that case.


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)

Dalikman can boot into openSUSE and change the active flag from either of the apps cfdisk or gparted. But then the boot to openSUSE would probably break, and (fingers crossed) all you’d get is windows.

Yes I wanted to suggest that too, either use makeactive or set the bootflag to the Windows partition with fdisk and see if Windows can boot from itself. But before doing that, try the following command and post the output here:

dd if=/dev/sda1 bs=512 count=1 2>/dev/null | tr -cd “:alnum:] :space:]”

If it looks encrypted, the question will be answered: it won’t boot from grub.

thanks all of u for your answers…
but all that it’s seen “alien” for me…
I was tried with “makeactive” but when I boot the Wins there is an error message (disk error fail loading " and I have to install again opensuse (boot from cd)…

RNTFS o
hjsffAfff AUrUu tffff fjfPSfh
aBfXfXfXf3ffff6
fofa t
A disk read error occurred
NTLDR is missing
NTLDR is compressed
Press CtrlAltDel to restart

what does mean all that message? :?
troubles :frowning:

Nope. As strange as it might look, it is NOT encrypted.
So this is not the reason why it doesn’t boot from Grub.

Well then it’s back to my suggestions re the screwed partitioning that the openSUSE installer sometimes makes.

Dalikman, to fix this problem on this occasion you would need to either (a) delete the openSUSE install and start again or (b) restore booting to windows and then add openSUSE into the windows boot menu and thereafter use the windows bootloader. Would you like to try one of those options (with assistance of course)?

Hmmm … Maybe … maybe not. But to find out, the OP should post the output of
fdisk -u -l
so we will see if the partitions really overlap. If they do, it might be a problem indeed, although I don’t remember how Windows uses the last sector. Not sure … but didn’t the NTFS save a copy of the bootsector there? Don’t remember.

I would also follow advices 1 and 4 here, actually the first thing to to (before resizing partition or reinstalling anything). If it doesn’t help, carefully shrinking the partitions (by one cylinder) and reinstalling Grub might solve the problem. It will also tell you if your HD is damaged (if a sector is unreadable gparted won’t be able to move its content). This can be done with PartedMagic.

but didn’t the NTFS save a copy of the bootsector there?
Yes, it is made doing format only. (it might not be made by all format programs). If the partition is moved , resized or cloned then it might be missing depending on the program used. ‘testdisk’ when advanced option is used will compare the 2 sectors. When XP’s ‘fixboot’ is ran it only will rewrite the boot code but not the bios parameter block portion.