Cannot use Visual Studio 2012 remote debugger from inside VM - visual-studio-2012

I've seen a variety of questions (like this) which relate to my issue, but none that specifically address my scenario.
I'm running a Windows 8 VM inside VMWare Fusion on my Mac. The VM has shared network, filesystem, etc through the NAT network adapter.
As I'm building an app using Visual Studio 2012, I'd like to do some remote debugging on my Windows Surface tablet (WinRT)... and I have installed the remote debugging tools on the Surface.
However, Visual Studio (running inside the VM) can never see the Surface as a CPU running on the network subnet.
Any ideas? I've even tried physically connecting the computers with USB/Ethernet adapters, but the Surface won't let me install the firmware.

As long as the visual studio debugger can see the surface's IP that should be good enough. They don't need to be on the same subnet (although it makes it a ton easier, they cannot be NAT'd as far as I am aware but that's a better question for Microsoft directly). The best that I can recommend would be to switch from shared to bridge for your networking, that should put your Win 8 VM on an actual IP on the same subnet. Otherwise you might be able to try IPv6... but I don't know how well that will work with VMware.

Related

Is installing compiler on a virtual pc vs desktop more secure?

My supervisor is pushing developers to install any compiler (Visual studio etc) on a virtual machine vs desktop. His argument is, it is more secure to put compiler on virtual in case desktops are hacked. But if i can access virtual machine from my desktop then hacker can too. I am just trying to understand why it is more secure to put compiler on virtual. Thank you.
If virtual machine is hosted in the cloud(public/private/internal) then probably somebody else is managing security in the cloud. That case probably it is almost certain that it will provide more security then bare desktop.
However we are relying on the somebody.
If your VM is running on desktop hypervisor, then I would prefer doing all work on the VM. In hacking scenario, I would still have my desktop, while VM may be gone.
I have seen something similar when Ransomware attack happened, all windows desktop were gone including local filesystem/vms, but only VM running Windows were affected, and hypervisor and local filesystem were all good if running non-windows host os.
Not sure if it answer your question, but putting my perspective on what I have seen so far in the industry.

Run VMware inside nested VM hosted by Hyper-V

I work in an organization where we work on different projects, each of which has a developer image setup correctly with certificates, and many other things, which take more than a day to setup. We use Hyper-V for some images and VMware for others. As you know Hyper-V and VMware cannot run side-by-side.
As a developer I sometimes have to work on two different projects on the same day, solving bugs or whatever.
(I only have one dev PC with Windows 10 host OS - company policy)
Ideally I would want to run everything inside Qubes OS, but I am not allowed (yet...)
I would like to be able to run different VMs more or less at the same time. With different OS and other systems inside.
I found this article (thanks to Dan Scott-Raynsford, and others)
Run VMware nested inside Hyper-V
I was able to run the script from the Win 10 host OS, but it did not work for me for the OS versions I have. I can run VMware Player 12 nested inside Hyper-V running Win Server 2012 R2 images. But when I try to start the virtual machine inside the VMware player I get this error:
I tried this command:
bcdedit /set hypervisorlaunchtype off
But it did not solve the problem.
I was wondering if anyone made it work?
Or a better solution/suggestion for this problem?

HoloLens emulator on a virtual machine

I'm trying to develop for HoloLens but my laptop doesn't support the needed specs, so I was trying to figure out a virtualized solution (namely, using an Azure VM).
After unsuccessfully running the emulator on the Azure VM, I found that according to Microsoft (https://technet.microsoft.com/en-gb/library/hh831531), "The Hyper-V role is not supported on a Microsoft Azure virtual machine", which kills that idea.
Does anyone know of an alternative virtual option for developing and running the HoloLens emulator, which doesn't rely on the host machine's (i.e. my laptop) specs?
Yes, in the latest version of Unity which is Unity 5.5, there's a new feature called "Holographic Emulation" that will enable you to run on a simulated device directly in the editor.
As for the requirements, you need to have
Unity 5.5 installed in your machine
Windows 10 Anniversary Update (or later) installed
Here's the link to the blog in case you want to check more details about the simulator
Hololens emulator IS the Hyper-V virtual machine with Windows 10 and 3D graphic capabilities. The host machine should be able to run Hyper-V (CPU/BIOS limitation) and have a 3D adapter. More details are here:
https://learn.microsoft.com/en-us/windows/mixed-reality/using-the-hololens-emulator
Then you could install the emulator from
https://learn.microsoft.com/en-us/windows/mixed-reality/install-the-tools
Hololens emulator is not supported in VM due to CPU limitation, you can use holographic simulation in Unity instead.

Can I develop for Windows Phone 8 while using an Azure VM?

Title says it. There are not strong enough words in the English language that can express my hatred of Windows 8. I will not install it on my personal machine.
I was hoping to create an Azure VM and do my development there. But Windows 8 was not an option for a VM. So on a whim I created a 2012 Server VM and downloaded and installed the Windows 8 SDK. It installed fine.
I created a Hello World application and tried to run it. I got an error saying that Hyper-V was required. I used Coreinfo.exe to check and it says Hyper-V is not supported. So am I SOL?
The Windows Phone 8 emulator requires Client Hyper-V, which is a new feature of Windows 8. The emulator is an x86 virtual machine, which runs an x86 build of Windows Phone 8, and makes use of the RemoteFX technology for hardware virtual GPU support. It's so it runs at a high percentage of real device performance, and is very closely compatible.
Unfortunately, for hardware reasons, Hyper-V cannot be nested. In the Intel and AMD processor virtualization models, a guest operating system cannot itself be a nested hypervisor.
RemoteFX requires Second Level Address Translation. How to check if your processor supports it.
If you want to use the emulator, I'm afraid you have to install Windows 8. You can always dual-boot. Alternatively, get a phone developer-unlocked so you can debug on real hardware.

Running VMware in VMware?

We have a physical machine that runs VMware and hosts a VM we use for SharePoint deployment testing. That machine is old and dying, and my employer's network czars are heavily pushing hosted VMs as a replacement for outdated physical servers. I was curious about whether it's possible to run VMware inside VMware, and if so, whether there are severe performance implications. We don't require extreme performance from this setup, since it's just used for SharePoint testing and the associated SQL Server is on a different box. My guess is that we can't just use the primary hosted VM for our testing because we'll want to roll back occasionally and otherwise have more control over it, and getting buy-in for that from the network folks is unlikely. Does anyone have any experience with this?
edit: I know this nesting certainly isn't the preferred option, but (1) we want the flexibility of being able to use VMware snapshots at will and (2) the network folks will not allow us to arbitrarily roll back to a previous point in time because of the potential for removing mandated security updates. My guess is that a local desktop machine running VMware Workstation might just be the way to go. The hosted option seems attractive if it will work though since it's less machine maintenance for me to deal with.
The technical limitation with running VMware inside VMware is that VMware, Virtual PC, etc takes advantage of the Virtualization features present in modern CPUs.
If you have two or more hypervisors are both trying to control Ring 0 then there will be problems, this is something that I've encountered while trying to run both VMware and Virtual PC simultaneously on my desktop - one will error out/crash.
If your hypervisor can interact with the 'parent' hypervisor, then you'll be OK. Alternatively if the child hypervisor doesn't try to use the CPU virtualization features, or entirely emulates the CPU (such as QEMU) then you should also be OK.
Basically old-style hypervisors on old CPUs use Full virtualization (slow) which would be capable of nesting with a heavy, heavy performance hit. modern Hypervisors/CPUs use hardware assisted virtualization (near native performance) and you'd be hard pressed to find a hypervisor that is designed or capable of nested virtual machines.
Finally, I'd really advise against running dev/test VMs on the same physical server that is running production VMs. There's just too much to go wrong and security implications - you need to manage the dev/test environment and it sounds like you shouldn't have access to production environment. Likewise you probably don't want the operations team messing about with your test environment.
UPDATE: ESXi 4 now supports virtualizing itself. See this article for more information
I've never run VMware in VMware, but I've run VirtualPC inside VirtualBox without problems, so there's no fundamental reason it shouldn't work I suppose...
It sounds to me more like you have a problem with the inflexibility of your "network czars" than any technical one. If you're a developer or QA you need a testing environment where you can fool around with outdated (and potentially insecure) versions of the OS and applications, without putting the rest of the company network at risk.
Ex-VMware employee here.
Firstly, when you say Nested VMware I will assume you mean Nested ESXi. (You could also mean Workstation, Fusion, or Player).
Nested ESXi environments are unsupported and should not be used for production. These scenarios are not tested in QA and not guaranteed to work. In short, if you experience any kind of problem, VMware will not help you with this Nested ESXi setup.
With that said, yes you can do it and yes it does work. A lot of people use nested ESXi in their labs but not in production. Previously there were special configuration file edits that were necessary for nested ESXi to work. I have seen environments with even 3 layer nested ESXi servers (ESXi vm on and ESXi vm on a physical ESXi host). More recently there is the ESXi appliance which makes this much easier.
Have a look here:
http://www.virtuallyghetto.com/2015/12/deploying-nested-esxi-is-even-easier-now-with-the-esxi-virtual-appliance.html
I ran into this same problem. I work at a large company where our entire infrastructure is virtual, so if you need a server you get a VMware VM. So I had a couple of Windows 2003 Server Standard Edition based Guest VM's that had 6GB of memory and 200 GB of disk space, but I wanted to run linux and a LAMP stack on them. So I tried to install VMware Workstation on one and I got an error message saying it couldn't be installed within a VM. I also tried Microsoft Virtual PC and got a similar error message. I installed Sun's VirtualBox and that installed fine, but I couldn't get the networking to work w/in the guest Ubuntu OS. My next step is to try QEMU although performance might become an issue.
You ought to have a look at Mainframes - they are Virtualised from the word go:
Hardware - runs Hypervisor Type 1 - Level 1
on this you have zVM - Type 2 Hypervisor - Level 2
on this you have zOS - your main big operating system - Level 3
and/or
on this you have zLinux - Level 3
and/or
on this you have zVM for testing next version - Level 3
and/
on this you have zOS for testing zVM plus zOS both at next version - Level 4
So going down to level 4 is pretty common
Mind you on a Mainframe you can have 1000's of VMs running at the same time - and most sites who start using zVM/CMS and zVM/Linux usually do.
I can see two solutions for this (three if you count a VM inside a VM which is just crazy).
New hardware, which should be robust enough to handle several VM's used specifically for testing (sharpoint, etc.). In this situation your team could be given more rights without affecting non-testing VM's.
Sharepoint test VM's are moved to the main VM pool and those who need access are given the ability to checkout/deploy/rollback testing resources. This could be direct through VMWare tools or through an internal project that works through a VMWare API.
This should be a joint decision between Network/Dev/Testing.
JFYI:
I tried installing and running VMware ESXi server host(child ESXi server) as a virtual machine(on parent ESXi server) and it runs however you can not run any VMs under child ESXi server.
I am doing practice of VMware vSphere Data center virtualization on single Physical machine. There is VMware Workstation installed on Windows 8 OS. In VM Workstation, I have installed Windows Server 2008 OS, VMware ESXi OS and created the VMware Data center LAB. There is VMs running in LAB, and its confirm that We can user VMware in VMware. But it depends on your need, and Products which is chosen.
You can install ESXi on VMware Workstation, it's usefull to learn ESXi, so there in no reason run VMware in VMware.
Yes. You can run VMWare inside VMWare. Though its not officially supported, You can deploy VMs in the child ESX. I have checked for an advanced feature like PassThrough the HBA card but which was not available in child ESX, hence I could not provide a LUN from array.
So in production its better to not use this.
But for training and practices this can be used.
You can do that.
You can install vmware esxi inside virtual machine of another vmware esxi.
But the performance will be very bad.
Totally works.. totally can't do it other then for some kinda testing or some kind of educational purpose, because you won't get support. and from my limited experience it doesn't perform that well.
Yes, you can, VMware can even detect if it's running inside of another vmware machine and warn you that VMception will cause worse performance. which it will, trust me, just try to get the version the virtual machines work best in a physical machine, as to get as much performance possible.
"whether it's possible to run VMware inside VMware" What?
I can run Windows with Sharepoint in a VMWare machine that's hosted somewhere.
Or, I can run Windows with Sharepoint in a WMWare machine that's actually a VMWare machine that's hosted somewhere.
Why on earth would I add a level of nesting? Why not just go with Windows with Sharepoint hosted somewhere?
You can have any number of VMWares running on a single host. Lots of different versions doing lots of different things.
Nesting them doesn't make sense.

Resources