VirtualBox, mounting the virtual HDs
Posted: Tue Apr 07, 2009 8:29 pm
Hi all,
Usually I use RosTE to test ROS, QEMU is good, but VirtualBox is faster. There's a problem though, it's very difficult to transfer files between the host and the guest (without using CD images). So I'll explain how to do it in a very easy way, making the passage from qemu to VirtualBox a painless experience.
- Don't use the VDI images, they're hard to mount. Use the VMDK format.
Create a template image file with RosTE or use QEmu: i.e. qemu-img.exe create -f vmdk template.vmdk 4G
- For some strange reason, once used in VirtualBox, VDK (the program used to mount VMDK images as units) will complain about some incongruence with the virtual hd before mounting it, for this reason trying to mount it via RosTE will fail, and doing so manually will require a lot of 'i' answers *(1):
So to fix this problem, I've modified VDK to ignore those problems, this way you can actually mount the HD without any request. Be warned, you won't get any error message about it.
- Download the modified VDK program from here. Just overwrite your VDK.exe (it's in Program Files\RosTE\vdk or where you've installed it if done manually) with this one.
That's it.
Now you can mount your virtual disks used in VirtualBox to exchange your files.
Thanks a lot to KJK::Hyperion for re-compiling the program!!!
EDIT: Added links for the utilities:
Modifed VDK: here.
Original VDK driver for mounting vmdk images: link (needed if you don't have RosTE)
(VDK.EXE and VDK.SYS Copyright (c) 2003 Ken Kato (chitchat-lj at infoseek dot jp))
VDK GUI front-end: link (in case you don't have or don't won't RosTE)
RosTE (ReactOS test environment with qemu): here.
Improved RosTE GUI (install roste and overwrite with this file): here.
Some screenshots:
VDK GUI Front-end. Here you specify where the VDK driver is:
[ external image ]
VDK GUI Front-end. Choose your virtual disk, and what unit you want it mounted to:
[ external image ]
RosTE, here you can mount your vmdk images or create new templates:
[ external image ]
By gabriel_it
*(1)
C:\Programmi\RosTE\VDK>vdk open 1 e:\ReactOS\vboxhd.vmdk
Virtual Disk Driver for Windows version 3.1
http://chitchat.at.infoseek.co.jp/vmware/
Started the Virtual Disk Driver.
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.uuid.image = "c06e5513-077f-4c91-94cb-6a65a56f662f"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.uuid.modification = "086c3034-0320-404e-9fd3-686326a5b481"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.uuid.parent = "00000000-0000-0000-0000-000000000000"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.uuid.parentmodification = "c1607505-f5ff-46ce-bb57-87be6cc4dc81"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.geometry.biosCylinders = "522"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.geometry.biosHeads = "255"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.geometry.biosSectors = "63"
A) abort / I) ignore ? i
Usually I use RosTE to test ROS, QEMU is good, but VirtualBox is faster. There's a problem though, it's very difficult to transfer files between the host and the guest (without using CD images). So I'll explain how to do it in a very easy way, making the passage from qemu to VirtualBox a painless experience.
- Don't use the VDI images, they're hard to mount. Use the VMDK format.
Create a template image file with RosTE or use QEmu: i.e. qemu-img.exe create -f vmdk template.vmdk 4G
- For some strange reason, once used in VirtualBox, VDK (the program used to mount VMDK images as units) will complain about some incongruence with the virtual hd before mounting it, for this reason trying to mount it via RosTE will fail, and doing so manually will require a lot of 'i' answers *(1):
So to fix this problem, I've modified VDK to ignore those problems, this way you can actually mount the HD without any request. Be warned, you won't get any error message about it.
- Download the modified VDK program from here. Just overwrite your VDK.exe (it's in Program Files\RosTE\vdk or where you've installed it if done manually) with this one.
That's it.
Now you can mount your virtual disks used in VirtualBox to exchange your files.
Thanks a lot to KJK::Hyperion for re-compiling the program!!!
EDIT: Added links for the utilities:
Modifed VDK: here.
Original VDK driver for mounting vmdk images: link (needed if you don't have RosTE)
(VDK.EXE and VDK.SYS Copyright (c) 2003 Ken Kato (chitchat-lj at infoseek dot jp))
VDK GUI front-end: link (in case you don't have or don't won't RosTE)
RosTE (ReactOS test environment with qemu): here.
Improved RosTE GUI (install roste and overwrite with this file): here.
Some screenshots:
VDK GUI Front-end. Here you specify where the VDK driver is:
[ external image ]
VDK GUI Front-end. Choose your virtual disk, and what unit you want it mounted to:
[ external image ]
RosTE, here you can mount your vmdk images or create new templates:
[ external image ]
By gabriel_it
*(1)
C:\Programmi\RosTE\VDK>vdk open 1 e:\ReactOS\vboxhd.vmdk
Virtual Disk Driver for Windows version 3.1
http://chitchat.at.infoseek.co.jp/vmware/
Started the Virtual Disk Driver.
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.uuid.image = "c06e5513-077f-4c91-94cb-6a65a56f662f"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.uuid.modification = "086c3034-0320-404e-9fd3-686326a5b481"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.uuid.parent = "00000000-0000-0000-0000-000000000000"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.uuid.parentmodification = "c1607505-f5ff-46ce-bb57-87be6cc4dc81"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.geometry.biosCylinders = "522"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.geometry.biosHeads = "255"
A) abort / I) ignore ? i
'e:\ReactOS\vboxhd.vmdk' Invalid description entry.
> ddb.geometry.biosSectors = "63"
A) abort / I) ignore ? i