Jump to content

Getting SATA-mode to work during and after XP install


Nomen

Recommended Posts

Creating a few XP installations on couple of brand new-in-box motherboards (new as in 4 years ago) before (I guess?) they turn off the activation server.  I did the phone activation tonight - MS still has it working.

I installed XP on a FAT32 volume.  Motherboard does not have floppy connector.  I was trying to figure out how to get the SATA drivers into XP during install.  Entire XP cd image is already on the drive and so are all the drivers.  In the end I set the motherboard to IDE mode to get the install done.  After all drivers were installed I tried changing back to SATA mode (aka ahci?) but XP kacks during the spash screen.  Same with safe mode.

Since we're talking fat32, is there anything I can do to shut down XP, mess with some files while running in DOS, then boot back up in SATA mode and XP doesn't kack?

Alternatively, can I just drop some driver files into /i386 folder (or what-ever folder) where I have the copy of the XP cd and XP will just find them during install?  You can do that when installing win-98 yes?  How about XP?

 

Link to comment
Share on other sites


The best way to use a F6 floppy (without a floppy drive) is using grub4dos to mount it (its image) virtually, this is what I suggest you for the next boards:

 or even easier, use winsetupfromUSB:

Since you have the XP already installed, yes, you can change its mode, it is not easy, not for the faint of heartm byt you surely can do it with a bit of patience:

 

http://forums.pcper.com/showthread.php?444831-HOWTO-enable-AHCI-mode-after-installing-Windows

jaclaz

Link to comment
Share on other sites

With the computer booted into DOS (98 dos), if I set up a ramdrive and somehow manage to assign it as the "A" drive, and if I copied the sata drivers to it, would I then be able to run the XP install (from the copy of the CD already on the drive) and by pressing f6 would it "see" the ramdrive (and hence see the driver files) ?

 

Link to comment
Share on other sites

6 hours ago, Nomen said:

With the computer booted into DOS (98 dos), if I set up a ramdrive and somehow manage to assign it as the "A" drive, and if I copied the sata drivers to it, would I then be able to run the XP install (from the copy of the CD already on the drive) and by pressing f6 would it "see" the ramdrive (and hence see the driver files) ?

 

No (AFAICT/AFAICR).

You need to use grub4dos (or similar) that maps the image to a floppy at BIOS level.

I don't understand, however, you have a problem, for which a solution has been already been found (and tested/verified), why not trying it before speculating on alternatives?

IF what was suggested (which - I repeat - has been already tested and verified by hundreds or thousands of users) doesn't work in your case THEN it will be time to look for alternatives.

If you ned assistance/help to implement the grub4dos loppy mapping, just ask.

jaclaz

Link to comment
Share on other sites

If you want/can start DOS (Win 9x DOS is fine), you just:

1) put in a reachable path grub.exe and the floppy image you want to map

2) execute it

3) at the grub4dos command prompt run the needed commands (or have a menu.lst with them)

4) boot to *whatever* you want to boot to start the XP installation

Example, imaging that you boot to the C:\ drive and you have in it C:\grub.exe and C:\myF6floppy.ima

At the dos prompt:

grub.exe [ENTER]

at the grub prompt:

find --set-root /myF6floppy.ima [ENTER]

map --mem /myF6floppy.ima (fd0) [ENTER]

map --hook [ENTER]

chainloader /io.sys [ENTER]

boot [ENTER]

Back to Dos prompt:

DIR A:\ [ENTER]

should list contents of the F6floppy

 

The guide here is old (but good enough for this use):

http://diddy.boot-land.net/grub4dos/Grub4dos.htm

Starting XP installation from DOS (i.e. via WINNT.EXE) you are limited to FAT filesystem, of course, though you can later convert it to NTFS.

You can use either an oldish, stable grub4dos 0.4.5c:

http://grub4dos.chenall.net/downloads/grub4dos-0.4.5c-2016-01-18/

or a recent grub4dos 0.4.6a:

http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2019-06-17/

(later versions may do as well, but since they are experimental you'd better stick to older ones).

 

In some cases (it really depends on moptherbards) you may need to map the floppy also to (fd1) besides (fd0).

jaclaz

Link to comment
Share on other sites

I made some progress but in the end it didn't work.

One thing I did was use the following sequence of grub commands:

find --set-root /floppy.img
map /floppy.img (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)
map --floppies=1
boot

I tried your instructions - and they did work.  I was able to get a directory listing of A drive.  But then I re-booted and the floppy A drive was gone, so I thought there was a problem and I needed to do something different with grub.  So that's when I stumbled on the above code.  I was under the impression that the floppy image would persist (ie survive an actual re-boot) but it seems it doesn't.

During XP installation if you press F6 and don't have your A drive setup working and you abandon the install, you now have a dual-boot drive (DOS, and Windows setup).  At that point I choose DOS, do the grub thing, get the dual-boot choice and now choose Windows setup.  Very soon at that point windows lets you press F6, and bingo, it sees a floppy disk with SATA hardware choices.  I had to mess with creating the right files and oemsetup.txt and stuff to get that right.  A few times I make a choice and get a strange error, or a certain file can't be found.  

Ok, I get past that and it continues and I get the EULA screen where I have to press F8 to continue, and then it wants to restart and says the DOS mode install is over.  But soon after restarting it says "put the floppy in the drive A and press enter" and I keep pressing enter and nothing happens.  I can only quit at that point I think.

I was reading somewhere else where you are asked twice for the floppy and you can set up a ramdisk in DOS and it will work the first time but it won't work the second time (because dos is not invoked hence no ram drive).

I thought grub would make MBR disk changes so that the virtual floppy image would always be present during a boot, but it doesn't seem to be - or there are more commands in grub to make that happen than what I've been able to find.

I would also like to know how to use grub to check if the floppy image is "contiguous".  What I've found about that is hard to follow / execute.

Edited by Nomen
Link to comment
Share on other sites

No, the mapping is "volatile".

But there should be not AFAICR the need of a reboot, or - better said - after the reboot text mode-> GUI setup there should be no need of the floppy. :unsure:

What happens (or should happen) when you press F6 and choose the files is that the files on the floppy are copied from the floppy to the C:\$WIN_NT$.~BT folder

Maybe there are still some issues with the floppy contents and/or oemsetup.txt? :dubbio:

To verify that a file in contiguous in grub4dos you simply run the command "blocklist", i.e.:

blocklist /floppy.img

the result will be something *like* 322158+2880 (which means that the file starts at LBA 322158 and extends by 2880 sectors, and the file is contiguous, if it is not you will have more that one result in the form start+length, one for each extents of the (fragmented) file.

Being contiguous is a requisite if you do "plain" mapping, i.e.:

map /floppy.img (fd0)

while it is not needed if you do a memory mapping, i.e.:

map --mem /floppy.img (fd0)

Review this tutorial/approach:

https://www.rmprepusb.com/tutorials/install-xp-from-an-iso

and this one (about the F6 floppy):

http://rmprepusb.blogspot.com/2013/06/txtsetupoem-files-for-f6-floppy-disks.html

In that method - if I recall correctly - the Winvblock (or Firadisk) driver is used only to keep the .iso accessible during the GUI part of the setup, and the floppy is not re-accessed after the reboot, from what you report it looks like some file is not found and the GUI asks for the floppy.

If you cannot find the reason why, you can still prepare a USB stick with Winntsetup from USB or follow the RMPREPUSB tutorial above.

jaclaz

Edited by jaclaz
Link to comment
Share on other sites

Ok, I've just read the manual.  I think I'm gonna feel like a dummy.  If you want, the manual is here:

http://download.gigabyte.us/FileList/Manual/mb_manual_ga-990fxa-ud3_v.4.0_e.pdf

Sata/AHCI instructions start on page 70.  They say to copy the files to a USB floppy drive (?).  I wouldn't have thought that would work.  But the main thing is that I'm supposed to select two drivers during the F6 session.  Perhaps that's why it's asking for the floppy a second time.  I'm going to see if I have a USB floppy drive somewhere, but I'll try this again and select both drivers.

 

 

 

 

Link to comment
Share on other sites

Well, the RMPREPUSB tutorial actually loads two (or more) drivers, in that case it is a single SATA driver + Firadisk (or Winvblock), but you can replicate the same with the two drivers you have:

http://rmprepusb.blogspot.com/2013/06/txtsetupoem-files-for-f6-floppy-disks.html

Quote

You can only have one driver= line (any others will be ignored).

Note that the (single) driver.sys file specified in the driver= line will be the one copied over to the hard disk. Therefore, this needs to be the one that is mentioned in the INF file, otherwise XP GUI Mode setup will complain about a driver missing from C:\Windows\OEMDir at about the 34 minute mark!

However, if you want to copy across more driver files than just the one allowed per section (or any type and number of extra files), just add more 'catalog=d1,fred.sys' lines, as many as you like! The files specified will then be copied across to the hard disk C:\Windows\OEMDir folder.

AND check how the TXSETUP.OEM in the floppy Steve6375 provides is made:

https://www.rmprepusb.com/tutorials/install-xp-from-an-iso/winvblockJmicron_C600.ima.gz.gz?attredirects=0

But also the manual you posted seemingly uses the "Press S to add driver" approach, maybe the issue is specific to the "Marvell shared library (install first)" ? :unsure:

jaclaz

 

Link to comment
Share on other sites

On 7/16/2019 at 4:12 AM, Nomen said:

After all drivers were installed I tried changing back to SATA mode

Verify the used storage controller, use the AMD SATA controller.

Boot XP at IDE mode, copy driver file  ahcix86.sys and set registry.
Set AHCI at BIOS next.


 

Link to comment
Share on other sites

I could scream.  Scream, I tell ya.

I finally realized that I'm putzing with Sata/AHCI drivers for a controller that my hard drive is not even connected to!  This motherboard has a Marvell 2-port controller that I have set to AHCI in the bios but my hard drive is connected to an "on-chip" controller that has 6 ports, the first 4 of which can be set independantly of the last 2.

So I finally clued in that I will connect my hard drive to port 5.  Port 5 and 6 set to IDE in the bios.  I set ports 1-4 as AHCI (SATA).  I boot XP, and bingo - it finds new hardware.  It loads some new / different driver files and *now* it has the drivers for the "on-chip" controller.

I shut down and connect the hard drive back to port-1.  Port 1-4 is still set in the bios as AHCI/SATA.  I boot back up, and XP has no problems.

The Marvell controller I was putzing with the drivers for the floppy F6 XP install turn out to be eSATA ports on the back-plate of the motherboard.

So - it seems you can get XP running in AHCI mode when it was originally installed on a drive in IDE mode if you can get the SATA drivers installed. I was lucky my board has a multi-channel controller where some ports can be in IDE mode and others in AHCI/SATA mode.

If that wasn't the case, then another way to do this would be to temporarily install a PCI sata card, have XP see the card as a new device and install the drivers, then reboot with XP drive connected to the PCI card.  But before rebooting, set the on-mother board SATA controller to AHCI/SATA mode.  That way, XP will boot and "see" the motherboard sata controller and then you install the drivers, power down, pull the PCI controller out and re-connect the drive to the motherboard sata controller.

Link to comment
Share on other sites

It is possible to add AHCI Boot to an Installed IDE system as well as the reverse. The former is documented on the Internet. I plan to add NVME to the options in the future.

Link to comment
Share on other sites

5 hours ago, Nomen said:

So - it seems you can get XP running in AHCI mode when it was originally installed on a drive in IDE mode if you can get the SATA drivers installed. I was lucky my board has a multi-channel controller where some ports can be in IDE mode and others in AHCI/SATA mode.

Sure you can, that is the whole point of the first links I gave you and of the one cdob provided :).

jaclaz

Link to comment
Share on other sites

I happened to have solved this not long ago and I'd like to share.

My ThinkpadX61 has a Intel SATA HD controller, but was set in compatibility (IDE) mode during XP install. Recently I thought of it, so I searched: Most say SATA driver is added at XP installation by "F6", or an "nlited" source.  After installation, there's also a complex way which need downloading an IBM driver (which is not anymore) and manually editing it. At last, I find a sharing in a corner of internet that I can't recall the link and attribute to him. It is a very easy method, I tried and succeeded:

1, Search and download the Intel SATA driver at intel.com. I was playing with nlite and virtualbox then, so I read from https://forums.virtualbox.org/viewtopic.php?t=42829 and used version 7.8, extracted the driver files from installer as directed.

2, Find the IDE controller device in device manager, which has device ID of PCI\VEN_8086&DEV_2828 (or 2830, in I recall wrong). Update it's driver by extracted Intel SATA driver iaahci.inf. There will be a warning or error, ignore it.

3, Reboot, enter BIOS setting, change the HD mode from compatibility to AHCI. Save and reboot, XP will find and install new device instead of blue screen. There will be a new device "SATA AHCI controller" with ID PCI\VEN_8086&DEV_2829. That's it.

p.s. The Intel driver installer is intended for just running -> modifying to AHCI mode - rebooting and done, but I got an error when running, so maybe that even simpler procedure is not for XP.

I think other SATA devices may get installed by the similar procedure. The point is, I guess, that XP could allow a driver with wrong intended device ID be installed, or a wrong driver would also be stored for later use. Others please correct me!

 

Link to comment
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...