06-04-2015, 10:05 AM
(This post was last modified: 06-04-2015, 10:12 AM by Fractalogic.)
Hi guys!
I hope someone can point me in the right direction with this strange problem. Windows Vista setup program appears to have corrupted or otherwise disabled the AHCI function on my motherboard. The setup has set me up nicely! Well done Microsoft!
TL;DR: How do I get past Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices...?
The motherboard is a Gigabyte GA-X38-DQ6 with F9J BIOS. This is a Beta BIOS but it has been OK for the past year or so. This board actually came with F4 BIOS and I have been using it with F8 for a long time. I did not update the BIOS immediately when I bought it. I have updated to F6 and F7 in the past, and also tested the F9J BIOS before, but decided that F8 is safer because it is not Beta. It's only for the past year that I have been using F9J because I discovered that F8 had bad or no support for booting from USB flash drives with FAT32 (it worked well with NTFS and Windows though, no surprise there). That's as far as BIOS updating goes, and I have never had a serious problem updating it.
Now onto the more pressing matter! So I had Windows 8.1 and Windows 10 installed, with Intel Matrix RAID 0 enabled. But I decided to scratch it and start all over. So I wiped the two 500 GB Seagate SATA drives with Killdisk (for reasons I need not go into now), and decided I would set up a multi boot with Windows Vista, Windows 7, Windows 8.1 and Windows 10, with AHCI this time and not RAID, on one 500 GB disk.
Because I had used Killdisk, both HDDs were wiped clean. So I had to partition and format one of them and then install Windows. I used Diskpart for that.
I received the following error.
I canceled the installation and quit the setup. I even took the time to prepare another USB flash drive with Windows 7 Professional x64 edition. Strangely I got the same type of error with Windows 7 as I did with Windows Vista. I learned on the web that this has to do with BIOS and how Windows setup program reads the storage devices presented by BIOS. The solution was supposedly to change the boot order. So I tried that and it worked... well, maybe not... since I am here now. But the comments I read suggested that this is a problem relating to Windows Vista alone. Well it's not! Like I said, I tested this myself with Windows 7 on USB flash drive. I think I used Windows 7 ISO file for MSDN Academic (DreamSpark), and the USB flash drive model was identical (I have several of these USB 3.0 Kingston drives) so we can rule that out.
I entered the BIOS setup and changed up a few things, as suggested by the info I found on the web.
Change of boot device order from:
To:
I also changed the hard disk boot priority from:
To:
As you can see I had two WD disks connected, but I only use those for storage. I then booted from my USB flash drive again, with F12 key and got into Windows Vista setup program.
I went away from the computer and I thought the problem was over. Bet when I came back I was discouraged to see yet another fricking error on the screen. The setup had bailed out! It just didn't want to install Windows the way I wanted it to.
I clicked OK and it brought me back to the initial setup screen where I have to select language and keyboard layout, basically. (The same is true for the previous error I got. It brings you back so you have to click around again, type in the product key, choose installation type and so on.) When I got back to the disk selection menu, I decided to increase the size of the primary partition. Maybe it needs more space I thought.
I had to sit this one in to see what happens, at what point it gets bad. But I was surprised that the installation passed this time. So maybe it did need more space on that system partition (a.k.a. boot partition)? Well, anyway, it's what happened next that got me really baffled.
There! It just sits on this line! Hanged! Went to motherboard heaven! I really hope not...
Attempting a reboot...
Attempting to enter BIOS setup...
Attempting to enter Q-Flash...
OK, so I realize I am having a minor setback. So I decide the best thing to do is to re-energize all the components and do a cold boot.
OK, so at this point I am starting to realize that I will have to do something drastic. I know! I must clear the CMOS! Right? The standard procedure for most, if not all BIOS related issues. Well read on and see how that worked out for me.
OK, so I thought I would try enabling AHCI at this stage. Or at very least try to get to BIOS setup screen.
Attempting to enter BIOS again...
I did not change a lot. I enabled AHCI for the chipset. I disabled the logo splashscreen and I changed up the boot priority a bit so it matches what I had previously. Save and exit!
OK, so at this stage, I am getting mad about this! So I must remove all disk drives, re-energize, and wipe the CMOS once more, just for good measure.
I encountered this checksum error and it prompted me to select a profile (settings) from a list. I think I selected "last known good".
The reason it failed this time around might be because I may have chosen "last known good" values at the prompt, so it reset my CMOS clearing back to what it was before. I'm not sure how the checksum error happened though. But something is apparently not set right. And what's with the "AHCI BIOS not installed" thing?
So I decided to connect two of the disk drives to see if it can find them.
See! It's detecting for IDE, but then it basically says it's looking for storage devices of the AHCI type. Then says that no devices were found and also says that AHCI BIOS is not installed. This time, it even says that it found 2 devices but it does not continue from that point forward.
OK, at this stage I was ready to do anything just to get this thing working. So I decided to disconnect all SATA disk drives, for safety, and to enable the functionality of BIOS again so I can at least try to flash it. I decided to use the same F9J BIOS image.
I don't know if Q-Flash is supposed to detect USB flash drives, but it did not detect mine. Although it appeared in BIOS setup, under Hard disks, and USB Mass Storage function was enabled. My guess is that Q-Flash only works with floppy drives. Luckily I had a floppy drive. I also discovered that I had BIOS images readily available on floppies, which was great to have in a situation like this! Otherwise I would have had to connect the thing to another computer, prepare a floppy, and connect it back to the patient computer. Jerry rig it! A.k.a doing a MacGyver!
Flashing with F9J BIOS...
Sorry about this long mega thread! My intention is not to bore you guys to death! Besides providing you with a lot of details so you can help me to the best of your ability, this will also serve as documentation for myself. It will also serve as food for the web spiders, for posterity.
Main points and observations:
Is this board toasted now? If not, what would be the best possible action to take in order to fully and completely flush out all the bad settings and set everything back to normal? What could possibly have caused this problem to occur? I mean beside bad Windows setup practice and bad BIOS programming? Please share your thoughts on this.
I am also curious to know where the so called option ROMs and the AHCI BIOS ROM sits physically on the board? Why is it called AHCI BIOS? It's a function of the chipset, is it not? It does not have a BIOS of it's own? In other words a firmware of it's own? How do you flush such a firmware, separately from the main BIOS?
I have not given up on this yet. But I would greatly appreciate if someone could give me some guidance, because I have no experience of BIOS modding, assembly programming and all the low-level stuff. Thanks in advance!
I hope someone can point me in the right direction with this strange problem. Windows Vista setup program appears to have corrupted or otherwise disabled the AHCI function on my motherboard. The setup has set me up nicely! Well done Microsoft!
TL;DR: How do I get past Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices...?
The motherboard is a Gigabyte GA-X38-DQ6 with F9J BIOS. This is a Beta BIOS but it has been OK for the past year or so. This board actually came with F4 BIOS and I have been using it with F8 for a long time. I did not update the BIOS immediately when I bought it. I have updated to F6 and F7 in the past, and also tested the F9J BIOS before, but decided that F8 is safer because it is not Beta. It's only for the past year that I have been using F9J because I discovered that F8 had bad or no support for booting from USB flash drives with FAT32 (it worked well with NTFS and Windows though, no surprise there). That's as far as BIOS updating goes, and I have never had a serious problem updating it.
Now onto the more pressing matter! So I had Windows 8.1 and Windows 10 installed, with Intel Matrix RAID 0 enabled. But I decided to scratch it and start all over. So I wiped the two 500 GB Seagate SATA drives with Killdisk (for reasons I need not go into now), and decided I would set up a multi boot with Windows Vista, Windows 7, Windows 8.1 and Windows 10, with AHCI this time and not RAID, on one 500 GB disk.
- I used Windows Vista ISO and Windows 7 USB/DVD tool to make a bootable Kingston USB flash drive.
- Intel chipset SATA controller used.
- SATA controller set to AHCI in BIOS setup.
- I used F12 boot menu to boot from my USB flash drive.
- Boot from USB flash drive was OK.
- Windows Vista setup loaded without problems.
Because I had used Killdisk, both HDDs were wiped clean. So I had to partition and format one of them and then install Windows. I used Diskpart for that.
- Diskpart started.
- Clean disk command used, for good measure.
- Primary partition, 500 MB created, set to active.
- Extended partition, 40000 MB created.
- Logical partition, 40000 MB created.
- Diskpart closed.
- I refreshed storage device list in installation dialog.
- I chose the newly created logical partition as target.
I received the following error.
Quote:"Windows could not determine if this computer contains a valid system volume."
I canceled the installation and quit the setup. I even took the time to prepare another USB flash drive with Windows 7 Professional x64 edition. Strangely I got the same type of error with Windows 7 as I did with Windows Vista. I learned on the web that this has to do with BIOS and how Windows setup program reads the storage devices presented by BIOS. The solution was supposedly to change the boot order. So I tried that and it worked... well, maybe not... since I am here now. But the comments I read suggested that this is a problem relating to Windows Vista alone. Well it's not! Like I said, I tested this myself with Windows 7 on USB flash drive. I think I used Windows 7 ISO file for MSDN Academic (DreamSpark), and the USB flash drive model was identical (I have several of these USB 3.0 Kingston drives) so we can rule that out.
I entered the BIOS setup and changed up a few things, as suggested by the info I found on the web.
Change of boot device order from:
- Floppy
- Hard disk
- CD-ROM
To:
- Hard disk
- Disabled
- USB-HDD
I also changed the hard disk boot priority from:
- Seagate disk
- Seagate disk
- Kingston USB
- WD disk
- WD disk
- Bootable add-in card
To:
- Seagate disk
- Seagate disk
- WD disk
- WD disk
- Bootable add-in card
- Kingston USB
As you can see I had two WD disks connected, but I only use those for storage. I then booted from my USB flash drive again, with F12 key and got into Windows Vista setup program.
- Diskpart started.
- Clean disk command used.
- Primary partition, 1000 MB created, set to active.
- Extended partition, 40000 MB created.
- Logical partition, 40000 MB created.
- Diskpart closed.
- I refreshed storage device list in installation dialog.
- I chose the newly created logical partition as target.
- Copying files (4%).. Whee!
I went away from the computer and I thought the problem was over. Bet when I came back I was discouraged to see yet another fricking error on the screen. The setup had bailed out! It just didn't want to install Windows the way I wanted it to.
Quote:Windows cannot copy files required for installation. Make sure all files required for installation are available, and restart the installation. Error code 0x80070070
I clicked OK and it brought me back to the initial setup screen where I have to select language and keyboard layout, basically. (The same is true for the previous error I got. It brings you back so you have to click around again, type in the product key, choose installation type and so on.) When I got back to the disk selection menu, I decided to increase the size of the primary partition. Maybe it needs more space I thought.
- Diskpart started.
- Clean disk command used.
- Primary partition, 4000 MB created, set to active.
- Extended partition, 40000 MB created.
- Logical partition, 40000 MB created.
- Diskpart closed.
- I refreshed storage device list in installation dialog.
- I chose the newly created logical partition as target.
- Copying files (100%).. Whee!
- Expanding files (100%)
- Installing features (100%)
- Installing updates (100%)
- Completing installation...
- Windows needs to restart to continue (restarting in 15 seconds)
I had to sit this one in to see what happens, at what point it gets bad. But I was surprised that the installation passed this time. So maybe it did need more space on that system partition (a.k.a. boot partition)? Well, anyway, it's what happened next that got me really baffled.
- Rebooting...
- POST is OK.
- Storage device scan...
- Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices...
There! It just sits on this line! Hanged! Went to motherboard heaven! I really hope not...
Attempting a reboot...
- I press Ctrl+Alt+Del.
- Reboots...
- POST is OK.
- Storage device scan...
- Hangs at Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices...
Attempting to enter BIOS setup...
- I press Ctrl+Alt+Del.
- Reboots...
- POST is OK.
- I press DEL key for setup.
- Prepare to enter Setup...
- Storage device scan....
- Hangs at Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices...
Attempting to enter Q-Flash...
- I press Ctrl+Alt+Del.
- Reboots...
- POST is OK.
- I press END key for Q-Flash.
- Storage device scan...
- Hangs at Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices...
OK, so I realize I am having a minor setback. So I decide the best thing to do is to re-energize all the components and do a cold boot.
- Power off.
- Unplug the power cord.
- Wait for 20 seconds.
- Plug the power cord back in.
- Power on.
- POST is OK.
- Storage device scan.
- Hangs at Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices...
OK, so at this point I am starting to realize that I will have to do something drastic. I know! I must clear the CMOS! Right? The standard procedure for most, if not all BIOS related issues. Well read on and see how that worked out for me.
- Power off.
- Unplug the power cord.
- Press and hold the power button for 20 seconds.
- Shorten CMOS pins on MB for 20 seconds.
- Plug the power cord back in.
- Power on.
- Default settings loaded.
- Press TAB to see POST (disable logo screen).
- POST is OK.
- Detecting IDE...
- DMI device list...
- Operating system is missing.
OK, so I thought I would try enabling AHCI at this stage. Or at very least try to get to BIOS setup screen.
Attempting to enter BIOS again...
- I press Ctrl+Alt+Del.
- Reboots...
- POST is OK.
- Detecting IDE...
- I press DEL key for setup.
- Prepare to enter Setup...
- DMI device list...
- BIOS setup entered! Finally!
I did not change a lot. I enabled AHCI for the chipset. I disabled the logo splashscreen and I changed up the boot priority a bit so it matches what I had previously. Save and exit!
- Rebooting...
- POST is OK.
- I pressed END key for Q-Flash.
- Storage device scan...
- Hangs at Controller Bus#00, Device#1F, Function#02: 06 Ports, 04 Devices...
OK, so at this stage, I am getting mad about this! So I must remove all disk drives, re-energize, and wipe the CMOS once more, just for good measure.
- Power off.
- Unplug the power cord.
- Disconnect all SATA drives.
- Press and hold power button for 20 seconds.
- Shorten CMOS pins on MB for 20 seconds.
- Plug the power cord back in.
- Power on.
- POST is OK.
- CMOS checksum error! (defaults loaded)
I encountered this checksum error and it prompted me to select a profile (settings) from a list. I think I selected "last known good".
- Rebooting...
- POST is OK.
- Detecting IDE...
- Hangs at bus, function, 6 port
- No device found
- "AHCI BIOS not installed"
- Boot disk failure, insert disk...
The reason it failed this time around might be because I may have chosen "last known good" values at the prompt, so it reset my CMOS clearing back to what it was before. I'm not sure how the checksum error happened though. But something is apparently not set right. And what's with the "AHCI BIOS not installed" thing?
So I decided to connect two of the disk drives to see if it can find them.
- Power off.
- Two SATA disks connected to port 0 and 1.
- Power on.
- POST is OK.
- Detecting IDE...
- Hangs at Controller Bus#00, Device#1F, Function#02: 06 Ports, 02 Devices...
See! It's detecting for IDE, but then it basically says it's looking for storage devices of the AHCI type. Then says that no devices were found and also says that AHCI BIOS is not installed. This time, it even says that it found 2 devices but it does not continue from that point forward.
OK, at this stage I was ready to do anything just to get this thing working. So I decided to disconnect all SATA disk drives, for safety, and to enable the functionality of BIOS again so I can at least try to flash it. I decided to use the same F9J BIOS image.
- Power off.
- All SATA drives disconnected.
- Power on.
- POST is OK.
- Detecting IDE...
- I press END key for Q-Flash.
- Hangs at bus, function, 6 port
- No devices found
- AHCI BIOS not installed
- Q-Flash appears
I don't know if Q-Flash is supposed to detect USB flash drives, but it did not detect mine. Although it appeared in BIOS setup, under Hard disks, and USB Mass Storage function was enabled. My guess is that Q-Flash only works with floppy drives. Luckily I had a floppy drive. I also discovered that I had BIOS images readily available on floppies, which was great to have in a situation like this! Otherwise I would have had to connect the thing to another computer, prepare a floppy, and connect it back to the patient computer. Jerry rig it! A.k.a doing a MacGyver!
Flashing with F9J BIOS...
- Power off.
- Floppy drive connected.
- Floppy with F9J BIOS inserted.
- Power on.
- I press DEL key for setup.
- I check that floppy drive is enabled. It is enabled.
- I press F8 in BIOS to enter Q-Flash right away.
- Update BIOS!
- Pick Floppy A.
- Select F9J image.
- Reading BIOS file.
- Checksum=1c00
- OK!
- Erasing/updating BIOS
- Verifying BIOS
- Copy bios completed!
- I press F10 for power off.
- Power on (with all SATA drives still disonnected).
- Defaults loaded!
- DEL for BIOS setup
- Enable AHCI
- Enable USB mouse and keyboard.
- Save and exit!
- Rebooting...
- POST is OK.
- Detecting IDE...
- Controller bus, device, function, 6 ports
- No device found
- AHCI BIOS not installed
- Building DMI pool, success
- Verifying DMI pool data, success
- "Remove removable disk and press a key for restart (floppy?)"
Sorry about this long mega thread! My intention is not to bore you guys to death! Besides providing you with a lot of details so you can help me to the best of your ability, this will also serve as documentation for myself. It will also serve as food for the web spiders, for posterity.
Main points and observations:
- Can't access BIOS setup and Q-Flash when SATA controller is set to AHCI. The storage device detection screen prevents it.
- Clearing CMOS via motherboard jumper pins grants BIOS setup and Q-Flash access by falling back on default settings (non-AHCI i.e. RAID/AHCI set to "Disabled").
- Disconnecting all SATA disk drives grants BIOS setup and Q-Flash access by skipping device detection.
- "AHCI BIOS not installed" appears even though it clearly says "Serial ATA AHCI BIOS, Version iSrc 1.20E" right aboveit when AHCI is enabled in BIOS setup, and above the "controller bus", yada, yada.
- During POST, it detects for IDE devices when AHCI is disabled in BIOS, yet it's as if it is still looking for AHCI devices on the next screen where it hangs itself at "controller bus", yada, yada.
Is this board toasted now? If not, what would be the best possible action to take in order to fully and completely flush out all the bad settings and set everything back to normal? What could possibly have caused this problem to occur? I mean beside bad Windows setup practice and bad BIOS programming? Please share your thoughts on this.
I am also curious to know where the so called option ROMs and the AHCI BIOS ROM sits physically on the board? Why is it called AHCI BIOS? It's a function of the chipset, is it not? It does not have a BIOS of it's own? In other words a firmware of it's own? How do you flush such a firmware, separately from the main BIOS?
I have not given up on this yet. But I would greatly appreciate if someone could give me some guidance, because I have no experience of BIOS modding, assembly programming and all the low-level stuff. Thanks in advance!