Sometimes installing Windows can be a truly challenging problem. For example, if you need to install Windows XP (because it’s an old hardware uncapable of running something better), and you need to install operating system to the SATA HDD in AHCI mode or to the RAID controller (with appropriate F6 floppy drivers), but you have neither CD/DVD nor floppy drive available, just USB ports!
Using the power of FlashBoot, you can solve even this challenge. This article explains step by step, how to install Windows XP with builtin F6 floppy drivers for AHCI/RAID disk using USB thumbdrive only.
Contents |
|
1. What is AHCI/RAID drivers? Who needs them?
Hard Disks (HDD) and Solid State Disks (SSD) are connected to the computer via controller
(a chip on the motherboard). Modern disks have Serial ATA
(SATA) interface, old generation of disks had ATA
interface.
SATA controller can work in two modes: ATA-compatible mode (i.e. look like ATA contoller to
operating system), or AHCI mode (new mode which enables all features of modern hardware.
From the operating system’s perspective, disk contoller operates either in ATA mode
(old ATA contollers + new SATA controllers in ATA-compatible mode) or in AHCI mode
(new SATA controllers in AHCI mode).
If you have SATA disk attached to disk controller in AHCI mode, you need special
driver from motherboard vendor in order to make it work in Windows XP.
If you are using ATA disk or your SATA contoller is in ATA-compatible mode, then you don’t
need any special driver — Windows XP already includes one.
RAID driver is requred when you combine multiple disks into redundant array (so if one of them
fails, another one persists; or to gain additional speed). Likewise AHCI, operating system
can’t handle such situation by default, «out of the box», and requires special assistance
from you for that case — in the form of driver.
2. What’s F6 floppy drivers for Windows XP installation?
How do they differ from normal Windows drivers?
Usually Windows drivers can be installed when installation of the Windows itself is complete.
This way works great for 3D video card drivers, sound drivers, network drivers etc.
But it doen’t work for disk drivers. Why?
The reason this way doesn’t work for disk drivers is because Windows must have access
to the disk all the time during installation. Temparary disability to use 3D graphics,
sound and network during Windows installation is acceptable, but disability to use
hard disk (even temporary disability) makes Windows installation effectively impossible.
So, unlike other types of drivers, disk drivers must be installed not after Windows
installation, but along with it. But how?
Windows provides special mechanism for that purpose: loading drivers during Windows Setup,
when Windows Setup had not yet loaded Windows Kernel, and operating in Text Mode. What’s why
these drivers are officially called «Text-Mode Drivers», but people usually search for
them in Google as «F6 Floppy Drivers», so I prefer to call them that way.
Back to the subject. How do there drivers differ? What’s special about Text Mode Drivers?
They are loaded into memory before Windows Kernel, so there are no USB drivers loaded yet
at that stage, no CD-ROM drivers, no bus drivers, nothing at all. The only type of disks
which are readable at that time are BIOS disks. And BIOS by default provides access to HDD
and FDD (floppy disks). Nothing more. As a special exception, CD/DVD and USB drives may be
accessible too, but only if computer is booting from them right now. Otherwise, only HDD
and FDD are accessible.
For that reason, Windows must load Text Mode Drivers from floppy. Everything else is
inaccessible under BIOS.
3. What should I do if I don’t have floppy disk drive, but I must use F6 floppy drivers?
First of all, you can try to disable AHCI mode in your BIOS setup and turn your SATA
disk controller into ATA compatible mode. Unfortunately, for some notebooks there’s no
such option in their BIOS setup. Also, AHCI mode is modern, thus better than ATA in terms
of speed (NCQ) and features (for example, hotplugging).
The rest of this article assumes that you have to install Windows XP on SATA disk
plugged via SATA controller configured in AHCI mode, or via RAID contoller.
Because floppy does not exist, HDD is uninitialized, and everything else is just unavailable
in Text-Mode Setup under BIOS, the only way to go is to add AHCI/RAID drivers to
Windows Installation CD itself.
Windows already contains hundreeds of drivers for wide range of supported hardware, but not for
everything, unfortunately. For example, Windows has builtin support for ATA disk
controllers (see figure above in this article).
So, all you need is just to add (intergrate) your particular driver to the long
list of «default» drivers.
4. How to integrate F6 AHCI/RAID drivers into Windows XP installation disk / ISO file?
There’s a special software for that purpose called nLite. nLite could be downloaded from
official website https://www.nliteos.com/download.html,
also here is a local copy (v.1.4.9.1).
Step-by-step guide follows:
1) Copy contents of your Windows XP Installation CD into the new folder and call it «WinXP».
2) Download F6 floppy drivers from website of your motherboard vendor, notebook vendor
or chipset (south bridge) vendor.
3) Extract F6 floppy files from archive file to separate folder. If your vendor provides
self-extracting archive in the form of EXE file only, which requires actual floppy
disk drive to be present, and you have none, then you can work around with Virtual
Floppy Driver (VFD, Windows XP 32-bit only)
or virtual machine like VirtualBox or VMWare.
4) Run NLite and choose «Next»:
5) Choose Windows input/temporary folder («WinXP» in this example) and click «Next»:
6) You’ll come to «Presets». Ignore this screen by choosing «Next» one more time:
7) In «Task Selection» screen, select «Drivers» and «Bootable ISO» by pressing
corresponding buttons. Then click «Next»:
Choose «Insert» → «Single driver»:
9) Navigate to previously extracted floppy files (step 3) and choose one of the files
(«iaahci.inf» in this example):
10) You may see this screen if your INF/SYS files are for multiple devices.
Choose your device from the list.
If your INF/SYS files are for single device, you won’t see this screen.
11) Click «Next» to confirm the driver list:
12) Say «Yes» in «Do you want to start the process?» dialog. Wait for process completion.
When it finishes, click «Next»:
13) Set «Mode» to «Create Image», then click «Make ISO» and choose where to save the
output ISO file. Then wait for completion and click «Next»:
14) This is a last page. Click «Finish» to exit wizard.
5. How to install Windows XP from customized ISO file with F6 AHCI/RAID drivers if I don’t have DVD drive?
Use FlashBoot to convert
customized ISO file into bootable USB thumbdrive. The process is explained in detail
in this article.
6. Troubleshooting
If you have problems integrating SATA/AHCI drivers into Windows XP, read this section.
Q: Which operating systems are supported/recommended?
A: None of pre-Windows 2000 (Windows 3.11, Windows 95/98 and Windows ME). Windows 2000 may work
with some Intel drivers. It’s recommended to use Windows XP (32/64bit) or Windows Server
2003 (32/64bit), depending on availability of Text Mode Drivers from the vendor of your
SATA/RAID controller.
Q: Do I need to tweak anything in BIOS setup?
A: Yes, you need to enable AHCI mode for your SATA controller, or optionally enable RAID features.
Sometimes BIOSes have shortage of low memory address space for all installed cards
and onboard controllers, so if it doesn’t work maybe you need to disable something else
in your BIOS setup to gain free space in low memory for ROM BIOS code of your RAID controller.
Q: It’s still not detected.
A: Some motherboards have multiple SATA controllers. For example Intel X58-based ASUS P6T
has SATA controller in southbridge Intel ICH10R and also JMicron JMB363 as a separate
onboard chip. Please make sure you’ve attached your harddisk(s) to the same controller
you are installing drivers for. Consult your mainboard manual if you are unsure about that.
Q: nLite or Windows Setup is giving me some weird errors.
A: Please use clean, unmodified images of Microsoft Windows XP as input to nLite.
Q: Any other ideas why it might not work?
A1: BIOS bugs. Try to reflash your BIOS to the latest version.
A2: Maybe you are intermixing 32-bit/64-bit drivers and operating system of different bitness.
A3: Make sure your copy Windows XP has at least Service Pack 2 integrated.
A4: The Power Management (ACPI) should be enabled in BIOS setup.
Q: I have troubles guessing correct answer on the step 10.
A: You can choose them all by holding Ctrl and clicking all of them one after another
(don’t hold Ctrl while scrolling). Windows Setup will find and install the
correct driver automatically.
-
Hi! I want to install a USB floppy drive on a WinXP computer that has no working floppy drive. How do I do this? Can I just buy any USB floppy drive and get it to work? Or do I need to download a driver? If the latter, where can I get the driver? I haven’t bought the drive yet.
-
As seen here, XP should just recognize the device and, if necessary, automatically install any necessary drivers. That’s because being USB, it should be «Plug and Play».
-
Thank you!
-
Now, of course, you need to keep your fingers crossed that the data on your floppy disks is still viable. Data stored on that type magnetic storage media does not last forever. The magnetic strength of the charged particles degrade, and there is «bleed-over» issues where magnetic charges in one track interferes with adjacent tracks eventually corrupting the data.
Good luck!
-
Thank you for your concern.
-
Any USB drive should work fine. Like was said, it should be plug and play with XP or above.
I just recently purchased a USB floppy drive to recover some word files off some old floppy disks. Some of them are almost 20 years old. Out of 10, only one had an issue being read . . . even it was finally readable the 2nd time I inserted it in the drive. On one of the oldest there was one file that could not be read and I have no idea what kind of file it even is. If they were stored properly, the majority of your floppy disks should be fine.
-
plodr
Major Geek Super ExtraordinaireI suggest you store the files on a couple USB stick. Start getting rid of those old floppy disks.
My husband was a diehard floppy disk user. We have 3 USB floppy disk drives that used to be connected to his 3 computers (Win 2K, XP and 7). Thankfully we moved his files to four USB sticks. (We always keep at least 2 copies of files on different hardware). Two sticks have some files and the other two sticks have other files. It is also so much easier to store lots of files than having boxes and boxes of floppies. His files change too often for it to be practical to burn to a CD.
My old floppy files were moved to an old Western Digital 80GB external hard drive. Then I formatted the floppies and started recycling them. Most of the files are from the 9x days but sentimentality keeps me from deleting them. I’ll never use them, I just like to view the titles.
-
This is smart. While USB sticks/flash drives are more robust (with much greater capacities) than floppies, they are not really intended as long term archival storage devices. They are too easily lost, stepped on, or even zapped by ESD when sliding into and out of pockets. I do not recommend them as backup devices — only temporary storage devices.
-
I use flash drives all the time too. I am just saying for archival purposes, there are better, more robust options.
-
plodr
Major Geek Super ExtraordinaireWe keep our sticks in a case. We currently have 9 of these cases.
I also use a 6″ cord to insert USB sticks.
Downloads All In One Tweaks
\ Android
\ Anti-Malware
\ Anti-Virus
\ Appearance
\ Backup
\ Browsers
\ CD\DVD\Blu-Ray
\ Covert Ops
\ Drive Utilities
\ Drivers
\ Graphics
\ Internet Tools
\ Multimedia
\ Networking
\ Office Tools
\ PC Games
\ System Tools
\ Mac/Apple/Ipad Downloads
Other News:
Top Downloads
\ News (Tech)
\ Off Base (Other Websites News)
\ Way Off Base (Offbeat Stories and Pics)
Social:
Facebook
\ YouTube
\ Twitter
\ Tumblr
\ Pintrest
\ RSS Feeds
Aug
15
2011
One day i needed to install Windows XP on a laptop with Intel SATA AHCI enabled. I failed integrating the drivers with nLite (it’s because i used a SP3 version, instead of XP SP2 – but this is another story).
It appears that Windows XP doesn’t “support” my USB Floppy during it’s install. Yes, it sees the SATA drivers from the diskette but it fails to read them in order to transfer the file on the drive, during SETUP.
Details about my USB Floppy drive :
Freecom USB Floppy Disk
NEC Corporation
PN : 1354-508086-113-0
UF00002 rev.A
Plugging the USB floppy drive in a working system we see this in device manager :
USB\VID_0409&PID_0040\5&1ab67ec&0&1
Resolution : we need to edit a file from Windows install CD.
Edit TXTSETUP.SIF
ADD after “USB\VID_0644&PID_0000” = usbstor
this :
USB\VID_0409&PID_0040 = “usbstor”
Burn the ISO with the modified file and you’re done.
I found in my usbstor.inf following entries:
[Generic]
%GenericBulkOnly.DeviceDesc%=USBSTOR_BULK, USB\Class_08&SubClass_02&Prot_50
%GenericBulkOnly.DeviceDesc%=USBSTOR_BULK, USB\Class_08&SubClass_05&Prot_50
%GenericBulkOnly.DeviceDesc%=USBSTOR_BULK, USB\Class_08&SubClass_06&Prot_50
[Mitsumi]
%USB\VID_03EE&PID_0000.DeviceDesc%=USBSTOR_CBI, USB\VID_03EE&PID_0000
%USB\VID_03EE&PID_6901.DeviceDesc%=USBSTOR_CBI, USB\VID_03EE&PID_6901
[HP]
%USB\VID_03F0&PID_0107.DeviceDesc%=USBSTOR_BULK, USB\VID_03F0&PID_0107
%USB\VID_03F0&PID_2001.DeviceDesc%=USBSTOR_CBI, USB\VID_03F0&PID_2001
%USB\VID_03F0&PID_4002.DeviceDesc%=USBSTOR_BULK, USB\VID_03F0&PID_4002
%USB\VID_03F0&PID_6102.DeviceDesc%=USBSTOR_BULK, USB\VID_03F0&PID_6102
[NEC]
%USB\VID_0409&PID_002C.DeviceDesc%=USBSTOR_BULK, USB\VID_0409&PID_002C
%USB\VID_0409&PID_0040.DeviceDesc%=USBSTOR_CBI, USB\VID_0409&PID_0040
[sMSC]
%USB\VID_0424&PID_0FDC.DeviceDesc%=USBSTOR_CBI, USB\VID_0424&PID_0FDC
[iBM]
%USB\VID_04B3&PID_4427.DeviceDesc%=USBSTOR_BULK, USB\VID_04B3&PID_4427
[iOData]
%USB\VID_04BB&PID_0301.DeviceDesc%=USBSTOR_CBI, USB\VID_04BB&PID_0301
[FujiFilm]
%USB\VID_04CB&PID_0100.DeviceDesc%=USBSTOR_CBI, USB\VID_04CB&PID_0100
[scanLogic]
%USB\VID_04CE&PID_0002.DeviceDesc%=USBSTOR_BULK, USB\VID_04CE&PID_0002
[Panasonic]
%USB\VID_04DA&PID_0B01.DeviceDesc%=USBSTOR_CBI, USB\VID_04DA&PID_0B01
%USB\VID_04DA&PID_1B00.DeviceDesc%=USBSTOR_CB, USB\VID_04DA&PID_1B00
%USB\VID_04DA&PID_0B03.DeviceDesc%=USBSTOR_BULK, USB\VID_04DA&PID_0B03
[sCM]
%USB\VID_04E6&PID_0001.DeviceDesc%=USBSTOR_CB, USB\VID_04E6&PID_0001
%USB\VID_04E6&PID_0002.DeviceDesc%=USBSTOR_BULK, USB\VID_04E6&PID_0002
%USB\VID_04E6&PID_000A.DeviceDesc%=USBSTOR_BULK, USB\VID_04E6&PID_000A
%USB\VID_04E6&PID_0101.DeviceDesc%=USBSTOR_BULK, USB\VID_04E6&PID_0101
[sony]
%USB\VID_054C&PID_0022.DeviceDesc%=USBSTOR_BULK, USB\VID_054C&PID_0022
%USB\VID_054C&PID_0023.DeviceDesc%=USBSTOR_CB, USB\VID_054C&PID_0023
%USB\VID_054C&PID_0024.DeviceDesc%=USBSTOR_CB, USB\VID_054C&PID_0024
%USB\VID_054C&PID_0025.DeviceDesc%=USBSTOR_CB, USB\VID_054C&PID_0025
%USB\VID_054C&PID_002C.DeviceDesc%=USBSTOR_CBI, USB\VID_054C&PID_002C
%USB\VID_054C&PID_0032.DeviceDesc%=USBSTOR_CBI_NR, USB\VID_054C&PID_0032
%USB\VID_054C&PID_0037.DeviceDesc%=USBSTOR_CBI, USB\VID_054C&PID_0037
%USB\VID_054C&PID_0046.DeviceDesc%=USBSTOR_CBI, USB\VID_054C&PID_0046
%USB\VID_054C&PID_004A.DeviceDesc%=USBSTOR_CBI, USB\VID_054C&PID_004A
%USB\VID_054C&PID_0056.DeviceDesc%=USBSTOR_CBI_NR, USB\VID_054C&PID_0056
%USB\VID_054C&PID_0058.DeviceDesc%=USBSTOR_CBI, USB\VID_054C&PID_0058
%USB\VID_054C&PID_0069.DeviceDesc%=USBSTOR_CBI_NR, USB\VID_054C&PID_0069
[YEData]
%USB\VID_057B&PID_0000.DeviceDesc%=USBSTOR_CBI, USB\VID_057B&PID_0000
%USB\VID_057B&PID_0001.DeviceDesc%=USBSTOR_CBI, USB\VID_057B&PID_0001
%USB\VID_057B&PID_0010.DeviceDesc%=USBSTOR_BULK, USB\VID_057B&PID_0010
[iomega]
%USB\VID_059B&PID_0001.DeviceDesc%=USBSTOR_BULK, USB\VID_059B&PID_0001
%USB\VID_059B&PID_0030.DeviceDesc%=USBSTOR_BULK, USB\VID_059B&PID_0030
%USB\VID_059B&PID_0031.DeviceDesc%=USBSTOR_BULK, USB\VID_059B&PID_0031
%USB\VID_059B&PID_0032.DeviceDesc%=USBSTOR_BULK, USB\VID_059B&PID_0032
%USB\VID_059B&PID_0060.DeviceDesc%=USBSTOR_BULK, USB\VID_059B&PID_0060
[LaCie]
%USB\VID_059F&PID_A601.DeviceDesc%=USBSTOR_CB, USB\VID_059F&PID_A601
%USB\VID_059F&PID_A602.DeviceDesc%=USBSTOR_CB, USB\VID_059F&PID_A602
[TEAC]
%USB\VID_0644&PID_0000.DeviceDesc%=USBSTOR_CBI, USB\VID_0644&PID_0000
%USB\VID_0644&PID_1000.DeviceDesc%=USBSTOR_BULK, USB\VID_0644&PID_1000
[Hagiwara]
%USB\VID_0693&PID_0002.DeviceDesc%=USBSTOR_BULK, USB\VID_0693&PID_0002
%USB\VID_0693&PID_0003.DeviceDesc%=USBSTOR_BULK, USB\VID_0693&PID_0003
%USB\VID_0693&PID_0005.DeviceDesc%=USBSTOR_BULK, USB\VID_0693&PID_0005
%USB\VID_0693&PID_0006.DeviceDesc%=USBSTOR_BULK, USB\VID_0693&PID_0006
%USB\VID_0693&PID_0007&MI_00.DeviceDesc%=USBSTOR_BULK, USB\VID_0693&PID_0007&MI_00
%USB\VID_0693&PID_000A.DeviceDesc%=USBSTOR_BULK, USB\VID_0693&PID_000A
[imation]
%USB\VID_0718&PID_0002.DeviceDesc%=USBSTOR_BULK, USB\VID_0718&PID_0002
%USB\VID_0718&PID_0003&MI_00.DeviceDesc%=USBSTOR_BULK, USB\VID_0718&PID_0003&MI_00
[sanDisk]
%USB\VID_0781&PID_0001.DeviceDesc%=USBSTOR_CB, USB\VID_0781&PID_0001
%USB\VID_0781&PID_0002&MI_00.DeviceDesc%=USBSTOR_BULK, USB\VID_0781&PID_0002&MI_00
%USB\VID_0781&PID_0100.DeviceDesc%=USBSTOR_CB, USB\VID_0781&PID_0100
[Casio]
%USB\VID_07CF&PID_1001.DeviceDesc%=QV2KUX, USB\VID_07CF&PID_1001
[DioGraphy]
%USB\VID_0892&PID_0101.DeviceDesc%=USBSTOR_BULK, USB\VID_0892&PID_0101
[M-Sys]
%USB\VID_08EC&PID_0010.DeviceDesc%=USBSTOR_BULK, USB\VID_08EC&PID_0010
[Addonics]
%USB\VID_0BF6&PID_1234.DeviceDesc%=USBSTOR_BULK, USB\VID_0BF6&PID_1234
%USB\VID_0BF6&PID_0103.DeviceDesc%=USBSTOR_BULK, USB\VID_0BF6&PID_0103
[OnSpec]
%USB\VID_55AA&PID_0102.DeviceDesc%=USBSTOR_BULK, USB\VID_55AA&PID_0102
%USB\VID_55AA&PID_0103.DeviceDesc%=USBSTOR_BULK, USB\VID_55AA&PID_0103
%USB\VID_55AA&PID_1234.DeviceDesc%=USBSTOR_BULK, USB\VID_55AA&PID_1234
%USB\VID_55AA&PID_B004.DeviceDesc%=USBSTOR_BULK, USB\VID_55AA&PID_B004
%USB\VID_55AA&PID_B200&MI_00.DeviceDesc%=USBSTOR_BULK, USB\VID_55AA&PID_B200&MI_00
%USB\VID_55AA&PID_B204&MI_00.DeviceDesc%=USBSTOR_BULK, USB\VID_55AA&PID_B204&MI_00
%USB\VID_55AA&PID_B207&MI_00.DeviceDesc%=USBSTOR_BULK, USB\VID_55AA&PID_B207&MI_00
Is this possible to add this also in txtsetup.sif and/or dosnet.inf if needed?
Example:
Add following lines under section:
[HardwareIdsDatabase]
…
I don’t know the correct syntax to implement this, maybe someone else has better knowledge to add those extra usb-floppy devices?
Greets from Belgium!
usbstor.inf
Edited by Cobravox