Messed up boot loader; openSUSE will boot, Windows 7 won't

At first, I had the opposite problem. It started out when I started up the computer and instead of being greeted by the openSUSE boot loader, it was immediately the Windows startup. Somehow Windows had decided not to respect the space. Or something.

So I tried fixing it, first with Super Grub Disc (which is rather confusing to try to use effectively), then with an openSUSE Live USB (YaST). (Now I’m trying to get Parted Live on my USB stick, but I’m having trouble with how to use syslinux. I think I’ll figure it out though.) I’m not sure how it happened, but now the boot loader is back, but Windows 7 does not boot from it. The error is as follows:

map (hd1) (hd0)
map (hd0) (hd1)
rootnoverify (hd1,0)
makeactive
chainloader +1

BOOTMGR is missing
Press Ctrl+Alt+Del to restart

It seems I have either misplaced or removed BOOTMGR? Uh-oh.

I can help you
But slow down messing about!

Just tell me what the situation is now, what you have done more since this post

Nope, haven’t done anything else, nor will I be (on my own), as I’ve already tried all I can think of. Situation is still the same.

That error about BOOTMGR
Means you have damaged the windows MBR

Do you have a windows 7 dvd?

In suse can you read the windows c
and see the files there?

chris@linux-nf92:~> sudo mount -t ntfs /dev/sda1 /media/win7
mount: wrong fs type, bad option, bad superblock on /dev/sda1,
       missing codepage or helper program, or other error
       In some cases useful info is found in syslog - try
       dmesg | tail  or so

Using HPFS results in the same error. I thought it would be one of these two, as YaST Expert Partitioner lists the following information:

Device:

Device: /dev/sda1
Size: 100.01 GB
Device Path: pci-0000:00:1f.2-scsi-1:0:0:0-part1
Device ID 1: ata-ST3160815AS_5RA0FRKY-part1
Device ID 2: scsi-SATA_ST3160815AS_5RA0FRKY-part1
Used By:
FS Id: 0x07 HPFS/NTFS

File System:

File System:
Mount Point: /windows/C *
Mount By: ID
UUID:
Label:
Encrypted: No

FSTAB - Editing Manually - openSUSE Forums

Even more detail at @swerdna’s
HowTo Mount NTFS Filesystem Partition Read Write Access in openSUSE

If necessary I can send you a file to try copying across, it can work sometimes, depending what you did.
see if you can get read/write to windows or else boot a live cd, that will give it to you.

If you used an install cd for opensuse you can boot into it and it should have a repair option. This will either allow opensuse to do an auto repair or you can selectively modify the boot .

Okay, now that the holidays are over it’s time to get back to work.

Got a new error:

sudo mount -t ntfs-3g /dev/sda1 /media/win7
root's password:
Unexpected clusters per mft record (-1).
Failed to mount '/dev/sda1': Invalid argument
The device '/dev/sda1' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?

Okay, so now I remember: ntfs-3g is what I would use before to mount the partition (when I was using openSUSE and wanted to access my Windows files). Now it doesn’t seem to work though. Looks like there’s an error having to do with clusters… and the MFT, which seems to stand for master file table.

Then I tried testdisk:

TestDisk 6.11, Data Recovery Utility, April 2009
Christophe GRENIER <grenier@cgsecurity.org>
http://www.cgsecurity.org

Disk /dev/sda - 160 GB / 149 GiB - CHS 19457 255 63
     Partition                  Start        End    Size in sectors
 1 * HPFS - NTFS              0  32 33 13055  32 31  209728574

Boot sector
Status: OK

Backup boot sector
Status: OK

Sectors are not identical.

A valid NTFS Boot sector must be present in order to access
any data; even if the partition is not bootable.

So I’m missing the boot sector somehow?

Can you install GRUB into the MBR?

GRUB is fine (or seems fine, as I can boot openSUSE just fine), it’s the matter of /dev/sda1 (Windows 7) not booting. It’s something wrong with that partition. (Boot sector? VBR? MBR?)

I think the issue I’m having is the pretty similar to the one that this person had:

grub repair error - openSUSE Forums

My problem seems worse, though, as the backup didn’t seem to work. Or something.

Tried to rebuild the boot sector:

Disk /dev/sda - 160 GB / 149 GiB - CHS 19457 255 63
     Partition                  Start        End    Size in sectors
 1 * HPFS - NTFS              0  32 33 13055  32 31  209728574

filesystem size           209728574 204813049
sectors_per_cluster       8 8
mft_lcn                   786432 786432
mftmirr_lcn               19535999 19535999
clusters_per_mft_record   -10 -10
clusters_per_index_record 1 1
Extrapolated boot sector and current boot sector are different.

So I’m going to avoid the “write boot” option right now. They’re not supposed to be different, are they? Or are they supposed to be, if the current one is messed up? What should I do now?

What you do depends, what is on the partition. Is it possible to access it from a windows OS? If you boot Parted Magic - will it mount it and let you read it?

Okay, booted up Parted Magic, and it says sda1 is mounted now, but it doesn’t show any files. Says it’s a 97.66 GB partition (in the Mount-gtk window), but in PCManFM (oh nice, LXDE uses this) it says 0 visible items (0 hidden), 981.2 MB free space (Total: 1059.1 MB).

(Man, Parted Magic is awesome.)

EDIT: Okay… this actually made me laugh. I just rebooted after using Parted Magic… and now Windows boots, but not openSUSE. Oh geez. XD

EDIT(2): Oh, and I should mention. Rather than the boot loader of openSUSE, it was the plain GRUB menu that didn’t boot openSUSE.

Re-Install Grub Quickly with Parted Magic - openSUSE Forums

From the terminal in Parted M
do this

fdisk -l

post result

# fdisk -l

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x0009106b

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       13056   104864287    7  HPFS/NTFS
/dev/sda2           13057       14491    11526637+  83  Linux
/dev/sda3           14492       19059    36692460   83  Linux
/dev/sda4           19060       19457     3196934+  82  Linux swap / Solaris

Disk /dev/sdb: 4009 MB, 4009754624 bytes
255 heads, 63 sectors/track, 487 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d5a58

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         487     3911796    6  FAT16

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xf87b4c9a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1       60801   488384001    7  HPFS/NTFS

On an unrelated note, it’s good to see Chrome for Linux is finally working well enough to be chosen over Firefox – more compact, yes, but finally stable enough, apparently.

To answer you
Grub menu is on (hd0,1)

and then setup to (hd0)

Now… the pretty openSUSE boot menu is back (yay!), and openSUSE successfully boots… But now when I select Windows instead, I get the “BOOTMGR is missing” error again.

Aw, and I thought my problems were now over. Well, I know Windows isn’t broken (I was able to log in and access my files fine a little while ago, before reinstalling GRUB), something is just broken or missing somewhere.

Is it menu.lst that’s wrong, maybe? Maybe not…

I’m guessing device sdb is a pen drive?

sdc is a external usb?

the BOOTMGR is recoverable with the win7 DVD
Do you have one?

It’s the Windows 7 RC from this past summer. The DVD is currently… missing, along with many other discs I had, and a few other things… I think I may have left it at my dorm (at the school I no longer attend). I’ll be finding out from my former RA soon (once interim period begins) whether it’s there or not. If it is, it’s only an hour away, so.

Fortunately, I still have my Windows 7 RC product key, so if I don’t end up finding my DVDs (all their data besides some Linux discs I have on my external anyway), I can always find the RC ISO and burn it again…

Wait, would that have the recovery tool on it? Or does only the final release?

(EDIT: Oh, and yes, sdb was the pen drive that Parted Magic was on, and sdc was the external USB hard drive.)

Have a look in Linux, open the windows directory at the root of windows, often referred to as C:
Can you see a file BOOTMGR

Yes the RC win 7 DVD can do all the normal DVD can including fix the bootmgr

But I have an idea
Tell me if you see it in there.

Also
Can you post from su terminal

cat /boot/grub/menu.lst

and also do

fdisk -l

again

Also Try booting w7 without any additional drives connected