You are not logged in.

#1 2010-09-24 15:09:09

CulleyS
Member
Registered: 2010-03-02
Posts: 18

Win 7 and Arch dual boot [SOLVED]

There are other help threads about this, but I didn't want to hijack somebody's elses thread.  Sorry for the long post, I just want to provide as much detail as possible:

I am trying to use Grub (not Grub2) to dual boot between Arch Linux and Windows 7.  I had this working before using Windows XP, but when I reinstalled Windows 7 over Windows XP, Grub would no longer boot Windows.

1.  If I manually choose the hd containing Windows 7 to load first in my BIOS, Windows 7 boots no problem.  If I manually choose the hd with Grub and Arch to load first in my BIOS, I get a Grub menu, which boots Arch, but not Windows 7.  Ideally, I think, I would like to have the internal drive with Arch ranked first, then the internal drive with Windows second in my BIOS. At least, that's how I had been doing things before blowing away XP and installing Windows 7.

2.  Here is the (abbreviated) output of sudo fdisk -l

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048      206847      102400    7  HPFS/NTFS
/dev/sdb2          206848   169934847    84864000    7  HPFS/NTFS
/dev/sdb3       169935570  1953520064   891792247+  83  Linux

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *          63     1028159      514048+  83  Linux
/dev/sda2         1028160     3084479     1028160   82  Linux swap / Solaris
/dev/sda3         3084480    44050229    20482875   83  Linux
/dev/sda4        44050230   488392064   222170917+  83  Linux


3.  From that, I can tell that Arch is installed on sda:  sda1 = boot partition; sda2 = swap; sda3 = root partition; sda4 = home partition.
Windows 7 is installed on sdb:  sdb1 = system reserved partition (created automatically by Windows 7 during install); sdb2 = Windows; sdb3 = separate ext3 partition

4. I am comfortable editing Grub menus.  This is an excerpt of mine:

# (0) Arch Linux
title  Arch Linux
root   (hd0,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/blah-blah-blah ro
initrd /kernel26.img

# (2) Windows
title Windows 7
rootnoverify (hd1,0)
savedefault
makeactive
map (hd1) (hd0)
map (hd0) (hd1)
chainloader +1

5.  The error I get is "error 15: file not found"  If I change the line reading "rootnoverify" to "root", I get the same error plus the bit about "filesystem unknown, partition type 0x7" so I think I'm pointing at the right partition/drive.  That is, I know that partition type 0x7 is an NTFS filesystem/Windows.

6.  I messed around with the Grub entry for Windows.  I modified the root line to read "rootnoverify (hd1,1)", but things still did not work.  I wasn't sure if I needed to bypass the "system reserved" partition created by Windows, or not.  I also flip-flopped the two map lines, so they read:
                    map (hd0) (hd1)
                    map (hd1) (hd0)
That did not work either.  I tried these combinations together, but Windows still would not boot.  Always the same error message: "filesystem unknown, partition type 0x7"

7.  I think I have a mapping problem given that Arch boots fine and Windows boots fine from the BIOS.  However, I'm not sure how to fix this.  Any help would be appreciated.

Thanks,
Culley


Edit:

Okay, so I fixed things.  I just removed a bunch of stuff from my Grub entry.  Even though Windows is not on the same drive as Grub, it does not need the map sections like I thought.  I also removed the savedefault and makeactive entries, not sure if that made a difference or not. My new grub entry looks like this

# (2) Windows
title Windows 7
rootnoverify (hd1,0)
chainloader +1

Last edited by CulleyS (2010-09-24 15:45:12)

Offline

Board footer

Powered by FluxBB