I finally got my hands on the first publically available Windows 7 build from the Microsoft PDC 2008: build 6801. This build is already quite old (build 6933 is available internally at Microsoft). My first impressions: UAC is much more subdued. I was able to install programs and change Windows settings without once getting prompted for elevation. Microsoft now lets you set different levels of UAC: XP demigod style to very restrictive. The networking control panel seems much snappier. The taskbar is disabled in this build, however, if you head over to www.withinwindows.com or chris123nt.com they figured out a way to bring back the feature. Windows 7 looks very promising from this early build.

I ran into a mass storage snafu recently with new RAID controllers on the Dell 390 and T3400 for Windows XP. It seems the days of just specifying vendor and device ids in sysprep.inf are gone. You now have to specific the subsystem id in the device id string as well.

Case in point: I added the Intel ICH8R RAID drivers for the Dell T3400 which uses SATA RAID. When trying to image a T3400, I kept getting a 7B stop error code.

My sysprep statement was:

PCI\VEN_8086&DEV_2822=C:\i\d\dl\t3400\iastor.inf

Various drive modes in the BIOS can be specified such as SATA, RAID and AHCI. Thinking this was an AHCI problem, I added

PCI\VEN_8086&DEV_2922=C:\i\d\dl\390\iaahci.inf

No go. The fun part is that you can look at your old mass storage statements over and over again, yet you will never see the problem. After poking around in TXTSETUP.OEM and the INF files, I found out that you need to specify the subsystem id. For the above statements, that would be:

; SCSI SATA RAID driver for Dell Precision T3400
PCI\VEN_8086&DEV_2822&CC_0104=C:\i\d\dl\t3400\iastor.inf
PCI\VEN_8086&DEV_2922&CC_0106=C:\i\d\dl\t3400\iaahci.inf
PCI\VEN_8086&DEV_2821&CC_0106=C:\i\d\dl\t3400\iaahci.inf

PCI32 doesn’t give the subsystem id unfortunately:

Bus 0 (PCI Express), Device Number 31, Device Function 2
Vendor 8086h Intel Corporation
Device 2822h 80801 (ICH8R/ICH9R) SATA RAID Controller
Command 0007h (I/O Access, Memory Access, BusMaster)
Status 02B0h (Has Capabilities List, Supports 66MHz, Supports Back-To-Back Trans., Medium Timing)
Revision 02h, Header Type 00h, Bus Latency Timer 00h
Self test 00h (Self test not supported)
PCI Class Storage, type RAID
Subsystem ID 02141028h Unknown

Which leaves you with installing Windows XP, feeding the driver to the system and then going to the Device Manager, drilling into the device, clicking on the Details tab and then selecting Hardware IDs to get the device string.

If you don’t want to go through all that hassle, you can just specify all the subsystem ids. With PCI32, you can narrow down the sections you need:

; SCSI SATA RAID driver for Dell Precision 390
PCI\VEN_1000&DEV_0054&SUBSYS_1F041028=C:\i\d\dl\p390\symmpi.inf
PCI\VEN_1000&DEV_0054&SUBSYS_1F061028=C:\i\d\dl\p390\symmpi.inf
PCI\VEN_1000&DEV_0054&SUBSYS_1F071028=C:\i\d\dl\p390\symmpi.inf
PCI\VEN_1000&DEV_0054&SUBSYS_1F081028=C:\i\d\dl\p390\symmpi.inf
PCI\VEN_1000&DEV_0054&SUBSYS_1F091028=C:\i\d\dl\p390\symmpi.inf

Specifying more device ids is probably better then less.

- Soli Deo Gloria