Ubuntu – GRUB doesn’t detect Windows XP


I have installed Arch Linux yesterday on /dev/sda1. I used a Live Ubuntu USB to update GRUB, because after I installed Arch, GRUB says: "out of range". So I updated GRUB and all things were fine, but GRUB doesn't see my Windows XP from /dev/sda5.

fdisk -l print:

Disk /dev/sda: 82.3 GB, 82348277760 bytes
255 heads, 63 sectors/track, 10011 cylinders, total 160836480 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xaeb8aeb8

   Device Boot      Start         End      Blocks   Id  System 
/dev/sda1   *        2048     9682943     4840448   83  Linux (Arch root)
/dev/sda2         9684990   160835583    75575297    5  Extended
/dev/sda5        64372797   106446689    21036946+   7  HPFS/NTFS/exFAT (WIN XP)
/dev/sda6       106446848   108404735      978944   82  Linux swap / Solaris (Ubuntu Swap)
/dev/sda7       108406784   117868543     4730880   83  Linux (Ubuntu root)
/dev/sda8       117870592   160835583    21482496   83  Linux (Ubuntu home)
/dev/sda9         9684992    64372735    27343872   83  Linux (Arch home)

Partition table entries are not in disk order

I tried to install os-prober, but WIN XP isn't shown… I tried to write a entry for windows in /etc/grub.d/40_custom:

menuentry "WIN XP" {
    set root='(hd0,5)'
    chainloader +1

I updated GRUB, but it doesn't work.

So, what I need to do?

Best Answer

GRUB 2 is designed to be more intelligent than GRUB 1, meaning that you don't manually configure the menu anymore. Instead, GRUB now makes you solve the underlying issues that prevented it from detecting the OS, which can be a pain in the smurf.

Now, that said, there are several things that can prevent GRUB from detecting your XP drive. From my research, this usually indicates that there is something wrong with the partition itself. You should try and run chkdsk from windows or a windows repair disk. If those fail, please review the forum post below and see if you are having a similar issue. Most likely, Arch damaged a small boot partition that GRUB uses to detect the OS.


As always, back up everything prior to beginning these steps.

Good luck! Geary