Jump to content











Photo
- - - - -

Switching to AHCI without BIOS support problem


  • Please log in to reply
7 replies to this topic

#1 gabiz_ro

gabiz_ro

    Newbie

  • Members
  • 20 posts
  •  
    Romania

Posted 21 June 2010 - 11:41 PM

Hope is right section since I can't find other more related.

First let's explainf my problem.
Dell Inspiron 9400 (similar with E1705 or M1710 or M90) doesn't have AHCI enabled,or other posibility to enable.
First I tried to load a custom option rom into bios who rewirite some chipset registers and switch controller from legacy to SATA AHCI but after that I can't boot anymore from internal disk.
Many tries many combination but same result.

Booting from usb to FreeDos (just one example) and using software like AHCCMDT - AHCI Command Test Program,Victoria or MHDD I can see hdd and test or whatever program does.
Booting from usb some linux distro or live windows was ok,controller was in SATA mode and I can gain access to files etc.
Tried kexec-loader but got errors

Since I can't find one method to make BIOS to boot from internal hdd I tried other method.
With some help from other person I modified my DSDT table in bios.
Now this work fine under linux but under windows I get BSOD with 0x0000007B that's because chipset switch from legacy to ahci in time of booting process.
Also tried:
- xp setup but if I remember was some errors and can't reach at point to see partitions
- 7 setup can't find hdd
Is any possibility to make something to make windows to keep loading and pass this inaccessible boot device error?

#2 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 22 June 2010 - 12:15 AM

The Windows AHCI driver for your storage adapter needs to be loaded and invoked at boot time in order to avoid the 0x7B error. Attaching WinDbg, obtaining the CLI once the bug-check occurs, then entering !devnode 0 1 should reveal the status of each Windows device. Look for the storage adapter and find out what its trouble is. You might need to inject the driver into your OS installation, including CriticalDeviceDatabase entries for the corresponding PCI IDs.

#3 gabiz_ro

gabiz_ro

    Newbie

  • Members
  • 20 posts
  •  
    Romania

Posted 22 June 2010 - 12:41 AM

I have tried,driver is installed,iastor is added to registry.
I think is need to trick windows about boot device.
ICH7-M is switched to sata ahci in time of windows loading (when dsdt are loaded)
How to tell .. until OS load DSDT nothing is changed. But windows is too problematic at boot devices.

#4 Sha0

Sha0

    WinVBlock Dev

  • Developer
  • 1682 posts
  • Location:reboot.pro Forums
  • Interests:Booting
  •  
    Canada

Posted 22 June 2010 - 12:57 AM

Are you saying that you are changing device details after BIOS POST?! Are you changing any VENdor and DEVice IDs? Do those IDs have entries in the CriticalDeviceDatabase so that the driver is associated with the device?

#5 gabiz_ro

gabiz_ro

    Newbie

  • Members
  • 20 posts
  •  
    Romania

Posted 22 June 2010 - 07:00 PM

Switching from legacy to AHCI change from VEN_8086&DEV_27C4 to VEN_8086&DEV_27C5
I'll try again,maybe I do some misteke in adding entries in CriticalDeviceDatabase.

#6 gabiz_ro

gabiz_ro

    Newbie

  • Members
  • 20 posts
  •  
    Romania

Posted 24 June 2010 - 07:14 PM

I think all I do is correct.
Since is the same disk just controller switched from legacy to sata in time of boot proccess is there an way to trick windows to bypass this error of inaccesible boot device?

#7 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 24 June 2010 - 09:34 PM

ICH7-M is switched to sata ahci in time of windows loading (when dsdt are loaded)

How do you do this? Do you use a windows driver?

I think all I do is correct
Since is the same disk just controller

Another controller is a major difference.
Does windows detect two different controllers?
Which registry settings did you include?

#8 gabiz_ro

gabiz_ro

    Newbie

  • Members
  • 20 posts
  •  
    Romania

Posted 24 June 2010 - 09:43 PM

I'm using a modified DSDT which write one chipset register.

No,windows detect only one controller.

And reg file
Windows Registry Editor Version 5.00



[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\CriticalDeviceDatabase\pci#ven_8086&dev_27c5&cc_0106]

"Service"="iaStor"

"ClassGUID"="{4D36E96A-E325-11CE-BFC1-08002BE10318}"



[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 Controller"



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters]

"queuePriorityEnable"=dword:00000000



[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Enum]

"0"="PCI\\VEN_8086&DEV_27C5&SUBSYS_01CD1028&REV_01"

"Count"=dword:00000001

"NextInstance"=dword:00000001





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users