Some customers are asking us is it possible to run PC-3000 under Linux. We decided to make some testing and answer on this question.
For the lazy and busy: yes, it’s possible. But performance will be 4-5 times less. If you’d like to know why – you are welcome to read further.
I have already Windows and Ubuntu installed in my laptop.
As virtual machine solution I took Oracle VirtualBox, a free and open-source hypervisor for x86 computers.
To save drive space I didn’t created a new virtual machine from Vagrantfile, just created a link to real drive with Windows installed (I alredy have PC-3000 installed here). Here is the command for that:
VBoxManage internalcommands createrawvmdk -filename hdd.vmdk -rawdisk /dev/sda
Please note, that since I have GPT partitionning I used /dev/sda instead of mounting windows partition only (not mounted at screenshot above) and /dev/sda2 (which is /boot/efi). As I have GPT partitioning and Windows doesn’t have access to partition with Ubuntu it’s possible to create vmdk that linked to whole drive (/dev/sda).
Also, to be able to create vmdk from raw disk you need to use sudo or system user under which your are doing that must be added to “disk” group.
Then I just choose “Use an existing vitrual hard disk file” when creating new virtual machine:
Don’t forget to enable EFI if it was enabled when you installed Windows:
Then run machine and make sure that PC-3000 is visible in Device manager:
If you don’t see your PC-3000 in Device manager it means that you haven’t forwarded your usb device to guest machine:
If you want to get higner performance you need to install Oracle VM VirtualBox Extension Pack . It enabling support of USB 2.0 and USB 3.0 emulation (if you will set USB 3.0 mode for your you will get highest possible speed of operating with portable).
As you see PC-3000 software is running fine.
You may ask, is such configuration slow down PC-3000 app performance ? Yes, indeed.
How much ? Let’s make a speed test. I took a 2.5” WD3200BEVT-75ZCT2 drive and read first 25 mln LBAs (around 12 GB).
By default my virtual machine used USB 2.0 emulation and reading speed in PC-3000 was around 4 Mb/s, so readind tooks about 45 minutes. It’s extremelly slow and I decided to switch and try USB 3.0.
Result was 15 Mb/s and about 20 minutes. CPU loading was about 85%.
To compare I decided to test in on Windows that was run natively. Results was 24 MB/s and 12 minutes. Average CPU loading was about 33%:
In result, on native Windows imaging was 1.6x faster and 2.6x less CPU wasting than working via virtual machine.
In conclusion, I can say that in practise you can run PC-3000 on any operating system via virtual machine. But it’s a bad idea. Perfomance will be definetely less, no matter what kind of virtual machine solution you will use, VirtualBox or anything else. So for better performance and stability we recommend to work with PC-3000 software on natively intalled Windows OS and use recommended hardware.
Summary about system configuration that was used in testing:
Laptop: DELL Inspiron 3542 (4 GB RAM, Intel Celeron Dual Core 2957U)
Pc-3000 product: PC-3000 Portable
Host OS: Ubuntu 16.04 Xenial amd64 linux kernel 4.4.0-66-generic
Guest OS: Windows 10 Pro x64
Maximum reading speed without virtualization: 24 Mb/s (avg CPU loading ~33% )
Maximum reading speed with virtualization: 15 Mbs/s (avg CPU loading around ~90%)
HDD that was used for testing: 2.5” WD3200BEVT-75ZCT2
If you made such experiments with testing PC-3000 performance under virtual machnines – feel free to share your results in comments.