VPC -> VBox (vhd -> vdi) Success (and procedures)

Discussions related to using the OSE version of VirtualBox.
Post Reply
LewisR
Posts: 24
Joined: 7. Sep 2008, 02:12
Primary OS: openSUSE
VBox Version: OSE self-compiled
Guest OSses: OS/2, Windows, Linux, Android, NetWare

VPC -> VBox (vhd -> vdi) Success (and procedures)

Post by LewisR »

Son of a gun...it worked.

FACTS:

WXP Pro SP2
dynamic volume, split into (3) 2GB chunks + (1) 512MB piece
previously running under VPC 5.1 for OS/2
fresh install of ecS 2.0 RC5


PROCEDURES:

Old system:

0. BACK UP EXISTING vhd image(s).
1. Ensure that adequate space is available to expand dynamic volume (need an amount equal to the max size configured for the volume).
2. Start VPC and run the virtual disk wizard to convert dynamic volume to fixed volume.
3. Edit virtual machine (if necessary) to point to "new" vhd.
4. Start virtual machine.
5. Uninstall VPC additions.
6. Uninstall anything else which might complicate a repair install of XP (NetWare client, etc.) Trust me, you'll want to do this.
7. Shut down virtual machine cleanly.
8. (Optional) Transfer image to different (portable or network) media for relocation to new system.

New system:

1. Download Paul's latest build of vbox
2. Download sdl-1.2.10-bin-20080121.zip from Netlabs (need two dlls)
3. Extract vbox to c:\, which creates \vbox directory structure
4. Exctract sdl-1.2.10-bin-20080121.zip to \var\temp
5. Copy FSlib.dll & SDL12.dll to \ecs\dll
6. (Optional) Create desktop object for virtualbox.exe
7. Obtain a copy of qemu-img.exe (for OS/2, in this case) from Paul (not packaged with the 5/2008 build of vbox)
8. Switch to the directory where qemu-img.exe is located and convert the vhd to a raw file:

Code: Select all

qemu-img.exe convert {old}.vhd -O raw {new}.bin
replacing {old} and {new} with the filename(s) of the vhd and bin images, respectively.
9. Convert the binary image to a vdi using vditool.exe, located in the \vbox directory:

Code: Select all

vditool DD {new-new}.vdi {new}.bin
replacing {new-new} and {new} with the filename(s) of the (new) vdi and (existing) bin images respectively.
N.B.: The syntax here is directly opposite what I've read in the virtualbox forums, i.e., the vdi filespec comes first, and the file to convert comes last.
10. Create a new virtual machine for XP, using the defaults. DO NOT enable IO APIC.
11. Capture an XP Pro (OEM, in this case) iso.
12. Boot from the iso of the XP Pro CD.
13. Continue with the repair installation (i.e., go through the steps to install; there should be a discovery of the existing Windows installation and a prompt to press "R" to repair); this will (re)enumerate the hardware.
N.B.: You will need your keycode to complete the repair installation.
14. Once the repair is complete, you will be prompted to (re)activate your installation; do so.
15. Wait for the MBFH (Monster Boot from H-ll - with apologies to David Moskowitz, et al).
16. Log into the virtual machine (if necessary).
17. Install the guest additions.
18. Reboot.
19. Have a nice day!

NOTES:

MergeIDE is not necessary, as the STOP 07 (inaccessible boot device) makes no difference; the repair installation will properly enumerate the new IDE interface (IDE is a controller-less interface; by definition, the controller is located on the drive, not in the machine, but that's a discussion for another place).

If the NetWare Client is installed before the guest additions, GINA chaining is not quite right (at least under vbox 1.6.1 OSE using the 1.6.6 additions), resulting in a hang getting past the NWGINA. This may also affect other GINAs (I haven't tested). If this happens, boot to safe mode and uninstall the NetWare client (ignore the warning about not being able to start the installer service while running in safe mode; Novell handles the uninstall of the 4.91 SP4 client quite elegantly). Reboot, log in, and reinstall the client.
IAmAI
Posts: 5
Joined: 1. Sep 2008, 14:39

Re: VPC -> VBox (vhd -> vdi) Success (and procedures)

Post by IAmAI »

LewisR wrote:

Code: Select all

qemu-img.exe convert {old}.vhd -O raw {new}.bin
replacing {old} and {new} with the filename(s) of the vhd and bin images, respectively.
If you want your output file to be called {new}.bin rather than -O, enter the arguments in the following order:

Code: Select all

qemu-img.exe convert -O raw {old}.vhd {new}.bin
LewisR
Posts: 24
Joined: 7. Sep 2008, 02:12
Primary OS: openSUSE
VBox Version: OSE self-compiled
Guest OSses: OS/2, Windows, Linux, Android, NetWare

Re: VPC -> VBox (vhd -> vdi) Success (and procedures)

Post by LewisR »

IAmAI wrote:
LewisR wrote:

Code: Select all

qemu-img.exe convert {old}.vhd -O raw {new}.bin
replacing {old} and {new} with the filename(s) of the vhd and bin images, respectively.
If you want your output file to be called {new}.bin rather than -O, enter the arguments in the following order:

Code: Select all

qemu-img.exe convert -O raw {old}.vhd {new}.bin
Unfortunately, this syntax did not work under OS/2, hence my earlier (correct) statement, which resulted in {new}.bin.
IAmAI
Posts: 5
Joined: 1. Sep 2008, 14:39

Re: VPC -> VBox (vhd -> vdi) Success (and procedures)

Post by IAmAI »

LewisR wrote: Unfortunately, this syntax did not work under OS/2, hence my earlier (correct) statement, which resulted in {new}.bin.
I did this in Windows, so I guess syntax varies from OS.
LewisR
Posts: 24
Joined: 7. Sep 2008, 02:12
Primary OS: openSUSE
VBox Version: OSE self-compiled
Guest OSses: OS/2, Windows, Linux, Android, NetWare

Post by LewisR »

I should probably have been explicit in my subject. I was surprised by the parameter ordering (I actually ran it the expected way first, and when that didn't work out, I went back and tried a couple different permutations).

Cheers.
Post Reply