Ubuntu Linux and XP on ICH10 with AHCI

I recently bought a computer through the Intel Chip Loan progam. The motherboard is a Gigabyte EP45-DS3R, and I had some issues with getting AHCI to work, so I wanted to share my experiences to help others who might want to do something similar…
This might be useful for anyone who wants to work with AHCI on this particular board.

My desired setup:

– A small partition for XP (~50GB) – NTFS
– A small partition for Ubuntu (~50GB) – ext3
– A shared Fat32 partition over left-over space (~900GB).

By default, the BIOS came with AHCI disabled. I did not enable it because I needed to install XP first (Ubuntu later installs Grub which will take care of boot loading for both OSs), and not having a 1.44 diskette, I could not install the AHCI drivers during startup. So, I installed XP with AHCI disabled. The only issue I encountered was the for some reason XP no longer lets you format FAT32 partitions. There is no way to create FAT32 partitions either during or after the installation – I had to do it through linux later.

After the XP installation, I tried installing linux. The Ubuntu CD failed every time right after I chose ‘install’. After changing the BIOS to use AHCI, the installation worked like a charm. So: Ubuntu did not work with the AHCI turned off; XP did not work with AHCI turned on. Nice…
The Ubuntu installation was very quick (about 10 minutes I think) and passed with no issues. Right after the installation I used Parted and mkfs.msdos to create the FAT32 partition I needed for OS interoperability (you can install gParted or qtParted through the Synaptic Package Manager to make your life a little easier here).

Next is the ugly part: getting AHCI to work on XP.
This might be worth doing whether or not you’re installing Linux as well; AHCI has better performance than the failback IDE mode.
I rebooted, went back to BIOS, turned off AHCI, and loaded Windows (yuch). Installing the motherboard drivers was simply not enough – booting with AHCI turned on causes blue screens. Finally I found this post which proved very useful..

I downloaded the drivers for Intel 4 series chipsets from here.

I started the installation process and got a question on whether I want to proceed and override the drivers the motherboard CD installed. At this point (while the files are extracted), go to %systemroot%\temp (I think), find iaStor.sys and copy it to C:\WINDOWS\system32\drivers. Next I created the registry entries from the post above: Create a .reg file with the contents below, then double-click it to load it to registry.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_3a22&cc_0106]
"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"
"Service"="iaStor"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_2822&cc_0104]
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"
"Service"="iaStor"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor]
"Type"=dword:00000001
"Start"=dword:00000000
"Group"="SCSI Miniport"
"ErrorControl"=dword:00000001
"ImagePath"="system32\\drivers\\iaStor.sys"
"tag"=dword:00000019
"DisplayName"="Intel AHCI+RAID Controller"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters]
"queuePriorityEnable"=dword:00000000
"BusType"=dword:00000003

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port0]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port1]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port2]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port3]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port4]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters\Port5]
"AN"=dword:00000000
"LPM"=dword:00000000
"LPMSTATE"=dword:00000000
"LPMDSTATE"=dword:00000001
"GTF"=dword:00000000
"DIPM"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Enum]
"0"="PCI\\VEN_8086&DEV_3A22&SUBSYS_B0051458&REV_00\\3&13c0b0c5&0&FA"
"1"="PCI\\VEN_8086&DEV_2822&SUBSYS_B0001458&REV_02\\3&13c0b0c5&0&FA"
"Count"=dword:00000002
"NextInstance"=dword:00000002

That’s it. I rebooted, turned on AHCI in BIOS, and that was that. Both Ubuntu and XP working with AHCI !

If you run into any problems, turn to the post I linked above – that’s where most of the complicated stuff is from 🙂

Good luck !

Advertisements

6 comments so far

  1. A.N.Onymous on

    Thanks for a very useful post.

  2. Dan McGee on

    Just wanted to say this page was extremely helpful for me, as I was trying to do the same thing (dual boot Windows and Linux) on this exact motherboard.

    One headache I had that you didn’t encounter above was some settings in boot.ini. Windows decided to switch things around on me and give me an error about being unable to read from the selected boot device. The solution was changing the following type thing:
    signature(549ef)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional” /noexecute=optin /fastdetect
    to
    multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Professional (multi 0,0)” /noexecute=optin /fastdetect

    The signature is not portable across the switch between IDE and AHCI.

  3. homesnake on

    Thanks!

  4. […] Par ici (pour ICH10) Pas encore de commentaires pour cet article… […]

  5. Tom on

    XP does Supoort FAT32 and also formats it. But your 900+GB Partition was much too hefty and oversized for that. You should google for limits of FAT32…

  6. Ebb on

    Excellent, worked perfectly.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: