Jump to content











Photo

Booting Win 8/8.1 in IDE or AHCI mode (by only changing BIOS setting)


  • Please log in to reply
13 replies to this topic

#1 gbrao

gbrao

    Frequent Member

  • Advanced user
  • 474 posts
  •  
    India

Posted 08 January 2014 - 05:43 AM

I was finally able to upgrade my system. I installed Win 7 in IDE mode. After changing 'Start' to 0 (from 3) in :

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor

 

I can boot Win 7 in IDE or AHCI mode by just changing the BIOS setting. ( After booting in AHCI mode I even installed the latest Intel AHCI driver ).

 

Can something like that be done for Win 8/8.1 ? There is a lot of info on how to switch from IDE to AHCI mode but after doing that Win 8/8.1 will not boot in IDE mode.

 

btw : I'm not using a SSD. My h/w : Haswell + Z87.

 

 



#2 Sha0

Sha0

    WinVBlock Dev

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

Posted 09 January 2014 - 05:22 AM

I was finally able to upgrade my system. I installed Win 7 in IDE mode. After changing 'Start' to 0 (from 3) in :

 

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\pciide
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\msahci
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStorV
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\iaStor

 

I can boot Win 7 in IDE or AHCI mode by just changing the BIOS setting. ( After booting in AHCI mode I even installed the latest Intel AHCI driver ).

 

Can something like that be done for Win 8/8.1 ? There is a lot of info on how to switch from IDE to AHCI mode but after doing that Win 8/8.1 will not boot in IDE mode.

 

btw : I'm not using a SSD. My h/w : Haswell + Z87.

Not only do you need the driver to load at boot-time, but the driver needs to drive the device.  This is usually done by using a CriticalDeviceDatabase entry or by pre-installing the device.  The device will have different IDs, depending on how you configured it in the BIOS setup.



#3 Agent47

Agent47

    Frequent Member

  • Advanced user
  • 164 posts
  •  
    India

Posted 09 January 2014 - 08:18 AM

Hi

 

Adding the right AHCI driver offline via DISM will do the trick without messing the registry. I have done this a couple of times with success. First you need to get the unpacked version of the AHCI driver. For Intel chipsets, download and unzip IRST F6 Floppy driver from the below link.

 

https://downloadcent...® RST)&lang=eng

 

Copy the driver to a USB drive and plug in to the target machine. Then boot from the Windows 8 DVD and press Shift + F10 to open a command prompt. Now you can inject the driver via DISM. First identify the correct drive letters of your Windows partition and USB . Assuming the Widows drive is D: and the IRST driver is located on E:\IRST (USB drive) , here is the sample command.

 

dism /image:d:\ /add-driver /driver:e:\IRST /recurse

 

DISM will add the driver and automatically set storage drivers to load at boot time. You can add other storage drivers like Marvell , AMD etc in the same way.

 

For more info :

 

http://www.dowdandas...ng-motherboard/



#4 gbrao

gbrao

    Frequent Member

  • Advanced user
  • 474 posts
  •  
    India

Posted 09 January 2014 - 05:29 PM

^ As mentioned in the OP, by setting AHCI mode in BIOS I can boot Win 8.1 ( and even install the latest Intel driver ) - but the problem is that if I set IDE mode in BIOS after that Win 8.1 will not boot. This does not happen with Win 7. I assumed some reg settings were required to be modified/added ( as for Win 7 ) - but I can't find that info.



#5 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 11 January 2014 - 03:26 PM

*
POPULAR

Windows 8 disables not required boot drivers at boot:
StartOverride=3 is set

Enable the generic IDE/AHCI driver first, reboot next.
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi\StartOverride]
"0"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pciide\StartOverride]
"0"=dword:00000000

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci\StartOverride]
"0"=dword:00000000
Atapi added.


StartOverride_IDE_AHCI.cmd
@echo off
rem delete StartOverride

set Services=HKLM\System\CurrentControlSet\Services
for %%a in (atapi pciide storahci) do ( 
  reg.exe delete "%Services%\%%a\StartOverride" /f
)

Or a general approach, StartOverride.cmd:
@echo off
rem delete StartOverride

for /f %%a in ('reg query "HKLM\System\CurrentControlSet\Services"') do ( 
  reg.exe query "%%a\StartOverride" >nul 2>&1 && (
    echo %%a
    reg.exe delete "%%a\StartOverride" /f
  )
)

Edited by cdob, 11 January 2014 - 06:35 PM.

  • ilko, wimb and gbrao like this

#6 gbrao

gbrao

    Frequent Member

  • Advanced user
  • 474 posts
  •  
    India

Posted 11 January 2014 - 06:00 PM

Not sure if I understood that. This is what I tried :

 

1) Win 8.1 installed in IDE mode.

2) Set "Start" & "StartOverride" in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci to 0.

3) Reboot. Set AHCI mode in BIOS. Reboot.

4) Win 8.1 boots OK now in AHCI mode.

5) Set "StartOverride" in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pciide to 0. ("StartOverride" does not exist in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci)

6) Reboot. Set IDE mode in BIOS. Reboot.

Win 8.1 cannot boot - cannot find boot drive.

 

I also tried this :

a) After step 1) above I exported 

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pciide  &

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\storahci

B) Did step 2) to 4) as above.

c) Instead of step 5), deleted the above two & imported the regs I had saved in step a) - ( Now both should be as they were when Win was installed in IDE mode ).

d) Reboot. Set IDE mode in BIOS. Reboot.

Win 8.1 cannot boot - cannot find boot drive.



#7 Sha0

Sha0

    WinVBlock Dev

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

Posted 11 January 2014 - 06:07 PM

How do you know pciide is the correct driver for IDE mode?  You can boot HDT and find the VENdor and DEVice IDs for the storage adapter when it's in IDE mode.



#8 gbrao

gbrao

    Frequent Member

  • Advanced user
  • 474 posts
  •  
    India

Posted 11 January 2014 - 06:26 PM

OK, I need to try this once again, but this is what worked :

 

After booting in AHCI mode as above, I deleted  "StartOverride" in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\atapi  ( in addition to  "StartOverride" in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\pciide ).

 

Boots in IDE mode OK then.

 

EDIT : Confirmed above.



#9 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 11 January 2014 - 06:32 PM

1) Win 8.1 installed in IDE mode.

Which IDE driver is active?
 

6) Reboot. Set IDE mode in BIOS. Reboot.
Win 8.1 cannot boot - cannot find boot drive.

Set "StartOverride" at atapi too.

#10 gbrao

gbrao

    Frequent Member

  • Advanced user
  • 474 posts
  •  
    India

Posted 11 January 2014 - 06:45 PM

^ see post 8, atapi StartOverride needs to be deleted/reset too.

Thanks.



#11 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 11 January 2014 - 06:52 PM

In addidion: do you install a additional AHCI driver for the Z87?

#12 gbrao

gbrao

    Frequent Member

  • Advanced user
  • 474 posts
  •  
    India

Posted 11 January 2014 - 06:54 PM

going to try that next ;-) - the latest Intel driver. Maybe tomorrow, quite late here.



#13 gbrao

gbrao

    Frequent Member

  • Advanced user
  • 474 posts
  •  
    India

Posted 11 January 2014 - 07:24 PM

After installing the Intel driver, need to add iaStorA to the list.



#14 cdob

cdob

    Gold Member

  • Expert
  • 1469 posts

Posted 17 January 2014 - 07:27 PM

After installing the Intel driver, need to add iaStorA to the list.

Given a installed device, but relating driver StartOverride=3
The device manager lists the hidden device (Code 45).

E.g. at IDE mode, the AHCI device is hidden.
Crawl the system and configure AHCI driver StartOverride.

Run EnableDriver.vbs at evelated permission
'****** enable a installed, but hidden device *******
'Requirement: the device manager lists the hidden device (Code 45)

const HKLM = &H80000002
strComputer = "."
Set objReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\"&_ 
  strComputer & "\root\default:StdRegProv")

strKeyServices = "SYSTEM\CurrentControlSet\Services"
strRegEnum = "SYSTEM\CurrentControlSet\Enum"

EnableDrivers (strRegEnum & "\IDE")
EnableDrivers (strRegEnum & "\PCI")
EnableDrivers (strRegEnum & "\PCIIDE")
WScript.Sleep 9876


Sub EnableDrivers (strEnumSection)
objReg.EnumKey HKLM, strEnumSection, arrEnumSection
WScript.Echo "Subkeys under " & strEnumSection

For Each EnumSection In arrEnumSection
  strPNPDeviceID = strEnumSection & "\" & EnumSection
  objReg.EnumKey HKLM, strPNPDeviceID, arrDevice

  For Each Device In arrDevice
    objReg.GetStringValue HKLM, strPNPDeviceID & "\" & Device, "Service", strService
    strStartOverride = strKeyServices & "\" & strService & "\StartOverride"
    objReg.GetDWORDValue HKLM, strStartOverride, "0", dwValue
    
    if dwValue <> 0 then
      WScript.Echo EnumSection & ": " & strService
      WScript.Echo strStartOverride & ": " & dwValue
      objReg.SetDWORDValue HKLM, strStartOverride, "0", 0
    end if
  Next
Next

End Sub





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users