is there a way to check if the MBR that Yast has saved is still valid XP boot code ?

If I want to get back to booting from XP the opensuse documentation advises that is as simple as
go into YaST
System -> boot loader
Other -> restore MBR of hard disk,then confirm by Yes, Rewrite

However from looking at past threads on this forum many people advise caution — may need a XP restore disk or repair disk, and via that means run a command fixmbr. I dont have such a disk --laptop is a compaq that came with xp on it several years ago. There may be a system restore disk from compaq < somewhere> but I can not find it.

So, if I can check beforehand taht the saved ( by YaST ) MBR is correct still for XP then I am good to go — no need XP repair disk etc.

Thanks

On 06/11/2012 12:26 PM, seandeg wrote:
> I want to get back to booting from XP

when you boot do you first get a screen which lists things like:

openSUSE Defalut
openSUSE Desktop
Windows

where you can choose which to boot from??
if so, just use your arrow key to select XP, and then hit enter

if that does not work, then please show us the terminal input/output
from each of these commands



df -hlT
cat /proc/partitions
cat /etc/fstab
sudo /sbin/fdisk -l
sudo cat /boot/grub/menu.lst
uname -a
cat /etc/SuSE-release

copy/paste the in/output back to this thread using the instructions
here: http://goo.gl/i3wnr, or put them into a new paste.opensuse.org
file like i did here: http://paste.opensuse.org/39146598 (and post the
paste URL back to this thread, like i just did above.)


dd

On 2012-06-11 12:26, seandeg wrote:
>
> If I want to get back to booting from XP the opensuse documentation
> advises that is as simple as
> go into YaST
> System -> boot loader
> Other -> restore MBR of hard disk,then confirm by Yes, Rewrite

I’m not familiar what this does. If what it does is restore the MBR only,
and YaST installed a generic boot code, then no, that would do nothing: you
would need to mark the XP partition as bootable.

If YaST installed grub into the MBR then that restoration is the first
step, but marking of the partition as bootable is always necessary.

This is if you want to remove Linux. If you want to boot both, the advise
is wrong.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Thank you both dd and Carlos,

find below the results of the commands that dd requested

I did not explain the context of why I want to know if the saved MBR is valid. Apologies for that, please forgive me.

My disk is 80Gbyte on an XP laptop from compaq. Years ago I installed opensuse 10.2 and gave half the disk to it( resized XP partition to approx. 40Gbyte and gave rest to linux partitions ). Now am running out of space for XP.

Best plan , in my opinion, is remove opensuse, resize XP to complete disk, then do fresh install of opensuse – and this time assign less disk space to it.
The catch is that there is risk of not being able to boot XP unless I am certain the MBR contains the original XP boot code. The partition that is marked as boot by * is I believe already the XP partition.

/dev/sda1 * 1 4463 35849016 7 HPFS/NTFS

So that is why I want to know if there is a way to check/verify that the “saved by YaST MBR” which YaST will rewrite is valid for an XP boot.

Thanks again for advice so far, and especially the tip on how to insert results from command line into the forum posts neatly.Hope I got it right below.


linux-hn5m:~ # uname -a
Linux linux-hn5m 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 i686 i686 i386 GNU/Linux

linux-hn5m:~ # cat /etc/SuSE-release
openSUSE 10.2 (i586)
VERSION = 10.2

linux-hn5m:~ # fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        4463    35849016    7  HPFS/NTFS
/dev/sda2            4464        9729    42299145    f  W95 Ext'd (LBA)
/dev/sda5            4464        4655     1542208+  82  Linux swap / Solaris
/dev/sda6            4656        6700    16426431   83  Linux
/dev/sda7            6701        9729    24330411   83  Linux

linux-hn5m:~ # df -hlT
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda6     ext3     16G  4.7G   10G  32% /
udev         tmpfs    502M   88K  502M   1% /dev
/dev/sda7     ext3     23G  173M   22G   1% /home
/dev/sda1     ntfs     35G   25G  9.7G  72% /windows/C

linux-hn5m:~ # cat /proc/partitions
major minor  #blocks  name

   8     0   78150744 sda
   8     1   35849016 sda1
   8     2          1 sda2
   8     5    1542208 sda5
   8     6   16426431 sda6
   8     7   24330411 sda7

linux-hn5m:~ # cat /etc/fstab
/dev/sda6            /                    ext3       acl,user_xattr        1 1
/dev/sda7            /home                ext3       acl,user_xattr        1 2
/dev/sda1            /windows/C           ntfs       ro,users,gid=users,umask=0002,nls=utf8 0 0
/dev/sda5            swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

linux-hn5m:~ # cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on Sat Oct 17 11:35:07 UTC 2009
default 1
timeout 8
gfxmenu (hd0,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda6 vga=0x314    resume=/dev/sda5 splash=silent showopts
    initrd /boot/initrd-2.6.18.2-34-default

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

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd-2.6.18.2-34-default

On 2012-06-11 16:46, seandeg wrote:
>
> Thank you both dd and Carlos,
>
> find below the results of the commands that dd requested
>
> I did not explain the context of why I want to know if the saved MBR is
> valid. Apologies for that, please forgive me.
>
> My disk is 80Gbyte on an XP laptop from compaq. Years ago I installed
> opensuse 10.2 and gave half the disk to it( resized XP partition to
> approx. 40Gbyte and gave rest to linux partitions ). Now am running out
> of space for XP.

You need a bigger disk :slight_smile:

>
> Best plan , in my opinion, is remove opensuse, resize XP to complete
> disk, then do fresh install of opensuse – and this time assign less
> disk space to it.

If you resize XP to the full disk, where do you plan to install openSUSE,
another disk? If you intend to use the same disk, do the resizing to the
final size. As openSUSE will have little space, I would recommend to not
use a /home partition… although that also poses some problems. You might
store ~/Documents in the Windows partition.

> The catch is that there is risk of not being able to boot XP unless I
> am certain the MBR contains the original XP boot code. The partition
> that is marked as boot by * is I believe already the XP partition.
>
> /dev/sda1 * 1 4463 35849016 7 HPFS/NTFS
>
> So that is why I want to know if there is a way to check/verify that
> the “saved by YaST MBR” which YaST will rewrite is valid for an XP boot.

Very probably, because I think that what is currently there is Grub. You
can either restore the original copy, or tell yast to put generic code in
there, or via /fixmbr.

If you have a look at the backup of the mbr with “hexdump -C” you might see
what it is, with some experience. The backup will be a small file in /boot.

The findgrub or lsparts scripts from please_try_again discerns the boot
code, but not from backup copies, AFAIK.

Warning: restoring that backup “as is” will also restore the original
partition table; the copy has to be done “carefully”. I hope that YaST does
it right, but I have never used that facility. It is also possible to do it
with “dd” and some parameters I never remember.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

On 06/11/2012 04:46 PM, seandeg wrote:
> So that is why I want to know if there is a way to check/verify that
> the “saved by YaST MBR” which YaST will rewrite is valid for an XP boot.

sorry, after asking for all that work by you i can’t actually answer
your question…however, i can tell you a few things that may or may not
be useful:

  • before you do as you now plan (remove openSUSE and then reinstall to a
    smaller space) you need to know that openSUSE 10.2 went past its end of
    life, and support in November 2008 (cite:
    http://en.opensuse.org/Lifetime) and has therefore had no security
    patches since that time…and, you should plan to install a newer,
    supported, version (11.4 or 12.1 currently supported…

  • if you insist to reinstall 10.2 you will probably find that the system
    you end up with will not be the same as the one you just deleted,
    because there will be no supporting repos easily available from which to
    install programs (patches, updates and security fixes) you may have
    installed prior to it going end of life…that is to say that the code
    base which is on the install DVD for 10.2 was frozen in time in 2006,
    and none of the updates or bug fixes which flowed to your machine are
    now available to bring it up to date as of November 2008–and, i have no
    idea which bugs which were fixed in 2007/8 might cause you to wish you
    had a different plan.

  • the info you provided shows that of the 40 gigs you allocated to the
    Linux partitions, about 32 gigs are unused…so, you are correct to
    assume a large increase is available for use by XP (which, by the way is
    far less secure than the 10.2 i’m advising you not to use on the net,
    unpatched)

so, once someone who knows a lot about Windows (i do not) answers your
question you then need to plan on what you will install to replace your
10.2, and then there will be several things you need to consider:

  • a machine that ran 10.2 perfectly may not run 12.1 so smoothly (i
    mean, how would that machine run Win7 [which has much higher system
    requirements, as does 12.1])

  • i guess your 10.2 ran either KDE3 or Gnome2 and 12.1 has KDE4 and
    Gnome3–both of which need more system resources AND are very different
    in their user interface…SO, you may need to look at your next
    install of Linux to either be a slimmer openSUSE (LXDE or similar) or
    maybe even a different, lighter distro like Puppy Linux…


dd

findgrub (3.7.2 and greater) can tell you if a generic MBR is from SUSE or from Windows. See the example posted by James of a system with both SUSE and Windows generic MBRs: http://forums.opensuse.org/english/other-forums/development/programming-scripting/447138-looking-grub-windows-bootloader-all-partitions-17.html#post2443638.

They’re both “valid” if it was your question. Btw Windows boot code is in the boot sector of the Windows partition.

On 2012-06-11 18:16, please try again wrote:
>
> findgrub (3.7.2 and greater) can tell you if a generic MBR is from SUSE
> or from Windows. See the example posted by James of a system with both
> SUSE and Windows generic MBRs: http://tinyurl.com/cssr88v.

Yes, but the problem is analyzing a backup copy of the mbr in a file.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

Best plan is to get a bigger hard disk.

Other plan - if you are prepared to reinstall openSUSE anyway (because it could fail) - is to boot from a linux live CD, resize sda7 and move it to the end, resize sda6 and move it to the right, resize sda5 and move it to the right. I usually do that with gparted from Ubuntu live CD. If you are using a generic MBR (I bet you are), you HAVE TO reinstall Grub as well. Otherwise it won’t boot Linux anymore. Do not install stage1 in MBR! Install it in the extended partition (sda2 here) and activate this partition. You’ll do this from openSUSE live CD (Not Ubuntu or another Grub2 based distro). It’s probably possible to resize the partitions from an openSUSE live system but since I never did that, I can not advise it. Next boot Windows and resize the Windows partition (sda1) with Windows disk manager. You should be done.

Well … I assume that your Linux partitions were formated in ext3 under 10.2 . I they are in reiserfs, forget it!

I wouldn’t worry about that. SUSE generic boot code is able to boot XP. And Windows might rewrite its MBR sooner or later without even telling you (just like openSUSE when you play with YaST -> Bootloader). A clever and lazy way to do a fixmbr is to install openSUSE with default boot settings. This is the ONLY real advantage of this default and it only benefits Windows users (Carlos, I know: “not again!”).

  • Oh, after resizing all the logical partitions, you have to resize the extended partiton by pushing its start sector to the right. Then you can expand sda1 up to the end of the freed space (but do that in Windows!!!)

On 2012-06-11 22:46, please try again wrote:
> If you are using a generic MBR (I bet you are),

I think not, because XP partition is marked bootable, he would be booting
that instead of grub.


Cheers / Saludos,

Carlos E. R.
(from 11.4 x86_64 “Celadon” at Telcontar)

OK. In this case, writing a generic boot code from YaST* will be OK for Windows. I happened to restore generic boot code on Windows 7 computers that way (in order to install SP2). But since Windows is booting (I guess), the OP can also do a fixmbr from Windows if he wants to have a Windows generic MBR instead. It really doesn’t matter. There is no problem here. The only problem I see is the size of the hard disk, which is to small.

  • meaning: install Grub in the extended partition and make sure that “write generic boot code to MBR” is checked (it should, which is a good thing in this particular case).

First, thanks to all those who helped me out here on the forum - dd, carlos,and please_try_again.

Finally got it done this morning. Went with the advice from please_try_again in reply of 11-JUN-2012 20:44, with just a few slight differences.

Here is what I did, might be useful to others who want do something similar.
SITUATION: running out of space for XP on a 80Gbyte disk which is split half each for XP and opensuse 10.2. Want split roughly 60Gbyte for XP and rest for opensuse. Am scared will never be able to boot again after such an operation !

SOLUTION: boot from a live linux cd ( I used 84_Hope ), such that hard disk not is use at all while re-partitioning being done. Used partition program gparted which I started from 84_Hope live suse DVD.
Resize sda7 to 2Gbyte
Resize sda6 to 10Gbyte and moved towards the right --almost to start of sda7
Resize sda5 to 1Gbyte and moved right
Resize sda2, the extended partition in which 7,6 and 5 are logical partitions.
I chose to resize on cylinder boundaries for all the above.

Install GRUB into the extended partition, sda2. Used YaST -->boot loader for this, running from the 84_Hope DVD
( I used the custom option to do this–selected /dev/sda2 as place to install GRUB )
Select use generic boot code in MBR, mark boot partition as active

That is what I did using live DVD. Left XP partition alone at that stage – did not touch it.

Shutdown/Restart and see what happens… came up fine. Usual GRUB menu displayed

Go into XP this time, to resize ( upwards ) the XP partition.
Started PartitionMagic 8.0,
resized XP up to close to start of sda2

Shutdown/Restart …again come up fine.

Following are the BEFORE and AFTER results from
uname a, cat /etc/SuSE-release, fdisk -l, df -hlT, cat /proc/partitions, cat /etc/fstab, cat /boot/grub/menu.lst,
findgrub, findgrub -v

SITUATION BEFORE RE-PARTITIONING

linux-hn5m:~ # fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        4463    35849016    7  HPFS/NTFS
/dev/sda2            8012        9729    13799835    f  W95 Ext'd (LBA)
/dev/sda5            8013        8140     1028160   82  Linux swap / Solaris
/dev/sda6            8200        9474    10240362   83  Linux
/dev/sda7            9475        9729     2048256   83  Linux

linux-hn5m:~ # df -hlT
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda6     ext3    9.7G  4.7G  4.5G  51% /
udev         tmpfs    502M   80K  502M   1% /dev
/dev/sda7     ext3    2.0G  153M  1.7G   9% /home
/dev/sda1     ntfs     35G   25G  9.6G  73% /windows/C

linux-hn5m:~ # cat /proc/partitions
major minor  #blocks  name

   8     0   78150744 sda
   8     1   35849016 sda1
   8     2          1 sda2
   8     5    1028160 sda5
   8     6   10240362 sda6
   8     7    2048256 sda7
   8    16   15638528 sdb
   8    17   15634496 sdb1

linux-hn5m:~ # cat /etc/fstab
/dev/sda6            /                    ext3       acl,user_xattr        1 1
/dev/sda7            /home                ext3       acl,user_xattr        1 2
/dev/sda1            /windows/C           ntfs       ro,users,gid=users,umask=0002,nls=utf8 0 0
/dev/sda5            swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

linux-hn5m:~ # cat /boot/grub/memu.lst
cat: /boot/grub/memu.lst: No such file or directory
linux-hn5m:~ # cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on Sat Oct 17 11:35:07 UTC 2009
default 1
timeout 8
gfxmenu (hd0,5)/boot/message

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda6 vga=0x314    resume=/dev/sda5 splash=silent showopts
    initrd /boot/initrd-2.6.18.2-34-default

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

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd-2.6.18.2-34-default

linux-hn5m:~ # findgrub
Find Grub Version 3.8 - Written for openSUSE Forums
/bin/findgrub: line 553: =hd0: command not found
/bin/findgrub: line 559: udevadm: command not found
/bin/findgrub: line 559: udevadm: command not found

 - reading MBR on disk /dev/sda                       ... --> Legacy GRUB  found in sda MBR     => sda6   0x83 (openSUSE)
 - searching partition /dev/sda1   *  (NTFS)          ... --> Windows NT/2K/XP Loader found in /dev/sda1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can add the following entry to /boot/grub/menu.lst :

###Don't change this comment - YaST2 identifier: Original name: WindowsBootLoader###
title Windows on /dev/sda1
    rootnoverify (hd0,0)
    chainloader +1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - reading bootsector  /dev/sda2      (Extended)      ...
 - skipping partition  /dev/sda5      (swap)         
 - reading bootsector  /dev/sda6      (LINUX)         ...
 - reading bootsector  /dev/sda7      (LINUX)         ...

linux-hn5m:~ # findgrub -v
Find Grub Version 3.8 - Written for openSUSE Forums
/bin/findgrub: line 553: =hd0: command not found
/bin/findgrub: line 559: udevadm: command not found
/bin/findgrub: line 559: udevadm: command not found

 - reading MBR on disk /dev/sda                       ... --> Legacy GRUB  found in sda MBR     => sda6   0x83 using stage1.5 (openSUSE)
 - searching partition /dev/sda1   *  (NTFS)          ... --> Windows NT/2K/XP Loader found in /dev/sda1

 - reading bootsector  /dev/sda2      (Extended)      ...
 - skipping partition  /dev/sda5      (swap)         
 - reading bootsector  /dev/sda6      (LINUX)         ...
 - reading bootsector  /dev/sda7      (LINUX)         ...



SITUATION AFTER RE-PARTITIONING and RE-INSTALLING GRUB

linux-hn5m:~ # uname -a
Linux linux-hn5m 2.6.18.2-34-default #1 SMP Mon Nov 27 11:46:27 UTC 2006 i686 i686 i386 GNU/Linux
linux-hn5m:~ # cat /etc/SuSE-release
openSUSE 10.2 (i586)
VERSION = 10.2
linux-hn5m:~ # fdisk -l

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1        8011    64348326    7  HPFS/NTFS
/dev/sda2   *        8012        9729    13799835    f  W95 Ext'd (LBA)
/dev/sda5            8013        8140     1028160   82  Linux swap / Solaris
/dev/sda6            8200        9474    10240362   83  Linux
/dev/sda7            9475        9729     2048256   83  Linux

linux-hn5m:~ # df -hlT
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/sda6     ext3    9.7G  4.7G  4.5G  51% /
udev         tmpfs    502M   80K  502M   1% /dev
/dev/sda7     ext3    2.0G  153M  1.7G   9% /home
/dev/sda1     ntfs     62G   25G   37G  41% /windows/C

linux-hn5m:~ # cat /proc/partitions
major minor  #blocks  name

   8     0   78150744 sda
   8     1   64348326 sda1
   8     2          1 sda2
   8     5    1028160 sda5
   8     6   10240362 sda6
   8     7    2048256 sda7

linux-hn5m:~ # cat /etc/fstab
/dev/sda6            /                    ext3       acl,user_xattr        1 1
/dev/sda7            /home                ext3       acl,user_xattr        1 2
/dev/sda1            /windows/C           ntfs       ro,users,gid=users,umask=0002,nls=utf8 0 0
/dev/sda5            swap                 swap       defaults              0 0
proc                 /proc                proc       defaults              0 0
sysfs                /sys                 sysfs      noauto                0 0
debugfs              /sys/kernel/debug    debugfs    noauto                0 0
usbfs                /proc/bus/usb        usbfs      noauto                0 0
devpts               /dev/pts             devpts     mode=0620,gid=5       0 0

linux-hn5m:~ # cat /boot/grub/memu.lst
cat: /boot/grub/memu.lst: No such file or directory
linux-hn5m:~ # cat /boot/grub/menu.lst
# Modified by YaST2. Last modification on Sat Jun 23 15:40:57 IST 2012
default 1
timeout 8
gfxmenu (hd0,5)/boot/message
##YaST - generic_mbr
##YaST - activate

###Don't change this comment - YaST2 identifier: Original name: linux###
title openSUSE 10.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda6 vga=0x314 resume=/dev/sda5 splash=silent showopts
    initrd /boot/initrd-2.6.18.2-34-default

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

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- openSUSE 10.2
    root (hd0,5)
    kernel /boot/vmlinuz-2.6.18.2-34-default root=/dev/sda6 vga=normal showopts ide=nodma apm=off acpi=off noresume nosmp noapic maxcpus=0 edd=off 3
    initrd /boot/initrd-2.6.18.2-34-default

linux-hn5m:~ # findgrub
Find Grub Version 3.8 - Written for openSUSE Forums
/bin/findgrub: line 553: =hd0: command not found
/bin/findgrub: line 559: udevadm: command not found
/bin/findgrub: line 559: udevadm: command not found

 - reading MBR on disk /dev/sda                       ... --> Legacy GRUB  found in sda MBR     => sda6   0x83 (openSUSE)
 - searching partition /dev/sda1      (NTFS)          ... --> Windows NT/2K/XP Loader found in /dev/sda1

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can add the following entry to /boot/grub/menu.lst :

###Don't change this comment - YaST2 identifier: Original name: WindowsBootLoader###
title Windows on /dev/sda1
    rootnoverify (hd0,0)
    chainloader +1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 - reading bootsector  /dev/sda2   *  (Extended)      ...
 - skipping partition  /dev/sda5      (swap)         
 - reading bootsector  /dev/sda6      (LINUX)         ...
 - reading bootsector  /dev/sda7      (LINUX)         ...

linux-hn5m:~ # findgrub -v
Find Grub Version 3.8 - Written for openSUSE Forums
/bin/findgrub: line 553: =hd0: command not found
/bin/findgrub: line 559: udevadm: command not found
/bin/findgrub: line 559: udevadm: command not found

 - reading MBR on disk /dev/sda                       ... --> Legacy GRUB  found in sda MBR     => sda6   0x83 using stage1.5 (openSUSE)
 - searching partition /dev/sda1      (NTFS)          ... --> Windows NT/2K/XP Loader found in /dev/sda1

 - reading bootsector  /dev/sda2   *  (Extended)      ...
 - skipping partition  /dev/sda5      (swap)         
 - reading bootsector  /dev/sda6      (LINUX)         ...
 - reading bootsector  /dev/sda7      (LINUX)         ...


Again, big thankyou to please_try_again, carlos and dd