GRUB boot menu disapeared after NTFS partition deleted?

3

I have a dual boot system with Windows XP and Fedora12.

Following is the partition structure of my harddisk.

Disk /dev/sda: 80.1 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x5e5e5e5e

 Device    Boot      Start       End      Blocks    Id  System
/dev/sda1               1        1912    15358108+   7  HPFS/NTFS
/dev/sda2            1913        9733    62822182+   f  W95 Ext'd (LBA)
/dev/sda5            1913        3824    15358108+   7  HPFS/NTFS
/dev/sda6            3825        6374    20482843+   7  HPFS/NTFS
/dev/sda7            6375        7941    12586896    7  HPFS/NTFS
/dev/sda8            7942        8018      618471    7  HPFS/NTFS
/dev/sda9            8019        8203     1485950    7  HPFS/NTFS
/dev/sda10  *        8204        8229      204799+  83  Linux
/dev/sda11           8229        9733    12084924   8e  Linux LVM

I deleted the "/dev/sda8" through Windows Disk Management, and when i restarted the system. GRUB boot menu vanished and a GRUB console appeared.

Then I booted my system using Fedora12 live USB and created a new partition at same place from where i deleted it, and then after restart my started working normally as it was before partition deletion.

But, I don't understand what actually happened.

Can anyone tell me in detail what happened and why and what to do to avoid such things in future?

MA1

Posted 2010-02-28T11:54:59.203

Reputation: 1 049

Answers

1

My guess is that Grub couldn't find it's configuration.

It looks like /dev/sda10 is your boot partition, which is where Grub's configuration and second-stage bootloader lives. The partition you deleted came before this.

Here's the way your disk looks to Grub, before and after the partition deletion:

Device       Grub before[*]  Grub after
======       ===========     ==========
/dev/sda1     (hd0,0)         (hd0,0)
/dev/sda2     (hd0,1)         (hd0,1)
/dev/sda5     (hd0,2)         (hd0,2)
/dev/sda6     (hd0,3)         (hd0,3)
/dev/sda7     (hd0,4)         (hd0,4)
/dev/sda8     (hd0,5)           --
/dev/sda9     (hd0,6)         (hd0,5)
/dev/sda10    (hd0,7)         (hd0,6)
/dev/sda11    (hd0,8)         (hd0,7)

[*] Grub1-style enumeration; Grub2 starts counting at 1, so 
    /dev/sda1 would be (hd0,1).

See that? Grub expected to find its configuration on (hd0,7) but it's now on (hd0,6). This explains why it broke, and also why it was fixed when you created a new partition in that space.

You should have deleted the partition while booted into Linux. You might've only needed to update the entries in Grub's configuration file, but you could have made those changes before rebooting and avoided the trouble. You might also need to rerun grub-install.

(On Debian/Ubuntu, these are /boot/grub/menu.lst for Grub1 or /boot/grub/grub.cfg for Grub2, although you'd probably just run update-grub to do it automatically. According to Distrowatch, Fedora 12 defaults to using Grub v0.97, ie Grub1, but I'm not sure where Fedora's Grub configuration lives.)

quack quixote

Posted 2010-02-28T11:54:59.203

Reputation: 37 382

note: ideally, you'd partition the drive so that the /boot partition is one of the first partitions. then changing partitions later on the drive wouldn't affect as much. with a setup like this, you'll need to remember to update Grub when you change stuff in the future. – quack quixote – 2010-03-01T17:52:51.763