Win7 SP1 and GRUB

All users of Windows 7 and dual-boot like GRUB will see, that Service Pack 1 fails to install. This is easy to fix.

Windows 7 SP1 install needs the windows boot partition to be active.

Fixing the problem can be as simple as changing the active partition, remember to set it back when done.. There is no need to uninstall GRUB.

Note on Linux fdisk: It toggles the active flag for a partition entry, and may allow you to have more than one active partition. Always double check before writing.

 

Linux FakeRaid

Many motherboards offer RAID features, and there can be reasons for using motherboard RAID instead of using Linux raid. One such reason could be a desire to run Windows from s stripe. While Windows does support software RAID, it does not support having C:\WINDOWS accessed through a device driver, which must be fetched from C:\WINDOWS. So the only way of having Windows to boot off a striped volume (which can be recommended) is to use hardware raid.

Dual-boot with motherboard RAID

If you configure a computer with two identical drives in a striped raid with the motherboard RAID feature, then you will be able to install Windows on a fast stripe. However - you are bound by this choice when you subsequently install Linux on the computer. You must install Linux on the device presented by the motherboard RAID, even though Linux can identify the individual disks.

The RAID features offered by the motherboard is known as FakeRaid in the Linux world. Linux installers may not be able to install the boot loader on such a fake raid device. If they don't, then they do install Linux, just not the boot loader. You will have to do that yourself.

Identify the FakeRaid in Linux

If you boot off a rescue dvd, then the kernel may not have loaded the motherboard raid features. Try

# fdisk -l 

to see what is displayed. If only the individual disks are displayed, then the driver is not loaded. Load it

# insmod dm_mod
# dmraid -ay

and then do a fdisk -l again. You may get more information than you want, just notice that things have changed. Then try something like

# fdisk  -l /dev/mapper/nvidia_dfhaggbb

and you should see the expected partition table. The name in /dev/mapper/.... depends on the motherboard chipset and driver details.

The conclusion now is that the device name for the motherboard RAID has been identified. This is the device name that GRUB must use.

Installing GRUB on the motherboard RAID

The install program has written the correct grub configuration files. All there is to do is to install grub by telling it where those files are. In this example, there is a Windows 7 installation taking up the first two primary partitions on the disk. The third is an extended partition covering the rest of the disk. This extended partition contains three partitions:

5 : Swap
6 : Root
7 : Data (large)

The devices names are /dev/mapper/nvidia_xxxx_part5 for the swap partition and so on. The root partition is partition 6. You can mount it and see that it is the correct one, if you want to double check. When done, start grub, and note that grub numbers differ from partition table numbers by one. The root partition (_part6) is (hd0,5).

# grub
grub> device (hd0) /dev/mapper/nvidia_dfhaggbb
grub> root (hd0,5)
grub> setup (hd0)
grub> quit

and then you are done if no error messages are displayed. Reboot and enjoy the bootloader!