virtualbox

Windows 7 running on a MacBook Pro in VirtualBox – The Ultimate Sin

I think I’ve committed several sins here. I installed VirtualBox so I could set up a Windows 7 machine. No big deal, I’ve done that dozens of times in the past, but now I’ve done it under the OSX using the Macbook Pro work just gave me. I believe I hear a torch bearing crowd gathering outside the castle walls!

Actually, it runs very well, at least so far. I don’t really have anything installed yet, but Windows is quite responsive with just the 2GB of ram I gave it. I need to do browser tests and some of that will have to be done under Windows – curse you IE!! Things are working out pretty well so far. VirtualBox works exactly the same under OSX so getting a machine up and running only took a few minutes. Now, I’m not connecting it to AD or any other MS systems, it’s simply there to connect to the Internet and load web pages.

I’ve wanted to try this experiment for months and so far it’s a huge success. Only the install is done so now it’s time to spend weeks downloading updates, but it’s working so far.

You know, this Mac ain’t so bad after all! And no, this Virtual Machine is not a replacement to using OSX. So far, I find OSX to be perfectly fine. Yes, things are a little different, but then again, Windows 8 and Windows 7 have nothing in common when it comes to UI. Things are almost identical under the hood, but talk about things being different.

Win7onOSX

Other articles of interest:

How to configure a Web Server within VirtualBox

The point of the project was this, create a web server using VirtualBox and host it on a Windows 7 64-bit platform. And why would I do something odd? Well, I need a copy of Windows 2003 Server Web Edition running on a new platform since the physical PC it was running on literally tore itself to pieces. The drives failed and the cost of buying EIDE drives is just a waste of money.

So why not just upgrade? Well, I will in the future, but I was actually using that machine. I’m familiar with 2003 and had everything dialed in the way I like it. And why host it in Windows 7? That’s the host OS of my most powerful machine, a 6-core machine with 16GB of ram. No sense in rebuilding everything when Windows 2003 Server isn’t multicore aware and only accesses 4GB of ram. But anyway, the OS and the host are sort of irrelevant, it’s the configuration that’s important. So here’s what I did.

First, within VirtualBox, change the networking from NAT to BRIDGED ADAPTER. Select the physical network adapter you want your host machine to connect to. If you have more than one network card, pick which one you want the Guest OS using. My machine has both wired and wireless NICs. I set VirtualBox up on the Wireless NIC.

image

Second, pick the Virtual network card you want the guest OS to emulate. I chose the Intel Pro/1000 MT.

Third, boot the Guest OS and change the IP address of the virtual machine to the same IP address as your internal network. By default VirtualBox using 192.168.56.1. You Guest machine will probably have a similar address. Change it over to the same IP range as the guest machine, something like 192.168.1.xxx. For example, my host is 192.168.1.100 so the guest is 192.168.1.101. You need to give it a static IP address so you can set the Port Forwarding on your Router.

image

Fouth, set Port forwarding on your router. Send traffic destined for port 80, 21 and whatever else you like (such as RDP) to the internal address of the Guest machine. Again, if the Guest is 192.168.1.101 then forward the traffic to that address. DON’T send anything to the VirtualBox network address of 192.168.56.xxx.

image

Finally, make sure to DISABLE all POWER MANAGEMENT functions of both the HOST and GUEST OS. And not just for the machine and hard drives. Make sure you turn it off for the Network Cards. Your Server OS probably doesn’t have anything, but the Host might. My Windows 7 machine had Power Management turned on for both NICS. Disable that or your web server won’t get any traffic. For Windows 7 – Control Panel – Power Options – Change When the Computer Sleeps.

For the network card, Control Panel – Network and Internet – View Network Status and Tasks – Change Adapter Settings – Pick the BRIDGED ADAPTER you selected in VirtualBox, Right Click and choose Properties – Click Configure for the networking device itself. Click the Power Management tab to turn off any power saving options.

image

image 

That should be it. I now have Windows Server 2003 on the live web and it loads PHP, HTML and ASPX pages just fine. In fact, it’s faster than it ever was on the old hardware. Now I can load Windows Server 2008, configure it within it’s own VirtualBox, load all the correct modules and make the switch when I’m ready. Plus, I can have a standby server by making a copy of the VHD files.

This is specific to Windows 7 and Server 2003, but the concept is the same. You need to configure a BRIDGED APAPTER and configure a STATIC IP ADDRESS in the Guest OS. From there, you should have it all set.

Other articles of interest:

VirtualBox Cannot register the image because UUID already exists

I’ve ran into a snag with VirtualBox. I made some images on my work laptop and when I try to load them on my home desktop machine I run into the following error:

Cannot register the image ‘C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso’ with UUID ‘{4a16c3ed-691e-4878-9576-d1113bc5a699}’
because a ‘C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso’ with UUID {…} already exists

It turns out the Guest Additions ISO is loaded for one of the images, but I have no idea which one since UUIDs mean nothing to me. Basically, the Virtual Machine won’t load and there doesn’t seem to be a whole you can do about it from the UI.

After doing some digging I believe I have a way to get around the problem quite easily.

Go into the directory where the Virtual Machine file is located and open the .VBOX file. It’s an XML and is easily read by an editor such as Notepad++.

Look for the line: <HardDisk uuid="{4a16c3ed-691e-4878-9576-d1113bc5a699}" location="Windows 2008.vdi" format="VDI" type="Normal"/> as in this example:

<HardDisks>
  <HardDisk uuid="{4a16c3ed-691e-4878-9576-d1113bc5a699}" location="Windows 2008.vdi" format="VDI" type="Normal"/>
</HardDisks>

Remove the whole HardDisk uuid= entry so that there is no entry between the two HardDisk tags.

Save the file and double-click the .VBOX filename again. It should load correctly and the image should appear in the list of machines. You can add the Guest Additions back in once the machine starts up again.

You may also see this error when trying to clone the drive:

"Failed to clone the virtual machine <name>.
Cannot register the image ‘C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso’
with UUID { <number> } because a CD/DVD image ‘C:\Program Files\Oracle\VirtualBox\VBoxGuestAdditions.iso’
with UUID { <number> } already exists.

Other articles of interest:

Converting A Physical Hard Drive To A Virtual Hard Disk

At first glance the project seemed easy – clone the physical hard drive inside a server and restore it into VirtualBox so as to use the virtual copy. Turns out, it doesn’t work the way I envisioned it in my head. All the latest software made promises of one-click cloning and on the fly conversion to VHD. But in the end, after three days of trying, I’m scrapping this project. I just can’t seem to get it to work.

I tried using the latest software like O&O DiskImage 6, which listed VHD as one of the output formats. Well, it outputs to VHD alright, but that image doesn’t load. I cloned the drive without incident, but for the life of me I can’t that server to boot in a virtual environment. I created a VHD, I restored to a new VDI, I installed a new OS and tried the restore from there, I used a boot CD and restored from there. Not one of these methods would actually produce a working system. I can lay down the data to a data drive and see all the content with no problem, but no matter which process I use I can’t seem to get a bootable clone of my server. I admit, I’m not the sharpest knife in the things that holds knives, but I can’t for the life of me see what I’m doing wrong. I’ve been trying for three days and have called it quits.

This was supposed to be a simple task, a 3-4 hour job that would transport the server from the physical realm to the virtual one. With the amount of time I’ve wasted I could have installed a new server, installed all the frameworks and rebuilt everything from scratch, which is exactly what I’m going to do. I wanted a clone so I could perform maintenance with minimal downtime. If I had to rebuild the damn thing, I might as well start over and do a full blown upgrade.It’s not what I had in mine, but when all else fails, reinstalled is the best option.

If anyone knows the right process, the right software, the right way to hold your fingers to clone a drive and get it to load in VirtualBox, please let me know. I’m dying to know how it’s done. It’s sort of like a magic trick, I want to know how the cool kids do it.

Other articles of interest:

Recent Comments

  • How To Disable the Quicken Registration Prompt (26)
    • Denise Defoor: I have a Quicken SE Version 6 .. My computer crashed a few weeks ago and I finally got it up and running. Now Quicken is telling me I must registered it. What? I have had this program for 20 years. How can I disable the...
    • Greg: For me, holding the *LEFT* CTL + Shift then clicking Online, One Step Update worked. I originally tried holding the right CTL + Shift, and it didn’t work. I’m using Quicken 2006, so I don’t know if it will work...
    • Joe SR>: My monthly income is deposited into my Credit Union account. I use debit whenever possible. I write checks manually and mail them. I use Quicken 2012 off-line only. I have entered all my money and investment accounts. I...
    • Prtet: Never say never….every time I swear I will never use Quicken again, I discover that there are still no viable alternatives. Amazing that there is no decent personal finance software.
    • Joe D.: Holding CTRL + Shift keys and selecting On Line | One Step Update from the main menu worked for my Quicken 2004. I’m grateful that you wrote a synopsis (“Simply put, …”) just beneath the link to the blog...
    • Susan Long: I bought my quicken disc in the beginning and it came with a registration number. I rang the helpline and they gave me the code to put in and talked me through it. It you downloaded your version then you don’t own it...
    • Peter: You might consider running your old version of Quicken on an ancient computer. This is what I have done for years. The newer versions are fraught with problems- criminal, in my opinion. One version made mathmatical errors when...
  • Parsing Strings in Katalon – Split, Substring and Readlines (4)
    • Anjana: Hey thanks for the response It is quite strange but initializing variable for delimiter and it worked String splitFormat = ‘-‘ WebUI.println(var_CampaignDura tion.toString().split(splitFor mat)[0])...
    • Don Pedro: I’m not really sure what the difference is, but I don’t think the “-“ in the split is the same as the one in the date. String var_CampaignDuration = “05/13/2019-06/07/2019&# 8221; String[] parsedDateRange =...
    • Anjana: Hi, I tried the same thing to split the string, but does not work for me, Could you plz point out whats wrong Variable var_CampaignDuration has value “05/13/2019-06/07/2019&# 8221; String[] parsedDateRange =...
    • Ellen: Thanks for sharing!! I like your contributions to Katalon topics.
  • How to Block games by Title and Tag on Steam (2)
    • Marcus861: I made an acc just to say: Same bro
    • JACK: Thanks, same just wanted to block anime games in my discover
  • Create a new and random UUID for an API call (1)
    • Anonymous: Hi ! I found this blog few weeks ago and it’s really helping me out with my tests! Thanks a lot for the Katalon tips and tricks ! Keep up the good work 🙂
  • Working with Dates and Date Formatting in Katalon Studio (6)
    • Ajoo: Thank you for the details. How do i remove leading “0” from dates. i.e. while formatting i receive 04/21/2019, but i need 4/21/2019. (same applies for date)