Invalid partition table

Hello. I have a laptop with dual boot system, opensuse 11.2 and windows xp in the same hard disk.

I tried to remove suse doing the following :

Ι loaded windows xp cd and get in recovery console. After that i did Fixmbr and fixboot.

After that, after the bios screen, i get a black sceen with the message “invalid partition table” :frowning:

If i type a “dir” command i can see my files, so the disks partiotions are not corrupted i guess. Just the MBR is damaged. I need help guys on how to restore my system.

As a hardware tool, i have an external usb floppy drive that can be helpfull.

plz help me ouyt guys…

See this is your first post here. Thus Welcome. But I see you are allready quitting openSUSE :(. Now that may have all sorts of valid reasons. The problem is that you used a Windows tool to meddle around on the disk and now Windows complains.

You does do hope that Linux people know how to repair your Windows problem created by a Windows tool? Wishing you sucess (this is NOT sarcastic, there is a lot of knowledge around here, but I warn you only).

do you have any linux live cd, if you do then open terminal and do ‘dmesg | tail’, post the output here. you have probably broken partition table and we can get that right but it will take a while. with live cd try to mount the partition first, i doubt it though.

One can fix windows with Linux or Unix but unfortunately if Linux ext4 is broken there are no tools to fix it.

I think this could be caused by having two boot flags set. When you removed Suse, did you delete the partitions for it or did you only do what you outlined in your original post - fixmbr and fixboot?

If you still have your Suse Live CD, or a PartedMagic Live CD, you can run that and from a Super User terminal / prompt (or do su from an ordinary terminal / prompt first) run the command:

fdisk -l

Note that is a lower case ‘L’ and not the number One.

Then post the output here between quotes if you can.

Thanks.

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 100.0 GB, 100030242816 bytes
255 heads, 63 sectors/track, 12161 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: 0x1a7b3fb1

Device Boot Start End Blocks Id System
/dev/sda1 * 1 8924 71681998+ 7 HPFS/NTFS
/dev/sda2 * 8925 12161 26001202+ f W95 Ext’d (LBA)
/dev/sda5 8925 9117 1550241 82 Linux swap / Solaris
/dev/sda6 9118 10363 10008463+ 83 Linux
/dev/sda7 10364 12161 14442403+ 83 Linux

and i also did this…

ubuntu@ubuntu:~$ dmesg |tail
363.574938] QNX4 filesystem 0.2.3 registered.
364.818871] Btrfs loaded
366.815682] kjournald starting. Commit interval 5 seconds
366.815701] EXT3-fs: mounted filesystem with ordered data mode.
367.719894] kjournald starting. Commit interval 5 seconds
367.719914] EXT3-fs: mounted filesystem with ordered data mode.
589.066137] [drm] nouveau 0000:01:00.0: nouveau_channel_free: freeing fifo 1
590.765380] [drm] nouveau 0000:01:00.0: Allocating FIFO number 1
590.766535] [drm] nouveau 0000:01:00.0: nouveau_channel_alloc: initialised FIFO 1
611.258347] CPUFREQ: Per core ondemand sysfs interface is deprecated - up_threshold

Sorry i used ubuntu 10.04 live cd because i have that ready. i can do opensuse live cd or parted magic if u ask me to do.

and a third command i found on another forum

ubuntu@ubuntu:~$ sudo fdisk /dev/sda1

WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
switch off the mode (command ‘c’) and change display units to
sectors (command ‘u’).

Command (m for help):

No i didnt delete anything, just the commands i said. thanks

Go ahead with it and do - dumpe2fs /dev/sda1|grep -i superblock

plodder is correct, You have boootflags set at sda1 and sad2. Remove the one from sda2.

You can do that from the same fdisk (does not matter whose fdisk).
Do

fdisk /dev/sda

then you can enter one letter commands. use m to get a list of commands.
Use p to see the current table in memory (which at the beginning is a copy of the one on the disk).
Use a to toggle the boot flag. It asks for a partition number, use* 1*.
Check with p if there is now only a * in the boot column for partition 1.
When OK do w to write the new partition table.
Then check again if the problem is gone.

I did it!!! I have my system back and the suse grub is disabled. Thanks to all of u.

i did the sudo fdisk /dev/sda and togled partition 2

You are welcome.