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? Thanks!

  • Did you have another install of Windows? Windows only directly boots from a primary partition. And Windows will not boot from a logical partition. Second installs of Windows can be to a logical partition, but all the boot files are in the primary partition with the first install. And the Windows boot loader only looks for primary partitions to boot from. You can manually add the correct boot files & a Lilo boot loader which works like Windows but will boot a logical partition to boot Windows in a logical partition. Some or all of your XP boot files are probably missing, so grub cannot find it. – oldfred Nov 10 '14 at 16:07

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.