Tim’s F6 driver guide
Last updated 19-1-2013.
2010 2 011 2012! 2013, Windows 7 has been out for some time now and very, very few people will actually require the information contained on this page anytime in the future. This means that the full set of knowledge, experience, tips and tricks on this topic is fast fading from the memory of many computer technicians and hobbyists, which is bad news for anybody who does need it. Especially because if you do happen to need it, you probably need it pretty badly.
This page, then, is my effort to concisely document and preserve that information: The procedure and tools necessary to reinstall or repair Windows 2000, XP and the related Server 2000 and 2003 products on non-natively-supported storage controllers, and to provide a few troubleshooting paths for problems that can arise in the course of maintaining such a thing.
Specifically, the information here will be useful to you if you’re in one of the following situations:
- You’re trying to install Windows Professional 2000, Server 2000, XP or Server 2003 on a computer, but the drive you want to install to is on a storage controller (SCSI, AHCI or RAID) that your version of Windows doesn’t natively support.
- You want to run a repair install of Windows XP – or get into the recovery console – on your late-model desktop or laptop, but it was installed by the manufacturer with AHCI turned on and the XP CD you’ve borrowed from someone doesn’t seem to detect the hard drive.
- You’ve previously installed Windows on a computer with the boot drive’s storage controller set to something like “Compatible” or “ATA” mode, but want to enable the RAID controller to set up a RAID array, or want to enable AHCI to take advantage of SATA hotplugging and other features, and simply changing the option in BIOS causes your computer to bluescreen with error 0x7b.
- Your motherboard or your storage controller card has failed, and you need to boot your existing install of Windows on another computer or controller card, but it bluescreens with error 0x7b because Windows isn’t yet used to the new controller.
What F6 drivers are
A fresh installation of Windows will already contain a set of drivers allowing you to use certain hardware – for example, your video card, soundcard or network card – from the moment you’ve logged in for the first time. This can – by definition – only be hardware produced, tested and sold before your particular version of Windows was released. Windows XP is nearly a decade old now; that’s ten years for new standards to be proposed, new interfaces to be introduced and new devices to be produced and sold – Serial ATA, for example, began to appear in home computers in 2003/2004.
This is all well and good for the latest and greatest video cards, the drivers for which can easily be added once Windows is already installed, but if you want to put Windows XP on a disk that it doesn’t already know about, you have to add the driver early on during the setup process. The method for this introduced in Windows 2000 was by putting the driver files on a floppy disk, and pressing F6 during setup to tell Windows it needed to load them before trying to install anywhere.
Plenty of storage hardware would come packaged with a floppy disk prepared with these preinstallation drivers, but this practice has all but disappeared. Many motherboard manufacturers now provide a utility on their system driver CD/DVDs to automatically copy the necessary files to a floppy for you. Most brandnames offer similar utilities for download on their support websites.
Windows 2000 and XP only support adding preinstallation drivers from a floppy disk, introducing numerous complications that I hope to provide various solutions for on this page. Windows Vista and 7 allow you to add drivers from all kinds of media, including CDs, hard drives, floppy drives and USB flash drives, and as of 2009 already support pretty much every storage controller currently out there, but only time can tell us what fanciful hardware we’ll be installing them to in the future.
The general procedure
This shows how to install Windows 2000 or XP using an additional storage driver. It assumes that you know exactly which driver you need, and that you have a working floppy drive in the computer you’re installing on. If you’re missing one of these things, skip ahead to Finding the right driver or Alternative installation methods.
Throughout this example I’ll be using the Intel ICH9M-E/M SATA AHCI driver which is correct for my personal laptop. Obviously you’ll substitute that with whatever driver is appropriate for your own computer.
1. Copy the F6 driver to a floppy disk. A usable F6 driver will be arranged with a txtsetup.oem file in the root folder of the floppy disk, with .inf and .cat files either in the same location or a subfolder.
2. Restart the computer with the floppy disk inserted (you may need to temporarily eject it, if your computer is set to boot from a floppy disk before it tries CD drives), and boot it from the Windows CD.
3. A few moments into setup, it will prompt you at the bottom of the screen to “Press F6 if you need to install a third party SCSI or RAID driver…”. Do this, and then continue setup as normal until it prompts you to specify additional drivers by pressing S.
4. It will read the contents of whatever disk is in the A: drive, and present a list of possible F6 drivers to use. Highlight whichever one is correct for your PC (scroll up/down the list with the arrow keys), hit Enter to select it, and then Enter again to continue Windows setup. For example, my laptop uses the Intel ICH9M-E/M driver.
5. If your computer bluescreens with error 0x7b shortly after selecting a driver, it means you’ve not specified the exact correct driver for your system. For example, Intel’s ICH driver disk image contains multiple drivers for ICH8, 9, 10 etc controllers, and while some of them are named very similarly they are for very different devices; on my laptop for example, if I pick “ICH8M-E/ICH9M-E/PCHM SATA RAID” instead of “ICH9M-E/M SATA AHCI”, it will BSOD 0x7b here.
6. Once you’re at the point of selecting what disk to install Windows to, it will now show disks connected by whatever controller you’ve just added the driver for. With my laptop running in AHCI mode, my disk appears as “iaStor” instead of “atapi”.
7. At this point you’ve successfully added the necessary storage driver and can continue installing Windows. Setup may still need to refer to that floppy disk even through the GUI setup phase, so leave it in there until you’re installed and at the desktop.
Finding the right driver
You need to know exactly what storage controller you have to be able to feed XP the right driver. Unfortunately, if all you have is an XP disc, that can be hard to figure out.
By far the easiest way is to just install Windows Vista or 7 and look in Device Manager, but that’s obviously not a solution for everyone. I’ve experimented with Linux live CDs, and haven’t found one that’s really suited to the purpose and gives enough information to go on.
The most reliable way would be to visit your motherboard or laptop manufacturer’s website (see the links below or on my driver guide) and download the F6 or “preinstallation” driver for your exact hardware. You can use CPU-Z to identify your make and model:
If you’re using an add-in expansion card with a storage controller on it (like a RAID or SCSI card), physically looking at the card should give you an idea of who makes it and what model it is. The following device, for example, is a Tekram DC315-U SCSI card:
Alternative installation methods
USB floppy drives
If the computer you’re trying to install XP on doesn’t have an internal floppy drive and you have no way to install one (especially if it’s a recent laptop), XP supports the use of some USB floppy drives for loading F6 drivers.
Microsoft KB916196 explains that the following three USB floppy drives are compatible:
- USB\VID_03EE&PID_6901 – Mitsumi
- USB\VID_057B&PID_0000 – Y-E Data; Sony part number 09K9835
- USB\VID_0644&PID_0000 – TEAC; IBM option part number 27L4226, FRU 05K9283
This is an example of a compatible Mitsumi drive. It was a generic, brandless USB floppy drive that we ordered a couple of at work a long time ago, and appropriated one for workshop use after I realised its value.
If you’re shopping for a USB floppy drive on eBay, I suggest searching for “09K9835″ or “05K9283″; as I write this there are several matching IBM drives for sale, even in Australia, that would work. You could also try just buying any drive that looks similar to the Mitsumi one pictured above, and hope for the best.
If you’re looking in retail shops, take a laptop along and ask if you can plug the drive into it briefly, just to poke it in Device Manager to confirm that it’s a compatible one and will do what you need before you pay for it.
Microsoft state that all other drives are not usable, as they are “not included in the Txtsetup.sif file”.
The two devices photographed here – a Dell-branded, Sony-designed USB floppy drive built to fit older Dell Inspiron laptops, and an HP USB Floppy Drive Key – are not supported by default. This is a bit of a shame, as I’d actually bought the HP drive specifically to do this with it, and it would’ve been perfect for the job.
(Windows Vista and 7 are, by the way, perfectly happy to copy storage drivers off these two devices, should you happen to have a USB floppy drive but not a USB flash drive at hand.)
If you try to use an unsupported USB drive during setup, it’ll act the same as if you had no floppy drive at all – it’ll dumbly ask you to put the disk in drive A:\ and refuse to go further. If it seems like it’s not even trying to read the disk, your drive might not be compatible.
I’ve done some experimenting, and it turns out it’s possible – if a bit tedious – to trick XP into supporting any old USB floppy drive, by way of modifying one text file on the XP installation CD.
The basic procedure:
- Save an image of your XP cd to your hard drive – ImgBurn will do this
- Extract the txtsetup.sif file (it’s in /i386)
- Edit it in Notepad to add a line with your device’s vendor and device IDs – see the above screenshot for the highlighted line I added to support my Sony drive
- Save your changes back to the txtsetup.sif file
- Burn the modified ISO file back to CD.
Restart, boot off your newly burned CD, and voila – you can now use your previously forbidden USB floppy drive to add F6 drivers during Windows setup.
Here’s a (probably incomplete) list of USB floppy drives that will work with this method:
USB\VID_03F0&PID_2001 – HP
USB\VID_054C&PID_002C – Sony
USB\VID_057B&PID_0001 – Y-E Data
USB\VID_0409&PID_0040 – NEC
USB\VID_0424&PID_0FDC – SMSC
USB\VID_08BD&PID_1100 – Iomega
USB\VID_055D&PID_2020 – Samsung
If you’re using this method on a desktop PC, make sure any option for an internal floppy drive is turned off in BIOS, otherwise Windows will assign the A: drive letter to this nonexistent drive and the USB floppy drive winds up as B:, which precludes you from getting F6 drivers off it.
If the prospect of altering your Windows CD isn’t too daunting, you can also try…
This method involves adding the storage drivers to your Windows CD and installing Windows as if it already had native support for your disk controller. I’ve never personally done this, and it’s been adequately covered elsewhere on the internet. This is the most up-to-date walkthrough I could see when I wrote this – give it a go.
Chances are that if you slipstream the latest Mass Storage DriverPack from here, you’ll add support for your storage controller and be able to install to it without necessarily knowing exactly which one you actually needed.
HFSLIP also looks like a decent bit of software for slipstreaming drivers (and updates and things) into a new install CD of Windows XP.
Modifying an existing install (solving 0x7B)
If you’ve already installed Windows, your options for modifying it to work on new storage hardware are somewhat limited. I’ve thoroughly researched a number of ideas, with some success; read below to see what you can do in your particular situation.
- If you’ve just reflashed, reset or otherwise messed with your BIOS and its settings, and are now getting 0x7B on boot, you may just need to change your SATA or RAID setting. Turning AHCI or RAID on or off without being ready with the new drivers will give XP a shock.
- Performing a repair install of XP with the additional F6 drivers is the simplest method by far. I have tested this to work flawlessly on my own laptop, with essentially a fresh install of XP Pro to experiment with. Remember to have your XP product key somewhere handy, because you’ll have to re-enter it and reactivate Windows within 30 days if you do this.
- Simply installing the drivers before changing the controller/turning AHCI doesn’t seem to work. On my laptop running XP in ATA mode, the Intel Storage Manager software said my computer didn’t meet the minimum requirements for the software. According to Intel, enabling AHCI or RAID on a drive already containing XP is “not recommended or supported”.
- If you’re merely changing between standard ATA-compatible controllers that XP already supports and you get an 0x7b BSOD, this procedure from Microsoft will restore full support for all of XP’s natively compatible controllers, not just the one used in the original installation. Note that this won’t help you if you’re moving to a set of hardware that requires F6 drivers at all, or enabling SATA AHCI/RAID modes. It also requires that you’re able to access the registry of the XP install in question – there is a tool to automagically follow the procedure for you on UBCD, a walkthrough for which is here.
- There is a feature of ShadowProtect called Hardware Independent Restore (HIR) which is capable of examining an existing installation of Windows and modifying it to run on a new set of hardware. It is ridiculously overpowered for this purpose (it’s capable of moving full server software installations and licencing to new hardware, not just mess about with storage controller drivers), but I’ve had to rely on it once or twice at work and it’s generally always worked. The software itself is quite expensive, but you can sign up to download a full-featured 30 day trial.
- This registry hack is reported to work for enabling AHCI/RAID on computers with Intel ICH8R, ICH9R and ICH10R controllers.
Some unusual problems
There are tons of other potential gotchas when using various storage controllers. Some of the ones I’ve encountered are:
- Not all SATA controllers support AHCI and hotplugging or RAID or other unusual features, so make sure you know exactly what a particular controller is capable of before you buy something with it or attempt something irreversible with your own PC. Physically unplugging a drive that doesn’t support that can hang the controller itself or the entire computer.
- Windows XP still requires drivers for some early SATA controllers even if you set them to IDE mode. If the shiny new SATA drive isn’t showing up in your dusty old P4 box, check the board manufacturer’s site for an F6 driver.
- Those same early SATA controllers may only support SATA 1.0 drives (1.5GBit/sec), not 2.0 (3GBit/sec) drives. Most SATA 2.0 drives have pins on the back that you can jumper to emulate a SATA 1 drive, which works around that problem.
- Some controllers do not support certain kinds of drives when in RAID mode. Lots of early IDE RAID controllers state somewhere in their BIOS that they only support hard drives and CD drives, excluding for example tape drives and other IDE devices. Some newer controllers, like the AMD SB850, do not support CD drives on RAID-enabled SATA ports – on boards like these, you often have the option of leaving two SATA ports in plain old IDE mode to enable the use of non-hard-drive devices.
- Now that we’re starting to see new computers without parallel ATA support at all, add-in PATA controller cards may become popular means of keeping old IDE DVD drives around. Note that many simple PATA cards, including some RAID cards, do not support booting from CD/DVD drives. They’ll work once Windows is installed and you’ve installed the driver for that particular controller card, but to do the actual install you’ll need a USB or SATA CD drive from somewhere.
- 3TB hard drives are becoming quite common now, and a lot of computers have trouble talking to them (see this article for a good discussion on what you need). Large drives may not be bootable, or may not show up at all even if you have the right F6 driver – the takeaway message here is that the driver may not be the issue. Do the research and make sure your computer will support a particular drive before you buy it.
- In particular, for the longest time, you couldn’t use a 3TB drive in RAID on an Intel ICH10R chipset. The drive would show up in AHCI mode, but would either flat refuse to see the driver at all or only see some of its storage capacity when configured for RAID. That particular problem may have been solved now, but stands as a good example of the kind of issue you may come across.
Windows Vista and 7
Windows Vista and Windows 7 already have native support for pretty much every storage controller available right now, including Intel RAID controllers, so preinstallation drivers really aren’t an issue just now. They also won’t be as problematic in the future as they are currently for 2K/XP/2K3, being that a) manufacturers seem to realise they have to support their customers properly, and b) you can install storage drivers from any mass storage device during setup.
Getting the F6 drivers
What follows is a list of commonly needed F6 drivers for Windows XP/2003 (and in some cases 2000 and/or Vista as well). These are hosted here for the sake of convenience:
- Intel ESB2 and ICH7/8/9/10 SATA AHCI/RAID – 32-bit, 64-bit
- JMicron JMB36x SATA AHCI/RAID (eg. Gigabyte G-RAID) – 32-bit, 64-bit
- Promise FastTrak 376 and 378 IDE RAID controller
- nVidia nForce 9/7/6/5 series 32-bit, 64-bit
- nVidia nForce ION 32-bit, 64-bit
- VIA VT8251, VT8237, VT6410, CX700, VX700, VX800, VX800UT, VX820, VX820UT, VX855 and VX875 SATA controller
If the driver you need isn’t here, you ought to be able to get what you need from the website of your storage controller’s manufacturer:
- Adaptec’s download page
- AMD’s support site
- Intel’s Download Center
- nVidia’s download page
- Promise’s download page
- SIS’s download page
- VIA’s download page
Did this article help you out? Did it not help? Is something here unclear or incomplete? Can it be improved? Only you can tell me, because I’ve done all the research I can from here. If you have something to add, please email me and let me know!