Warning About Installing Windows on AHCI-enabled Controllers

Status
Not open for further replies.

basspig

Distinguished
Aug 7, 2007
73
0
18,640
I'm building a second system based on the components I built on two weeks ago, which include Gigabyte GA-P35-DQ6 and a pair of WD 500GB SATA drives, to name the affected components.

This time, based on reading that Windows 2000/XP is supposedly AHCI-capable, I went ahead and enabled it in the BIOS from the start of things after basic system check before installing an OS.

Windows Setup was doing its thing, that is, until I selected a drive to partition. At that point Setup terminated with the error "unable to find any drives". No problem, so I thought. I'll just disable AHCI and restart installation.

That's when my troubles began... The very next time I tried to boot the system, it would hang at "verifying DMI pool data" and >ASCI 127 characters would appear in random places on the screen.

I Googled the problem and read everything from bad floppy drives to bad hard drives to bad motherboard. Oh boy... I contemplatedd the possibility of an "infant mortality" failure and the prospect of an RMA.

Not being one to give up easily, I disconnected any hardware that wasn't required for BIOS POST. That included the hard drives. As soon as BOTH hard drives were disconnected, the system would POST and get past the DMI pool message and then complain about no disc. Now we're getting somewhere, I thought.

Next step was to reconnect one drive at a time and see which drive "failed". After exhaustive testing and rebooting with one and then the other drive, the problem persisted. Could BOTH drives have failed at the same time? Unlikely, I thought.

So I continue troubleshooting. Now I'm thinking it's either a bad motherboard or a power supply issue. So I moved the drives from the Gigabyte controller to the Intel controller connectors and rebooted. Once again, the problem persisted. Hmmm.. now what are the odds both controller chips are bad? Very slim.

After that, I figured it HAD to be a power problem, so I got out my DVM and measured 4.95, 12.04 and 3.29 volts on the red, yellow and orange wires going to the drives. Power's good--very much dead on spec.

So I Google some more, and finally run across something to do with corrupt master boot records. Some folks were fixing the hang on DMI pool with FDISK /MBR, from a DOS boot floppy.

So I tried it. With both drives connected. Then I rebooted. I got a slightly different hang--different "junk" characters displayed than usual. So I disconnected the second drive and rebooted. Now it booted into Windows setup. Ahah! That means I need to have only ONE disc in the system when I fix MBR. FDISK can't select which drive to fix, so the key is to have only one drive in the system. So I unplugged the first drive and ran FDISK /MBR again. Then I found I was able to boot into Windows Setup.

Here's what I think happened:

Contrary to what I read on the net, Windows XP setup does not natively understand AHCI protocol, so when it looked for the available drives, it could not find them, but this error was NOT non-destructive. Windows managed to corrupt the MBR on all drives attached to the controller that was in AHCI mode, causing the system to hang during DMI pool verification. The fix was to set up legacy IDE mode and fix the MBR on all attached hard disks, THEN installed Windows.

So if you are setting up a new system with AHCI-capable controllers, DO NOT enable it until you have Windows installed and then your motherboard chipset drivers for AHCI installed. Trying to jump the gun and be too advanced for the situation caused me a two-hour delay in setting up this machine, due to the inexplicable hang. Keep it simple, add the fancy stuff later, AFTER the drivers are installed.
 

basspig

Distinguished
Aug 7, 2007
73
0
18,640
I had suspected there may be an F6 install option for these drivers, but wasn't sure. You pretty much confirmed that it IS possible, with the drivers prepared for Windows Setup.

But you raised another question about the 150/300MB/S interface speed: Let me see if I understand this correctly: you're saying that it's possible that if you installed Windows in legacy IDE mode, that some drives will be stuck in 150MB/S mode, and if you install AHCI drivers during installation, the drives will be set to 300MB/S mode? Is that correct?
If so, then what are the remedies for drives installed in IDE mode, where the AHCI drivers were later installed in Windows after installation?
And which drives are affected? Will drive purchased this summer be capable of auto-switching to the higher speed?
 

SomeJoe7777

Distinguished
Apr 14, 2006
1,081
0
19,280
Your problems had nothing to do with AHCI. Random characters on the screen and hanging during POST is a motherboard problem. You have:

- Corrupted or bad NVRAM/CMOS
- Buggy BIOS
- Electrical/connection problem - improperly seated PCI/PCIe card, bad cable, bad PSU
- Bad RAM

or some combination of the above.

On top of that, you had your drives connected to the JMicron controller, a controller that I've seen nothing but problems with on a number of different SATA drives. The JMicron controller isn't AHCI compatible or capable anyway. AHCI is Intel-chipset specific.

I've set up many systems with AHCI-native drivers during Windows setup using F6, all installed flawlessly. Nothing with AHCI is inherently broken or buggy.

Of course, ANY Windows setup that you do where you want to install Windows to ANY mass storage controller that is not legacy IDE-compatible will require the F6 procedure and a manufacturer-specific driver. This includes AHCI, RAID, SCSI, Fibre Channel, some SATA, and most proprietary controllers.

AHCI does not require any particular feature set or feature support from the hard drive. Any SATA drive can be installed on an AHCI controller - whether it implements SATA150 or SATA300, implements NCQ or not, etc.

There is much confusion with the purpose of the SATA150-force jumper on most SATA300 hard drives. This jumper is there ONLY for compatibility with very old chipsets that don't understand the speed negotiation of a SATA300 drive. In those rare cases (hooking a SATA300 drive to an old VIA or SiS chipset), set the jumper to force SATA150 operation. In all other cases, the jumper is superfluous. Install it if for whatever reason you want the drive to run at SATA150 speeds, remove it if you want SATA300. But the drive will operate properly in either case. Be aware that drives from different manufacturers default this jumper to different states. Western Digital ships their drives with the jumper removed (SATA300). Seagate ships their drives with the jumper installed (SATA150). Hitachi's don't even have a place for the jumper, so their SATA300 drives can't be used on those old chipsets, period.

I don't know where you dug up the FDISK /MBR information, but this had nothing to do with your problem, either. The BIOS put the random characters on the screen and hung way before the MBR was ever even looked at by the BIOS (the very last thing the BIOS does before attempting to boot). It isn't recommended to use FDISK /MBR to fix MBR problems anyway, FDISK installs a very old version of the MBR boot code that can be incompatible with the boot process of Windows XP and Vista under certain conditions.

It is always recommended to only have one hard drive physically installed in the system during Windows setup anyway. Depending on your motherboard BIOS, different drives on different interfaces and different controllers will be ordered in a way that might not correspond to what you want. For example, if you have a Raptor installed on the Intel SATA controller, a large SATA drive installed on the JMicron controller, and an old IDE drive installed on the IDE controller, you might want Windows to see the Raptor as C:, the large drive as D:, and the IDE drive as E:. But during Windows setup, it will assign drive letters based on the BIOS ordering, which you have no control over. If the BIOS identified IDE devices first, the IDE drive might show up as C: instead of the Raptor. If you subsequently install Windows to the Raptor anyway, your system drive might be drive D: or E: instead of C:. By pulling out all drives except the one you want to install Windows to, that leaves the BIOS no choice but to identify it as C:.
 
Just to add most seagate drives are jumpered to sata 150 by default(to maintain compatibility) and you just remove the jumper for 300.

To be honest, i have not seen any difference with 150 vs 300 since the mechanical drive is still slower then the speed of either interface.
 

russki

Distinguished
Feb 1, 2006
548
0
18,980
Prettymuch whatever supremelaw and SomeJoe said (although I didn't catch the reference to JMicron controller in your original post).

AHCI is a [non-standard] controller feature and thus requires drivers, kinda like RAID. It allows you to do things like hot swap and NCQ that are otherwise unavailable.
 

basspig

Distinguished
Aug 7, 2007
73
0
18,640
This has been a very educational thread. Thanks for all the input.

SomeJoe, I'm convinced that fixing the MBR solved the problems. The system is working again and Windows installed without a hitch. The problem was definately a corrupted MBR.
 

SomeJoe7777

Distinguished
Apr 14, 2006
1,081
0
19,280
It is possible that the MBR was part of the problem. A corrupted MBR can obviously do weird things, although to put random characters on the screen it would have to be really b0rked. :)

Instead of FDISK /MBR, you can use 2 methods to properly fix an MBR:

1. Boot the Windows XP CD-ROM, go to the recovery console, and use the FIXMBR command.

2. Use a zero-overwrite software like Darik's Boot and Nuke or Active@Killdisk, which will erase the existing MBR completely (as well as everything else on the disk). Then install Windows, it will write a new MBR during installation.
 

basspig

Distinguished
Aug 7, 2007
73
0
18,640
Thanks for the suggestion about using recovery console command FIXMBR to fix this properly.

Since the system is working properly now, is there any reason I should do this at this point? We're 36 hours into software installation and network configurations, so I'm leery of messing with the disk volumes at this point. If it ain't broke...
 

SomeJoe7777

Distinguished
Apr 14, 2006
1,081
0
19,280
If the machine is now booting properly, then I wouldn't mess with it either. In all likelihood, when you finally got the Windows installation to work properly, it overwrote FDISK's MBR with it's own anyway.
 

mito

Distinguished
Jan 15, 2002
259
0
18,780
Common problems switching to AHCI under Windows

* Enabling AHCI in a system BIOS will cause a 0x7B Blue Screen of Death STOP error on installations of Windows XP where AHCI/RAID drivers for that system's chipset are not installed. Switching to AHCI mode requires installing new drivers before changing the BIOS settings.
* When attempting to install Microsoft Windows XP or a previous version on an AHCI-enabled system will cause the setup to fail with the error message "set up could not detect hard disk drive...". This problem can only be corrected by using a floppy disk with the appropriate drivers or by slipstreaming the appropriate drivers into the Windows XP installation CD.
* Enabling AHCI in a system BIOS with Windows Vista already installed will result in a BSoD if SATA has been running in IDE mode during Vista's installation. Before enabling AHCI in the BIOS, users must first follow the instructions found at Microsoft Knowledge Base article 922976 (currently unavailable in English, see this workaround using babelfish).
* Enabling AHCI or receiving a system with AHCI enable, will cause EPHD (Encryption Plus Hard Drive from PC Guardian) to error out when attempting to Hibernate out of Windows OS (such as Windows XP). The major aspect of this issue is that it can NOT be changed without reimaging/re-installing the entire system. There may be a root level fix not apparent on new (Circa April 2007) HP Compaq NC8430 laptops.
* Enabling AHCI in a system BIOS on installations of Windows XP or Windows Vista, will cause SATA Optical drives to disappear. A Hotfix for Windows Vista is available. SATA optical drives are not available after you start a Windows Vista-based computer.[2]

http://en.wikipedia.org/wiki/AHCI
 

jonathanlivni

Distinguished
Jan 25, 2007
5
0
18,510
I have a different but seemingly related problem.

Specs:
- Gigabyte GA-965P-DS4 (Rev. 1.0) - with F10 BIOS (currently the latest)
- Three HDDs: Western Digital 250GB - WD2500KS (wanted to RAID, but gave it up...)
- Core2Duo E6700
- Vista Ultimate 32bit

Problem:
I'm trying to install a clean Vista installation, so I delete all partitions, plug all three HDDs to Intel’s SATA ports, and switch on AHCI in the BIOS settings.
I ran the installation, used the "load drivers" option to load Intel’s “F6” drivers, and created a C: partition on the first hard drive. All went well, and Vista loaded. I worked with it a bit, and installed all latest motherboard drivers (chipset, SATA etc…)
AND THEN - I created a new partition on the second drive using Window's Disk Management (4GB, NTFS, full format, label "VistaSwap" - I wanted to put window’s pagefile there), rebooted and - wham, the computer doesn't boot. It gets stuck on the screen where the Intel BIOS recognizes the hard drives (is this called POST?). You guessed it - it gets stuck exactly on the second drive - the one I created the new partition on.
I tried this twice, and both times I got the same problem.
It seems the partition Windows created did something to the drive that caused it not to be recognized correctly by Intel's BIOS.
The only way I found to get out of this mess was to: 1)disconnect the drive 2) change BIOS setting from AHCI to disable 3) reconnect the drive 4) erase all partitions using Windows XP installation CD 5) try again…

Some basic questions:
1) Is there some minimum partition size I'm not aware of? (I thought it's 8MB, and that 4GB is way ok)
2) Should I always create the partitions with another program, and not trust Window's Disk Management? (For instance - Intel's Matrix Storage Manager? I have always used Window's Disk Management in XP, and it worked fine thus far)
3) Is there a way to update the Intel Matrix FW that isn't via a normal BIOS update?

I guess there are other options I didn't think about - Help :)

 

jonathanlivni

Distinguished
Jan 25, 2007
5
0
18,510
Found the problem.
I disconnected my 2nd drive and used my 3rd drive to tryout the "minimum partition size" theory. I started by creating a single partition on the entire drive, which worked great. Then each computer restart, I deleted that partition and created a new and smaller one.
10,000MB worked, but 6,000MB didn't. So as far as I can tell, there's a minimum partition size limit to Intel's 965P chipset, at least in AHCI mode.
btw, if anyone happens to reach this page due to searching for WD2500KS, you'd probably want to read this:
http://www.behardware.com/art/imprimer/624/
 

Zorg

Splendid
May 31, 2004
6,732
0
25,790
Everyone wants AHCI and I can't figure out why. Unless you want RAID, NCQ or hot swap, then there is no reason to set AHCI. Maybe people just want to make things more complicated and aggravating.
Am I missing something here?
 

poprock64

Distinguished
Nov 3, 2003
4
0
18,510
Talking about hot swap..., I have P965-DS4 with external esata HDD enclosure connected to jmicron sata controller port. Controller is set to AHCI mode in bios and the drivers are installed but to my surprise, after I had changed controller mode to IDE in bios, I still had hot plug capability. I thought that hot swap was AHCI mode feature exclusively (at least with jmicron ) but it seems I was wrong. Regards.
 

gwolfman

Distinguished
Jan 31, 2007
782
0
18,980
What you said (original post) isn't all true, it wouldn't corrupt the MBR or anything of the sort. If you searched so much, how come you never came across an article stating that you needed the AHCI specific drivers? Anyways, it's good to see you persisted and tried your best. Don't blame AHCI though if something did go wrong. Vista fixes this by natively supporting AHCI, but vista kinda sucks anyways so it's not really worth it.
 

Zorg

Splendid
May 31, 2004
6,732
0
25,790
No as I said in my post it is only valuable if you need hot swap, RAID or NCQ, none of which you need. Run your drive in native IDE mode, it's easier and has the same performance as AHCI, which apparently no one understands.
 

night_wolf_in

Distinguished
Jan 7, 2007
702
0
18,980

i thought so. n toms's article http://www.tomshardware.com/2007/10/17/parallel_processing/ showed no much difference in working under raid 0. (now i wouldnt know if there is difference in raid 5, or what is raid 10 as if matters). but if raid 0 didnt bring much advantage. why do it.

now now, dont start flaming me. i just said what i thought. n of course, ill read the other replies and c what is right n what is wrong.
 

Zorg

Splendid
May 31, 2004
6,732
0
25,790
You didn't read my post carefully. I didn't get into whether RAID0 was worth it or not. There is no way I would open that can of worms. I specifically said unless you want RAID etc., then there is no reason to go AHCI. I will say that I am no fan of RAID0, due to the increased possibility of data corruption, but that is my opinion and a huge amount of people strongly disagree. That's kind of a personal decision and is better left to a flame war at a later time.
 

Zorg

Splendid
May 31, 2004
6,732
0
25,790
That's cool. When you quote me and start out "I thought so", and then go into all of this RAID0 stuff, I made the assumption that you misread my post.
 

Zorg

Splendid
May 31, 2004
6,732
0
25,790
That's why I stay off of the purple SATA connectors. Stick with the Intel chipstset.

Edit: I thought the current Intel based boards (P series) used the Jmicron controller. I guess the board in question is AMD or other non Intel chipset?
 
Status
Not open for further replies.