Problem: When booting Windows Vista or 7 from an NVRAID controller after configuring a RAID array, the OS will not boot unless the windows installation disk is booted first.
Description & Fix:
windows finds a harddrive, enumerates the volumes on those drives (C:, D: E:, etc), then enumerates the next harddrive, and repeats. The order Windows finds harddrives in is based on the motherboard being used, on the M2n-SLI Deluxe it enumerates (assuming this from reading not experimentation) SATA1-6 then the JMICRO internal then external Sata then the EIDE port. Ports in RAID mode are counted together as a single disk.
If, during windows setup, you install windows onto a different volume than C: (meaning during the setup screens you see a bunch of partitioned and unpartitoned volumes and the volume you are installing onto isn't the first on that list), the windows boot configuration manager will point winload.exe to a non-c: drive and assumes that volume is booting first/is mounting first, thus the error and the reason why booting off an optical drive and letting windows setup timeout works because the boot manager on the dvd is being executed and not the one on the drive.
The hard, non-technical fix is to either setup your RAID array on SATA1&2 or unplug all other drives then install windows 7 onto just the drive or raid volume you want. This will keep windows from seeing more boot volumes than it should.
The easy, technical fix is to edit the Boot Configuration Data via BCDEDIT.exe or a GUI based BCD Editor.
Background:
The Asus M2n SLI Deluxe has two Raid controllers; a JMICRON SB686 controller off an X1 PCIE port to do e-sata and a connector on the motherboard, and the native NVRAID via the MCP55/Nforce5 southbridge available via the Mediashield menu's. Either controller can be used for RAID across all the drives, however, the JMICRON controller is ganged to the MCP55 southbridge; the NVRAID controller is faster as it is located directly on the southbridge and isn't bottlenecked by an x1 pci connection.
When Windows starts searching for drives it does it in the order of ports from first to last, defined by the motherboard. The motherboard enumerates drives based on boot order; SATA ports 1-6, then the JMICRON Controller, then EIDE.
For example, the setup I was attempting:
SATA PORT 1&2: Stripe off 2X64GB SSD
SATA PORT 3: Optical Drive.
SATA PORT 4: 1TB Single HDD
SATA PORT 5&6: Mirror off 2X1TB HDD
EIDE PORT: 250GB HDD.
As the SSD Mirror hadn't been formatted, It enumerated partitons on the 1TB disk first thus my boot configuration data pointed to the D: Volume; since I was booting off the Mirror it didn't have a D: to boot off of and failed.