A nemrég megjelent új programverziók mindig meglepnek mostanában valami új hibával. Most a VMware Workstation 9 a fizikai gépen és Windows 8 a vendég gépen kombináció kápráztatott el.
VMware Workstation 9-ben létrehoztam egy új Custom virtuális gépet, megadtam neki, hogy Windows 8-at fogok telepíteni rá (a 9-es már támogatja ezt), majd később fel is telepítettem (de nem használtam az Easy Install funkciót). Minden tökéletes, megjelent az új Start menü is, nem is volt lassú a virtuális gép, azonban nem volt hálózat.
Megnyitva az Eszközkezelőt ez a kép fogadott:
Hát ezt a hálózati kártyát nem sikerült felismerni. Gyors keresés után kiderül, hogy más is találkozott ilyesmivel: Workstation 9 and Windows 8 – getting internet access?
Elő is kerül a megoldás valami tapasztaltabb fórumozótól: írjuk bele a VMX fájlba, hogy ethernet0.virtualDev = “e1000e” és megy is majd minden.
Igen ám, de miért is kell hirtelen most ezt kézzel elvégezni?
Hálózati kártya típusok VMware Workstation esetén
A Workstation felülete szépen elkeni, hogy tulajdonképpen milyen típusú hálózati kártyát is mutat a virtuális gép felé. ESX/ESXi esetén ez szerepel a GUI-n is, meg van is dokumentáció róla: Choosing a network adapter for your virtual machine
Workstation esetén viszont marad a VMX fájl szerkesztése kézzel. Ehhez, amennyire tudom, nincs hivatalos séma, úgyhogy marad például ez a jól összeszedett referencia: VMX-file parameters, Advanced network settings Itt három lehetőséget ajánl:
ethernet0.virtualDev = "vlance" ethernet0.virtualDev = "vmxnet" ethernet0.virtualDev = "e1000"
Ez azonban már kicsit elavult, például nincs benne az e1000e. Ezek szerint kénytelenek leszünk magunk utánajárni ennek;)
PCI IDs: vendor, device és a többiek
Hogyan deríthető akkor ki, hogy milyen opciók vannak, és azok mit jelentenek? Próbáljuk ki az ESX-ben meglévő opciókat beleírni a VMX fájlba, és nézzük meg, hogy a vendég milyen PCI eszközt lát az Eszközkezelőben. A PCI eszközt többek között a vendor és a device ID kombinációja azonosítja, ezt kell tehát figyelni (ezt utána például a http://www.pcidatabase.com odalon lehet beazonosítani).
Tapasztalatok:
- Ha nem adunk meg semmit a VMX fájlban (ez az alapeset), akkor VLANCE típusú kártyát mutat. Akkor is, ha fel van telepítve a VMware Tools csomag.
- VMXNET2 megadása esetén nekem ‘Internal error’ hibára panaszkodott a VMware Workstation, és nem akarta betölteni a virtuális gépet.
- VMXNET3 esetén elindult, de 100% CPU használatot produkált a Windows 8, és még a Feladatkezelőt se tudta elindítani. Ezt több újraindítás után is reprodukálta, úgyhogy ezzel sem kísérleteztem tovább.
A többi opcióra viszont működött, az alábbi táblázat foglalja össze, hogy mikor milyen hálózati kártyát lát a virtuális gép.
type | vendor | device | subsys | revision | name | driver |
vlance | 0x1022 | 0x2000 | 0x20001022 | 0x10 | AMD PCnet LANCE PCI Ethernet Controller | Not in Windows 8 |
vmxnet | 0x15AD | 0x0720 | 0x072015AD | 0x10 | VMware PCI Ethernet Adapter | VMware Tools |
e1000 | 0x8086 | 0x100F | 0x075015AD | 0x01 | Intel PRO/1000 MT Gibabit Ethernet Adapter | In-box Windows 8 |
e1000e | 0x8086 | 0x10D3 | 0x07D015AD | 0x00 | Intel 82574L Gibabit Ethernet Adapter | In-box Windows 8 |
A vlance egy nagyon régi 10 Mbit/s kártya emulálása, a vmxnet a VMware paravirtualizált hálózati kártyája, az e1000 és az e1000e két Intel kártya emulálása (az e1000e már egész új, az nem olyan régen került bele a VMware termékekbe).
Tehát az alapesetben kiválasztott vlance kártyához jogos, hogy nincs meghajtó, azt már régen kiirtották a Windowsból. Tehát tényleg át kell írni kézzel valami másik típusúra.
Csak azt nem értem, hogy ezt miért nem oldja meg a Workstation, ha már egyszer úgyis megadom neki, hogy milyen operációs rendszert fogok a vendég gépbe telepíteni. Eddig ezzel nem volt gond…