Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
Tommy

Windows 2000: SATA driver slipstreaming ThinkPad X201

Recommended Posts

  

On 1/5/2016 at 7:01 PM, ComradeLaika said:

I'm having an absolute nightmare trying to slipsteam SATA drivers into XP. My original OS CD has XP Pro with Service Pack 3, and I've used nLite on a Toshiba Win 7 machine to create a slipstream CD-R with SATA drivers a ThinkPad X201.

The X201 has the Intel Series 5 3400 ACHI / SATA controller (6-port) and I'm using the drivers from the Lenovo website (http://support.lenovo.com/gb/en/downloads/ds014898) which seem to be correct. I run the .exe on the Win7 machine, and unpack the drivers, then start nLite. I select the whole folder for the drivers, then it brings up a list of those created by the exe, including the Series 5 6-port SATA. I only select that individual driver, and burn the slipstream image straight to CD.

The CD boots fine and the installer starts OK, and starts hunting through drivers needed to start the process (Keyboard, USB etc.) but then crashes when it comes to the SATA driver, saying "iaStor.sys is corrupted, press any key to continue" (iaStor.sys being one of the driver files). When you do this, the installer says "Installation has failed, press any key to reboot".

I've tried downloading a free driver exe and unpacking again, and creating an entire new slipstream disc, but get exactly the same error.

Is there anything I am missing here? I'm getting really frustrated. I tried to do this last year but ran into the same fault, and wound up trying a lightweight XP-like Linux instead, but it just doesn't have the same support for the programs I rely on.

 

I'm going to unearth this because I'm trying to do this very same thing with a my ThinkPad X201, but with Windows 2000 and having similar results.

So the bad thing about this computer is that it doesn't come with a CD drive so installing via USB is just about my only option. I used tomasz86's latest HFSLIP pack along with a driver from blackwingcat, the one that brings up an error mentioned above. If I used anything other than blackwingcat's, it would say "iaStor.sys is corrupted".

Well, after digging I found blackwingcat's and thought I had some promise but alas, it "works" but then I'm just greeted by the same bluescreen I would with a vanilla HFSLIP package, inaccessible boot device. I know it's not just a bad image because it works in a VM, unless it's because it doesn't load the driver for it. The one part that concerns me is that I've seen a few things.

1. Blackwingcat says Extended Kernel is needed to install but I haven't seen the minimum version that it needs and with the newer HFSLIP, I'm not even sure of Extended Kernel is even slipstreamed into it anymore.

2. Some of Tomasz86's UURollups used to be in exe slipstreamable format, and I swear even a few weekly ones from 2013 were as well, which I would think should be sufficient for this to work. Unfortunately, the ones remaining online are in 7z format, making slipstreaming impossible to my knowledge. And we know, at least to my knowledge, that blackwingcat's version were never slipstreamable. So that's an issue too.

3. I've also seen reports that I should slipstream the SATA driver using nLite first....and then slipstream packages via HFSLIP.

I don't know if it just can't see my USB drive and that's what causes the invalid boot device during setup or not. I also hooked up a USB DVD drive but for whatever reason, it will not boot off my Windows 2000 media, the very same image that is bootable from a USB stick will not boot from a USB DVD drive, but it's not the drive because Windows 98 will boot from the DVD drive.

I believe I have all the needed drivers for it that would make it work and do what I need it to do after installation except for WiFi, which I can just use a USB stick if need be.

Edit: Heh, my bad, I know there was a Windows 2000 version of this thread floating around somewhere describing this same problem. Strangely enough, Windows XP Pro x64 worked 100% without a hitch on my laptop, even without a SATA driver. But I ended up splitting this into my own thread so it is relevant.

Share this post


Link to post
Share on other sites

Posted (edited)

Solution:

https://msfn.org/board/topic/181284-attempting-to-install-windows-2k-on-thinkpad-x201i-running-into-sata-driver-issues/?do=findComment&comment=1178399

You don't need extended core to install IMSM 7.6 AHCI drivers, but you do need it for IMSM 8.9.

Unless you follow some procedure @tomasz86 mentioned in a post in the 2000 USP 5.2 thread from late April 2019, using nLite after HFSLIP will cause serious problems with the OS installation. IE6 will think it's IE5, DX9 will think it's DX7, and some files will be missing.

 

 

Edited by win32

Share this post


Link to post
Share on other sites

Thanks for the reply, this was actually the thread I was looking for!

I somehow missed the tidbit about removing NTx86 so I'd get the "iaStor.sys is corrupted, press any key to continue". So let me be sure I'm doing the right stuff here.

Opening up iaStor.sys, I see this.

[Manufacturer]
%INTEL%=INTEL_HDC,ntx86

So, should I change it to this?

[Manufacturer]
%INTEL%=INTEL_HDC

Then I see

[INTEL_HDC]

[INTEL_HDC.ntx86]
%PCI\VEN_8086&DEV_27C3&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C3&CC_0104
%PCI\VEN_8086&DEV_27C6&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C6&CC_0104
%PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2822&CC_0104
%PCI\VEN_8086&DEV_282A&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_282A&CC_0104

Should I remove the first INTEL_HDC and then remove the ntx86 such as this?

[INTEL_HDC]
%PCI\VEN_8086&DEV_27C3&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C3&CC_0104
%PCI\VEN_8086&DEV_27C6&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C6&CC_0104
%PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2822&CC_0104
%PCI\VEN_8086&DEV_282A&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_282A&CC_0104

And also, should I do the same with the iaACHI file, remove all ntx86 references as well?

Once all that is done, should I then nLite the driver and use HFSLIP or is there another method to integrate these files into the source without using nLite?

Share this post


Link to post
Share on other sites
Posted (edited)

Yeah, just remove the NTx86 references everywhere. That first INTEL_HDC too; it's probably there because they had some intention of supporting Windows 2000 but didn't in the end.

Use nLite to integrate the driver before running HFSLIP; apparently there is a way to integrate drivers with HFSLIP but no one has documented it of course.

Edited by win32
  • Like 1

Share this post


Link to post
Share on other sites

This is what I kind of figured but I wanted to be sure, plus I like having things documented in a very easy to understand format for other people. That and because my mental health is very bad right now so I'm missing obvious details, such as you mentioning removing the NTx86 references in the other thread and I couldn't understand why it wasn't working. 

Maybe you can answer this as well, but what makes the newest HFSLIP package better than some of the older ones, like the 2012 version that included Service Pack 5.1? It seems the older one had more updates and the newer one has fewer. Were some of the updates just redundant, caused problems, or a mix of other things? I was taking a look at one of the websites last night but I didn't get too far on it, I think it was located a few posts down from the link you posted concerning nLite and slipstreaming with HFSLIP.

Share this post


Link to post
Share on other sites
13 hours ago, Tommy said:

Opening up iaStor.sys, I see this.

 

You mean the .inf, not the .sys ;).

This basically means:
 

[Manufacturer]
%INTEL%=INTEL_HDC,ntx86

Look in sections:
[INTEL_HDC]

and

[INTEL_HDC.ntx86]

depending on the OS.

Then in this:
 

[INTEL_HDC]

[INTEL_HDC.ntx86]
%PCI\VEN_8086&DEV_27C3&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C3&CC_0104
%PCI\VEN_8086&DEV_27C6&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C6&CC_0104
%PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2822&CC_0104
%PCI\VEN_8086&DEV_282A&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_282A&CC_0104

the INTEL_HDC section is empty, but Windows 2000 will try loading that one.

So - at least in theory - this should do:

[INTEL_HDC]
%PCI\VEN_8086&DEV_27C3&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C3&CC_0104
%PCI\VEN_8086&DEV_27C6&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C6&CC_0104
%PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2822&CC_0104
%PCI\VEN_8086&DEV_282A&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_282A&CC_0104



[INTEL_HDC.ntx86]
%PCI\VEN_8086&DEV_27C3&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C3&CC_0104
%PCI\VEN_8086&DEV_27C6&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_27C6&CC_0104
%PCI\VEN_8086&DEV_2822&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_2822&CC_0104
%PCI\VEN_8086&DEV_282A&CC_0104.DeviceDesc% = iaStor_Install, PCI\VEN_8086&DEV_282A&CC_0104

jaclaz

Share this post


Link to post
Share on other sites
1 minute ago, Tommy said:

Maybe you can answer this as well, but what makes the newest HFSLIP package better than some of the older ones, like the 2012 version that included Service Pack 5.1?

The newest version has some Windows XP POSReady updates along with most of the Windows 2000 updates from 2003 to 2013 (except for redundant and/or buggy ones). And the USP 5.1 included buggy usb 1.1 drivers. And yet it still retains the LBA48 reg entry.

Share this post


Link to post
Share on other sites
15 hours ago, jaclaz said:

You mean the .inf, not the .sys ;).

Yes, thank you for correcting me.

On 3/4/2020 at 12:11 AM, win32 said:

OK, I've figured out the solution for your weird AHCI controller: replace your inf files with the ones from the official XP SATA AHCI controller driver package (https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles/g1im15ww.exe) and remove all instances of "ntx86".

That file doesn't actually reference DEV_3B2E anywhere!

Ugh, again my mind isn't cooperating so I reread this several times and I saw you said replacing the inf files with the ones found in the link you provided. In that thread, I saw there was a file uploaded that looked to be BlackWingCat's and then there was mention of a beta driver, which had a thread of its own. So which driver should I download and then use the INFs from Lenovo's package to slipstream into my installation? Though my ThinkPad isn't an i version, it really shouldn't be any different than bluesteel's.

Share this post


Link to post
Share on other sites
7 hours ago, Tommy said:

Ugh, again my mind isn't cooperating so I reread this several times and I saw you said replacing the inf files with the ones found in the link you provided. In that thread, I saw there was a file uploaded that looked to be BlackWingCat's and then there was mention of a beta driver, which had a thread of its own. So which driver should I download and then use the INFs from Lenovo's package to slipstream into my installation? Though my ThinkPad isn't an i version, it really shouldn't be any different than bluesteel's.

Download BlackWingCat's IMSM 7.6 AHCI driver (as it works even with base SP4), and then replace its INFs with the one from the Lenovo package.

Share this post


Link to post
Share on other sites
On 5/29/2020 at 12:37 AM, win32 said:

Yeah, just remove the NTx86 references everywhere. That first INTEL_HDC too; it's probably there because they had some intention of supporting Windows 2000 but didn't in the end.

Use nLite to integrate the driver before running HFSLIP; apparently there is a way to integrate drivers with HFSLIP but no one has documented it of course.

Intel probably just keeps re-using INF files from the older drivers, adding and removing support for different versions of Windows in the process. That is likely why the Windows 2000 related sections are still there.

HFSLIP is able to integrate drivers, but as you said, there is no documentation available, and it is much more limited than nLite anyway. You can try searching my older posts if you are interested, as I did some experimentation a long time ago.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...