Page 1 of 1

SATA not working correctly on XP guest

Posted: 21. Dec 2009, 19:44
by Sublimation
Hello everyone,

let me start off by mentioning that I've already followed the instructions listed here:
http://forums.virtualbox.org/viewtopic.php?f=2&t=9575

Now, to clarify, Windows XP boots just fine when I'm running the virtual disk off of SATA port 0 with IDE set on channel ICH6. However, when running off of SATA port 0 I do not receive the typical SATA read/write speed. In fact, my read/write speed never exceeded 70MB ever since I reinstalled Windows XP using the SATA drivers listed in the thread linked above. Upon scanning through documentation I noticed the following information:
Like a real SATA controller, VirtualBox's virtual SATA controller operates faster and also consumes less CPU resources than the virtual IDE controller. Also, this allows you to connect up to 30 virtual hard disks to one machine instead of just three, as with IDE. Of these, the first four (numbered 0-3 in the graphical user interface) are operated in IDE compatibility mode by default.
Having read that information, I immediately switched the virtual disk to SATA port 4. Upon booting, as expected, I received a boot error. No problem, I simply opted to reinstall windows. After installation was completed I was surprised to notice that instead of booting as normal, my system was booting from LAN. Upon entering the Boot Utility (F12 for selecting which boot device to use) I noticed a message telling me there was no suitable hard-drive detected. No suitable hard drive?! That was quite strange since Windows XP just installed to the hard-drive which is now considered, "not suitable." So, once again, I opt to reinstall Windows XP. Once again it installs and once again I receive the same error of not having a suitable hard-drive. At this point I'm flat-down frustrated. I tried a few more SATA ports (10 and 30 I believe) all producing the same results.

Now I turn to this forum for assistance. Howcome when I leave SATA port 0-3 and switch to SATA port 4-30 do I receive these strange error messages produced by VirftualBox itself? I don't think Windows has anything to do with it since it runs just fine in IDE and SATA IDE compatibility modes. Yes, the SATA drivers were installed correctly (confirmed through Device Manager). During Windows installation I only encountered one error where a file named, "unknown.sys" failed to install. Upon retrying it once again failed to install. Eventually I just skipped installing the file and Windows continued happily. I believe the error was caused by the SATA drivers that I used from the thread linked above. If it means they didn't install correctly or if they were simply trying to add an unnecessary driver file I do not know.

Any ideas on what might be happening? Keep in mind that VirtualBox not Windows produced the error mentioning that I did not have a suitable hard-drive.

Thanks in advance!

Host OS: Linux Mint (Gloria)
Virtual Box Version: 3.0.12 r54655

Re: SATA not working correctly on XP host

Posted: 21. Dec 2009, 20:49
by Entegy
I do believe to get the full SATA speed in XP, you would have to install XP with SATA from the beginning. Also, I do believe VB can only boot from SATA port 0 unless a bootloader (on port 0) specifies otherwise, which is why you're not seeing a bootable disk. I've had the same problem.

Re: SATA not working correctly on XP host

Posted: 21. Dec 2009, 22:02
by Sublimation
I already installed XP with SATA support (fresh install, format and all). I might try an experiment of making a few extra virtual disks, assigning them to SATA ports 0-3 then assigning my XP disc to SATA port 4.

EDIT: Well, I made 4 additional virtual disks and attached them to SATA ports 0-3, my XP virtual disk is now on SATA port 4. Upon booting and pressing F12 only the 4 drives located on ports 0-3 are displayed while the drive on port 4 doesn't show. This is quite strange....

Re: SATA not working correctly on XP guest

Posted: 22. Dec 2009, 01:28
by Sublimation
Wow, this is really really strange...

I managed to insert another virtual disk on which I installed GRUB via a Linux Mint installer. When I installed GRUB it also detected my Windows XP installation, which was inserted into startup options automatically. After selecting Windows XP then pressing ENTER to boot, I received an error that the hard-drive doesn't exist... So I launch the Mint installer again to ensure GRUB was booting the proper disk and partition. It was... So upon restart I insert the Windows installer CD, mount the SATA driver, and choose to repair my Windows installation (command screen not automatic repair). Immediately the installer finds my C:\Windows\ path on the "E:" drive. I select it, and sure enough it prompts for a password before allowing me to execute any commands. Right now I'm performing a FIXBOOT, FIXMBR, CHKDSK /p and CHKDSK /r in hopes somehow this problem is resolved. Additionally, BOOTCFG /SCAN reports there is only one Windows installation on the designated Windows virtual disk.

What I find strange about this is that both Linux Mint (installer and the actual OS) manage to see the Hard-drive on which the windows installation resides (they even detected the windows installation, asking if I wanted to import user account files). However, when attempting to boot from the Hard-Drive (F12 or GRUB) I immediately receive the "Hard Drive does not exist" error. It seems this is no longer a driver issue.

EDIT: Now I receive an error reporting the following, "NTLDR is missing."

Re: SATA not working correctly on XP guest

Posted: 22. Dec 2009, 11:00
by Martin
If I remember correctly only SATA ports 0-3 support the IDE compatibility mode required by the BIOS to boot from them.

Re: SATA not working correctly on XP guest

Posted: 24. Dec 2009, 19:23
by Sublimation
Are there any methods which would allow me to "reveal" the extra SATA virtual disks on ports 4-30 to the BIOS for booting? The reason I'm finding this strange is because OS installers can locate the disk, yet the BIOS can't...?

Re: SATA not working correctly on XP guest

Posted: 25. Dec 2009, 21:56
by Sublimation
Problem Solved!

Alanbir managed to solve my issue with the following article:
http://forums.virtualbox.org/viewtopic.php?f=2&t=26132

No more errors during XP installation. While I doubt I will be able to boot from SATA slots 4-30, I at least now have SATA support. Thank you all for your support.