Critical flaw with VMware & Windows 10 preview 9879

As much as I’ve been enjoying 10, there is one issue, which is that I use a lot of VMs.  And I didn’t notice this until it was time to run updates on the Windows & Linux VMs.

As they went to reboot the system locked up hard.  Event viewer gave me this…

Event 1001, BugCheck

Event 1001, BugCheck

I tried updating one VM at a time… crash, updated my BIOS for the heck of it, crash.  Downgraded from Player 7 to 6.0.1 and crash. crash crash crash!

So I had to look to the user forums where more people seem to be greiving for their Pentium 3’s with 256MB of ram.  This issue was effects both Workstation & Player, as they have the same core tech. Since I’m cheap this hits Player 6 & 7.  I saw this buried at the bottom of the Workstation 11 release notes (workstation & player have the same core)

Shutting down a virtual machine on a host running Windows 10 Tech Preview can cause a blue screen.

If you have Workstation installed on a host that runs Windows 10 Tech Preview, occasionally when you shut down the guest operating system in a virtual machine, the host computer might restart unexpectedly. In this case, you see the following error code on a blue screen: DPC_WATCHDOG_VIOLATION. This issue can sometimes also occur with power-off and suspend operations.

Workaround: If a newer build of Windows 10 Tech Preview is available, try updating to the newest version.

Fantastic.

Unfortunately, a new full build isn’t expected until after the first of the year.

This will be the last new build of the year for Windows Insiders

So there is no workaround.

A’int that a kick in the head?

One crazy thing I’ve found is that MS-DOS & Novel Netware 3.12 work fine.  You can reboot/turn off/pause them without any issues.  But if you think about installing NT/2000/XP or Linux onto a MS-DOS VM something that it does to the virtual hardware sets it up for the same issue where a reboot or shutdown will cause 10 to lock up.

VMWare Player 7 is out!

First the pro version is still on sale, ending on December 5th

VMware Player 7 pro

VMware Player 7 pro

And for those wondering, where is the regular VMware Player 7? Buried down in the downloads section.. Right HERE!

VMware Player 7

VMware Player 7

Or if you prefer:

First of all support for 32bit hosts is gone.  This build should have better support for Windows 10.  For those who are worried, 7 still supports Windows 9x, NT 4.0. My nested ESXi still works fine, as does my Novel Netware 3.12!

And for Mac users, VMware Fusion 7 is on sale, which is great for OS X users who’ve upgraded to OS X 10.10

What is the difference between Pro and Free? From the FAQ:

  • VMware Player Pro is designed to be used commercially. It is licensed for use by employees, training organizations, contractors and can be transferred to partners or potential customers.
  • VMware Player Pro is enabled to run restricted virtual machines created by VMware Fusion Pro or VMware Workstation

For me, Player 6 removed the ability to easily create VMnet adapters easily, allowing elaborate network configurations with GNS3.  Minus a few UI issues I’m kind of liking Windows 10.  I may switch out my main OS, although I’ll certainly need the newer player.

Anyways, no I don’t get paid for this kind of thing, but I know people who use this stuff won’t want to miss out on a sale.  ESX starter is on sale as well, but only 15% off.

Using IDE hard disks on VMWare ESXi 5.5

I’m sure this applies to other versions as well.

VMWare stores the configs, and files on the UNIX file system, which you have to edit by hand.  You can’t do this in the UI, as VMWare tries to be SCSI only.  But if you manually edit the files, you too can enjoy a virtual IDE disk.

You need to enable SSH access to the ESX server, or do this change on the console.  Configs live in:

/vmfs/volumes/<storage group name>/<virtual machine>/

So for example, mine is:

/vmfs/volumes/datastore1/UnixWare 7.1.1/

First, edit the .vmdk file.  You are looking for the line:

ddb.adapterType = “buslogic”

And you change the buslogic to ide like this:

# Extent description

RW 16777216 VMFS “UnixWare 7.1.1-flat.vmdk”

# The Disk Data Base
#DDB

ddb.adapterType = “ide”
ddb.geometry.cylinders = “1044”
ddb.geometry.heads = “255”
ddb.geometry.sectors = “63”
ddb.longContentID = “8f535bb60df8d73a86c24853fffffff

The next thing is to alter the vmx file.  By default the hard disk will be on scsi0 and you’ll see something like this:

scsi0.present = “TRUE”
scsi0:0.deviceType = “scsi-hardDisk”
scsi0:0.fileName = “UnixWare 7.1.1.vmdk”
scsi0:0.present = “TRUE”

And what we do is rename the scsi0:0 to ide0:0

ide0:0.present = “TRUE”
ide0:0.deviceType = “disk”
ide0:0.fileName = “UnixWare 7.1.1.vmdk”
scsi0:0.present = “TRUE”

And you should be good to go.  The other (much easier) alternative is to try to use the legacy OS/2 profile as it’ll install an IDE disk by default.

IDE hard disk on VMWare ESX

IDE hard disk on VMWare ESX

Yay!

You should check out sanbarrow’s guide to more options you can configure in your VMX file.

SoundBlaster support on VMWare Player

Well it’s kind of skinny to be honest.  It works, Kinda though.

You can either have AdLib/OPL3 emulation, OR the PCM/Wave.

You can’t do both at the same time.

Really.

Edit the .vmx file, and look for the sound section..

sound.present = “TRUE”
sound.virtualDev = “sb16”
sound.opl3.enabled = “TRUE”
sound.autodetect = “TRUE”
sound.baseAddr = “0x220”
sound.dma16 = “7”
sound.dma8 =”1″
sound.irq = “5”
sound.mpu401baseAddr = “0x330”
sound.Opl3BaseAddr = “0x388”

And add in something like this.  To get the opl3 emulation set it to TRUE, but the PCM won’t work.  Set it to false and you’ll get sound.

And of course set your environment variable for MS-DOS

SET BLASTER=A220 I5 D1 H7 P330 T6

yay.

I’ve tested it with Doom v1.1, and it works.  Of course you can ‘cheat’ and setup a network game, with one player with Adlib, and the other with the Sound Blaster.  But I know that’s crazy!

OS/2 2.0 on VMware Player

Well this has been driving me crazy for the longest time.  The ‘latest’ drivers for the AMD Pcnet card I can find for VMware is 4.08.  They load up on VMware like everything is normal but it doesn’t work.  But now I have my super awesome GNS3 test bed, so I can take a deeper look.

NDIS2 Driver for OS2 MSLANMAN
December 2000
NDIS2 driver for OS2 – Readme
Version 4.08

Changes made in this version 4.08:
The receive buffer size has been increased from 1518 to 1536.
Changes made in this version 4.07:
Slow network performance when using Interrupt Sharing has been fixed.
After heavy stress for a few hours, a drastic reduction in data transmission was observed. This problem has now been fixed.
The maximum number of Transmit Buffers that the driver can support has now been increased from 16 to 32.

I’m using OS/2 2.0 with the XR06100 fix, along with TCP/IP 2.0 with UN64092 fix and MPLS WR06000 (I never did find a fixpack for this).

I installed AMD’s MSLANMAN OS2 driver, as MPLS picks this up, and lets me use the nice UI to add in the network card.  But it never seemed to matter, as the blasted thing didn’t work.

MPLS

MPLS all configured

Which is a pretty simple configuration.  It’s just a simple lan adapter with TCP/IP.  I’m not even going to try to do anything fancy, like trying to get the wildly incompatible NetWare client working

ARP

ARP

Now much to my surprise the machine does send gratuitous arp on the wire, to assert it’s ip address.  Well that is interesting.

Pinging the gateway

Pinging the gateway

And as you can see, there is no ARP reply. Very strange.

Broken Arp

Broken Arp

So messing around with every possible option, I tried changing “PermaNet Server feature” in the network card settings.

fix

Set PermaNet Server feature to TRUE

And much to my surprise, it worked!

 

h

Yay!

So yeah, this is pretty awesome!  Now I just have to decide what to do with my BBS, maybe bring it home, and run it on ESXi.

Talking to the SIMH Vax through GNS3

Talking to the SIMH Vax through GNS3

As a strange update, I upgraded from OS/2 2.0 to 2.11 and then applied XR_B108 update to OS/2 2.11, and amazingly the value psfeature in protocol.ini had to be set to false.  Obviously this later kernel in the XR06200 fixpack better supports PCI hooks.

I updated OS/2 because things like Qbasic were able to hang the system.  I even tried the MS-DOS version of Qbasic thinking that somehow it was trying some weird hook to the BIOS for ROMBASIC, but that wasn’t the case, as both Qbasic from MS-DOS 5.0 and 6.22 hung the system by hitting alt+f.  So with the upgrade in place it seems to be working fine now.

GNS3 & VMware

Well I’ve been back using GNS3 to simulate some networks professionally.  And well, I hit a roadblock of a strange kind.

In my “LAB” I want to have a ESXi host talking to vCenter, and I wanted to setup a custom logging program which logs to MSSQL, and Maybe Oracle.  For routing I need Junos and cisco IOS.

Now the problem is that takes a little bit of everything.  The Qemu bundled with GNS3 horribly ancient, and my attempt to drop in Qemu 1.6.0 just fails.  Also running things like Windows Server 2008r2 and ESXi run best under VMware.  The SQL server stuff can be any version, so even NT 4.0/SQL 7 is fine which GNS3’s Qemu can run, but it is kind of slow.  Which I know it isn’t fair to compare something like Virtual Box to VMWare.

So ideally the best  bet is to tie them all together, and I found a way.

First I’m using VMWare Player version 6.0.1 build-1379776.  The people financing this insane project have things like VMWare workstation but I have to download it through them, and their link is insanely slow, so I’m sticking with the player for now.  But I was able to persuade a user to extract “VMware Workstation 10.0.2 build 1744117”, and retrieve two files for me,  vmnetcfg.exe and vmnetcfglib.dll.  So this way I can setup VMWare network interfaces which GNS3 can then latch onto with pcap.

The feature was available in earlier versions of VMWare Player, but the needed files were removed in the latest version.  However I found if you have access to a new version of VMware Workstation you can just snag these two files, and run them like this (as administrator):

rundll32.exe vmnetcfglib.dll VMNetUI_ShowStandalone

And now you can setup some networks.

x

VMware’s default network setup

Now from what I have read online, the best thing to do is leave the default networks alone.  However I found that if I left VMNet0 to the defaults I was unable to join any VM’s to the different networks.  So I bind this to my physical Ethernet connection.

Now I want to have various network points to attach VMs onto.  The best part that I’ve found is that pcap works on these networks for both listening and injection, so these make better ‘hub’ inspection points IMHO.  Also this means you can run emulators that inject libpcap as a method of communication (SIMH, WinUAE, and even my ancient Qemu 0.9.0…)

The big thing is when adding networks, DISABLE DHCP.  You can leave the rest where it is, it really doesn’t matter.

With Networks

With Networks

As you can see, I’ve now added VMnet2 – VMnet7.  This should give me enough user networks for now to play with.  I’ve also unchecked the local DHCP service, as I may want to run my own DHCP on an emulated server to make sure DHCP relay works through my virtual network.  Once you are happy, you can hit Apply and it will create the network interfaces on your computer.

So many networks!

So many networks!

Now going into the control panel, and looking at the network adapters (search for “view network connections”), and you will see there are a bunch of these VMWare Network Adapters.  The worst part is that they all have full networking enabled, which we don’t want. So starting with VMnet2, we need to unbind all high level access.

Before

Before

I unbind the ‘Client for Microsoft Networks’, ‘File and Printer Sharing for Microsoft Networks’, and TCP/IP version 4 and version 6. This the Link-Layer topology discovery stuff.  I also enabled the VMware Bridge Protocol.

After

After

Now I just have to repeat this for each of the adapters that we installed, in this case VMNet2 – VMNet7.  Remember to leave VMNet0, VMNet1 and VMNet8 alone!

Now for the real fun, you have to reboot for the changes to take effect.

After a reboot, if you run Wireshark, you should now see all the interfaces!

Wireshark  with the new interfaces

Wireshark with the new interfaces

Ok so far, so good, but let’s tie this mess together!

HHGTTG refrence

HHGTTG refrence

So let’s build a network.  Our “home” site will have a server network with the ESXi server serving some virtual servers, a user network which will contain our management workstation & a MS-DOS netware machine.  We will then have a remote network with different machine types, which will be a 4.3BSD VAX, and an Amiga running NetBSD.  We’ll also include a Novell Netware 3.12 server.  Add in an ‘internet’ router, and we should be good.

Clouds

Clouds

The first step is to create some clouds.  Each one of these will then be associated with a VMNetwork device.

[table]Network,Device
Server,VMNet2
Vax-Amiga,VMNet3
NetwareServer,VMNet4
Client,VMNet5
Internet,VMNet8[/table]

Now you’ll notice that I’m assigning VMNet8 to the ‘internet’.  If you remember the original VMWare table, the VMNet8 device is a ‘NAT’ device.  So we can use that to get to the internet (well anything else the base device can access).  Now I’ve gone ahead and added in two cisco routers, a single juniper router and a hub, as the juniper device cannot directly connect to the Internet cloud, but using the hub for the intermediary is ok.

Add in the routers & hub

Add in the routers & hub

Now it’s time to add some interfaces to the routers.  I’m going to put the C7200-IO-2FE into both R1 & R2, along with a PA-4T+ serial adapter.  Because I want to pretend to have a fast internet connection I’m also going to place a PA-GE interface into R1 in slot 2.

Now we need to bind each cloud to the corresponding VMnet interface.

Server Network

Server Network

Simply double click on the cloud, and select the VMNet interface from the drop-down list, then add it and the interface is now bound.  Repeat for each of the clouds.

Now we can connect the interfaces.

 

Now with Interfaces

Now with Interfaces

So R1’s FA0/0 is connected to the SERVER cloud, FA0/1 is connected to the CLIENT cloud. Serial 1/0 is connected to R2’s Serial 1/0 interface. the G2/0 interface is connected to Junos1’s e1 interface

R2’s FA0/0 is connected to the VAX-AMIGA cloud, and the FA0/1 is connected to the NETWARESERVER cloud.

Junos1’s e0 is connected to HUB1, which is then connected to the INTERNET cloud.

[table]
NAME,Interface,IPX,IP
Server,VMNet2,,192.168.0.0/24
Vax-Amiga,VMNet3,,192.168.1.0/24
NetwareServer,VMNet4,cab2,
Client,VMNet5,cab3,192.168.2.0/24
Internet,VMNet8,,DHCP
serial,none,cab0,192.168.255.0/30
GigE,none,,192.168.255.4/30
[/table]

Configure the network interface in VMWare Player

Configure the network interface in VMWare Player

Since I already have an ESXi VM on Player, I’m going to use this for my illustration.  All I need to do here is change the existing network from being ‘bridged’ on my native network, to now being on VMnet2, which now places it inside of my GNS3 world.  Likewise I take a Windows XP client, and place it on VMnet3.

Now to configure R1 like the following:

[table]
Interface,IP-Address,OK?,Method,Status,Protocol
FastEthernet0/0,192.168.0.1,YES,manual,up,up
FastEthernet0/1,192.168.2.1,YES,manual,up,up
Serial1/0,192.168.255.1,YES,manual,up,up
GigabitEthernet2/0,192.168.255.5,YES,manual,up,up
[/table]

And R2 like the following:
[table]
Interface,IP-Address,OK?,Method,Status,Protocol
FastEthernet0/0,192.168.1.1,YES,manual,up,up
FastEthernet0/1,unassigned,YES,unset,up,up
Serial1/0,192.168.255.2,YES,manual,up,up
[/table]

And now I can connect from my Client PC, the VMware ESXi server!

Connection

Connection

This gives me an easy way to ‘view’ into what is going on for my client to connect to the server.

Now some quick EIGRP to get R1 & R2 routing together..

R1:

router eigrp 1
network 192.168.0.0
network 192.168.2.0
network 192.168.255.0 0.0.0.3
no auto-summary

R2:

router eigrp 1
network 192.168.1.0
network 192.168.255.0 0.0.0.3
no auto-summary

And now we can check routs on R2, and see it’s learnt the routes from R1:

  192.168.255.0/30 is subnetted, 1 subnets
C 192.168.255.0 is directly connected, Serial1/0
D 192.168.0.0/24 [90/2172416] via 192.168.255.1, 00:15:50, Serial1/0
C 192.168.1.0/24 is directly connected, FastEthernet0/0
D 192.168.2.0/24 [90/2172416] via 192.168.255.1, 00:15:50, Serial1/0

I was a little disappointed though, that Olive can’t do any flow based stuff like security policies or NAT.

So onward with SIMH.  I’ve found that I have a LOT of Ethernet interfaces and some things cannot deal with that.  I had to make a trivial change to sim_ether.h:

#define ETH_MAX_DEVICE        32                        /* maximum ethernet devices */

SIMH had this value hard-coded to 10, and it crashed because I have… 11 interfaces.  So it just took a quick re-compile and now I can see my interfaces!

0 \Device\NPF_{0C6D7EF7-30D4-4AB0-AB3E-AC6EAB42B9C5} (VMware Network AdapterVMnet2)
1 \Device\NPF_{1A17F8DF-DC65-420E-9A7A-3F8D22EC0D12} (VMware Network AdapterVMnet6)
2 \Device\NPF_{5A889C62-8180-4DB5-8FFE-3B6B8B9DFFAF} (VMware Network AdapterVMnet7)
3 \Device\NPF_{A6B89C5C-C28C-424E-B795-F90F97FA0FE7} (VMware Network AdapterVMnet8)
4 \Device\NPF_{21FFD0D4-1B8B-47B7-B0DD-28CD67DF4080} (Local Area Connection)
5 \Device\NPF_{70AA2D26-7B96-42FB-9FA6-8A7386753099} (Local Area Connection 2)
6 \Device\NPF_{98F44EE6-626B-48CB-952D-9C890F44A4A5} (VMware Network AdapterVMnet5)
7 \Device\NPF_{D294A70E-07B3-4CA8-A88D-D6C392696E99} (VMware Network AdapterVMnet1)
8 \Device\NPF_{F746872D-7687-4867-958C-96A62BA5E284} (VMware Network AdapterVMnet3)
9 \Device\NPF_{783262C6-8B95-4F9E-B198-78E2D9B256BB} (Bluetooth Network Connection)
10 \Device\NPF_{D6726593-C290-4821-8D43-D180CF5631BA} (VMware Network AdapterVMnet4)

Wow!

So with SIMH I can now attach to eth8, which maps to VMnet3.

set xu ena
att xu eth8

 

Easy, right?

And even better, it works!

R2#ping 192.168.1.15

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.1.15, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/15/28 ms
R2#

And the XP workstation can telnet to it…

VMWare routed through GNS3

VMWare routed through GNS3

Next I’ll have to add in some NetWare fun.  For the heck of it.  Good news is that it works!

One caveat I’ve found is that sometimes the ARP response time isn’t so hot, and it seems like everything times out..  So you may want to tweek the default arp age on the cisco side (interface bla/arp timeout 600..?).

Freebie VMWare ESXi 5.5

So on reddit, I came across this link to download a free version of VMWare ESXi with Vcenter.

Naturally I had to give it a shot.  And run it on my desktop for the heck of it.

VMWare download page

VMWare download page

And with the 3 files downloaded, I simply fired up VMWare Player, created a new VM, and pointed the setup program to the ESXi ISO ( VMware-VMvisor-Installer-5[1].5.0.update01-1623387.x86_64.iso), and it figured out we were going to do a nested VMWare install on it’s own.  The only thing I had to change was the network card from NAT to bridged.

Because I’m just going to use this install for testing (I haven’t put it on hardware just yet), the default DHCP is just fine, but enabling SSH on the console will be important.  Remember to record the root password for the ESXi box as you’ll use that to point the client to it.

ESXi 5 on VMWare Player

ESXi 5 on VMWare Player

The installation was pretty simple.

Now because I wind up using various versions of VMWare for work, I don’t want to try to keep 4.x and various 5.x clients balanced on a PC, I just run them on various VMs.  However 5.5 has an issue with Windows XP.  The SSL implementation are out of date.  Naturally there is a hotfix, KB948963, but it will only install on Windows Server 2003.

VMWare SSL failure on XP

Network failure KB948963

I suppose booting into safe mode and overwriting the DLL’s by hand may be an option, but because it is only me talking to my ESXi server I don’t need it to be on the internet, so the easier option is to tell ESXi to allow all SSL types.

After some searching, the best fix I’ve seen is from the VMWare forums, by RichardVM:

ssh into the ESXi host and modify the following file:

/etc/vmware/rhttpproxy/config.xml

Insert the following xml line into the appropriate section:

<vmacore>

<ssl>

<cipherList>ALL</cipherList>

</ssl>

</vmacore>

 

After saving your changes restart the service:

/etc/init.d/rhttpproxy restart

And you’ll be good to go.

VMWare ESX on Player

VMWare ESXi 5.5 + Vcenter running on VMWare Player on Windows 7

For a simple test I installed an old copy of Windows NT 4.0 Terminal Server, which works fine (remember NT 4.0 on ESX5 needs SP6 installed for the networking to work).

VMware license

Applying the VMware license

As you can see once you apply the license you get from VMWare certain features are disabled.

vmware license

2 sockets, unlimited logical processors, no ram limit, never expires!

As you can see this may be more ‘limited’ from the Vcenter’s perspective, but this license doesn’t expire, and is good enough for ‘at home’.

For those needing and wanting more, the next step is the VMware vSphere Essentials Kit package, which is $560 USD.  But this is good enough to get your feet wet in the world of VMWare.

Running Virtual PC 2007 on VMWare Player

I’ve always liked Virtual PC, and it was a shame IMHO when Microsoft twisted this fantastic utility in some glorified IE6 box, A’la “Windows XP Mode” for Windows 7.

So I downloaded and installed VMWare Player, as I’ve heard you can use it to run ESX among other things requiring hardware acceleration, and  player fits the bill for being cheap.

Passing the hardware acceleration to a child VM is a matter of checking a single box in the settings.  Namely the ‘Virtualize Intel VT-x/EPT or AMD-V/RVI” box.  Although you don’t have to click it if you want, it just offers greater performance.

Windows XP x64 setup

VMWare Player

Now I installed my old copy of XP x64, as I felt like something different, then I went ahead and installed Microsoft Virtual PC 2007 sp1.  The installation was pretty uneventful.

Now with that out of the way, I could setup a VM,and I decided to install OS/2 1.21 for the heck of it.

OS2 1.21 on virtual pc on VMWare player

Virtual PC running OS/2 1.21 without hardware acceleration

And it booted up no problems, like it did back in the XP days.  I even ran it with and without CPU acceleration and it works on both, but is noticeably faster with acceleration.

With Intel-VT acceleration

With Intel-VT acceleration

So I thought this was interesting, although Virtual PC has been essentially dead ended, it can go on with an older OS in a VM, to let you run VMs.

I would imagine that if VMWare Player could run Virtual PC 2007, that 2004 should work as well.

VMWare Vcenter/ESX 5.5

Well it’s been a long while since I used Vcenter, and now it’s gone all web based.  Which is a damned shame IMHO.

But the plus is that ESX can now run nested!

The first stumbling block was installing vSphere.  The 2008r2 server that I’ve been given access to is part of a domain, but I’ve only got local access to the server.  The annoying part is trying to logon right after install.  My Windows user ID doesn’t work, and logging in as ‘admin’ or ‘Administrator’ doesn’t work.  Thankfully I found a hint, to install SQL Management Express to mine the VPX_ACCESS table (my SQL Express instance was \VIM_SQLEXP), and discover that the Administrator logon is

VSPHERE.LOCAL\Administrator

Now with that in place I can now logon to my vSphere.

Screen Shot 2014-02-20 at 7.30.14 PM

The next fun is configuring the ESX VM.

Screen Shot 2014-02-20 at 7.28.07 PM

By default it’ll try to DCHP itself.  Which is great if you have DHCP, but in my small test area on the cloud I don’t have DHCP.

One huge pain I find is that you have to manage version 10 VM’s through the web UI, which let’s face it is dreadfully slow.  Also it looks like you still need the ‘fat’ client to manage storage.  Ugh.

I’ll probably update this more the further along I get.

VMware PVSCSI under WinPE

(note this is a guest post from Tenox)

I needed to use Windows PE with paravirtualized SCSI driver under VMware. Most blog posts I came across mention the same very wrong thing: grab pvscsi driver folder from VMware Tools location and insert to WinPE .wim file using dism /add-driver. Wrong, on two levels!

First of all the mentioned folder C:\Program Files\VMware\VMware Tools\Drivers\ contains only one subfolder “hgfs” and does not contain pvscsi, vmxnet3 or mouse drivers. In order to find the required drivers you need to extract contents of the VMware Tools CD Image (windows.iso). Once you can grab setup.exe you need to extract it’s contents to a separate folder using a special switch. There is a KB article how to do it exactly.

Unfortunately above does not work either. Even with the pvscsi driver correctly inserted in to the .wim file, diskpart was still unable to see disks attached to PVSCSI controller. After some research I’ve found that one must have so called text-setup mode driver for it to work correct. For example if you are installing Dell PERC driver it will come with characteristic txtsetup.oem file.

Fortunately VMware distributes text-setup drivers on a floppy disk image formerly called vmscsi.flp. My VMware Workstation has a file called pvscsi_windows2008.flp under “C:\Program Files (x86)\VMware\VMware Workstation\Resources” folder. Upon mounting the floppy image a correct pvscsi driver with txtsetup.oem showed up and I was able to copy and insert it to WinPE .wim file using dism /add-driver. Now I can see my paravirtualized hard disks.

pvscsi

I’m not going to go in to detail how to add these drivers to a .wim file as you can find it elsewhere on the web pretty easily.