Page 1 of 1

[Case study] Clone Vista Tosh. SATA part. to VirtualBox img.

Posted: 6. Feb 2009, 21:18
by Rockz
Hello,

I encounter a SATA disk virtualization unsupported failure on an AMD64 linux, but I will explain the whole situation for you helping me to sort it out.

Here is my environment : Toshiba laptop dual-core with a Debian Lenny (testing) AMD64 and a "Vista Home Premium 32 bits OEM Toshiba" partition (sda3) on a SATA HDD.

Toshiba only provides a rescue disk that wipes all HDD data and restores the Windows partition and the hidden recovery partition. The Vista serial key I get with it is not compatible with standard Vista Home Premium OEM in my language (I tried 3 different original-made ISOs with no success at registration time), it's only compatible with the Toshiba OEM Vista, so I have no hope to be able using a standard OEM or retail version of Vista with legal means..

So, I cloned the size-modified and flawlessly-running 30 GB SATA Vista partition with partimage, build a flawlessly-running VirtualBox-2.1.2_OSE (both with the standard-way and the package-way, with Sun's build instructions and dpkg-buildpackage respectively) for Debian AMD64, installed a Debian AMD64 on an virtual IDE disk, used partimage to recover this partition on the virtual IDE disk, used testdisk to rebuild virtual NTFS Vista partition boot sector, and finally used a Vista Recovery Disk 32 bits ISO to perform Windows repair wizard, 'chkdsk' (with auto-repair switches),'bootrec /fixboot' and 'bootrec /fixmbr' commands.

Then, when I start the virtual machine and boot Vista in safe mode, it hangs on the 'c:\system\crcdisk.sys' loading, and the repair wizard runs fine but displays a 'corrupted file system' message in logs. From the Vista recovery disk, I can access the file system with DOS command line with no problems.

So, even if I fear some Toshiba laptop drivers are installed in this image and are not compatible with VirtualBox virtual hardware, this error seems to be linked with hard disk (if we consider that 'c:\system\crcdisk.sys' is the currently loading driver, and not the last one successfully loaded. If it's the second solution, I don't know the name of the following driver, that is the faulty one). Backup made with partimage ran flawlessly, so did the restore process, so I believe image is Ok (I could try with CloneZilla so). So, the only reason I can imagine is that the original partition was on a real SATA HDD, and is now on a virtual IDE HDD.

So I tried to shift from virtual IDE to virtual SATA from this command-line, as standard user (virtual machines are not recognized as root, it seems normal) :

Code: Select all

VBoxManage modifyvm vm.name.containing.only.dots.alpha.and.numeric.chars -sata on

VirtualBox Command Line Management Interface Version 2.1.2_OSE
(C) 2005-2009 Sun Microsystems, Inc.
All rights reserved.

[!] FAILED calling machine->GetSATAController(SataCtl.asOutParam()) at line 2596!
[!] Primary RC  = NS_ERROR_NOT_IMPLEMENTED (0x80004001) - Not implemented
[!] Full error info present: true , basic error info present: true 
[!] Result Code = NS_ERROR_NOT_IMPLEMENTED (0x80004001) - Not implemented
[!] Text        = Method GetSATAController is not implemented
[!] Component   = Machine, Interface: IMachine, {ea6fb7ea-1993-4642-b113-f29eb39e0df0}
[!] Callee      = IMachine, {ea6fb7ea-1993-4642-b113-f29eb39e0df0}
It seems that virtual SATA is not supported, at least on AMD64, and I couldn't read it in the VirtualBox user manual : is that right ? If not, can you tell me what's wrong with my command; if yes, can you suggest me other failure causes or walkthroughs ?

Here is one other strategy I plan, and I hope you can tell me if it's realistic or not : creating a raw virtual HDD, mount the real Vista SATA partition on it (with hardware profiles pre-configured to welcome VirtualBox virtual hardware without problems), and then clone this RAW HDD partition to a VirtualBox virtual partition, that I'll then be able to save as .vdi etc. and use in a virtual IDE HDD. I'll wait your opinion to start it, since it's big-time consuming.

Ok, this is not all-related to VirtualBox, but this situation is complicated but not so rare, and I believe there must be more computering-knowledged people here than on a random "computer.com" forum.

Windows has never been so non-free that when it's sold bound to a specific hardware..

Thanks for help :)

Posted: 7. Feb 2009, 00:00
by aeichner
SATA is not available in the OSE edition. For additional information look here http://www.virtualbox.org/wiki/Editions

Posted: 7. Feb 2009, 02:11
by Rockz
Thanks for piece of information. I don't use the standard version since it's for work, and that the standard version can't be use freely for commercial purpose.

So, only the other solution is left : can I create a raw VM from physical Vista partition, and then clone this partition to a virtual one ? Are there other solutions to solve this problem ?

Posted: 7. Feb 2009, 22:20
by vsu
Rockz wrote:Thanks for piece of information. I don't use the standard version since it's for work, and that the standard version can't be use freely for commercial purpose.
Actually, the Licensing FAQ says
Personal use is when you install the product on one or more PCs yourself and you make use of it (or even your friend, sister and grandmother). It doesn't matter whether you just use it for fun or run your multi-million euro business with it. Also, if you install it on your work PC at some large company, this is still personal use.
However, what are you really trying to do with your Vista Home Premium OEM installation - you want to move it to a virtual machine? Most likely you will not be able to do this - such OEM versions are locked to the hardware (some BIOS tables contain a signature specific to a particular manufacturer and licensed OS version), and activation over the phone is probably disabled for such keys. The only legal solution is to buy another copy of Vista (and be careful - EULA for Vista Home versions before SP1 explicitly forbids installation on a virtual machine).

Posted: 8. Feb 2009, 15:54
by Sasquatch
vsu wrote:The only legal solution is to buy another copy of Vista (and be careful - EULA for Vista Home versions before SP1 explicitly forbids installation on a virtual machine).
MS has indeed noted in the EULA that it's not legal to run it in a VM, but they can't update the EULA in the installer from the first batch (those without SP1). You are however still allowed to run the non-SP1 in a VM. Dispite the EULA in the installer, MS changed it for all Vista (or some, don't know exactly) versions (like HP, Bussiness and Ultimate).
The most recent EULA should always be available on the website. And they can't change the EULA for a version that has an update more than another.