Archive for the ‘Hyper-V’ Category

VirtualBox Probleme mit 64-Bit Gast und das Ding mit dem Client-Hyper-V

31 Oktober 2014

Als bekennender Hyper-Vler bin ich über ein Problem gestoßen. Es ging darum eine virtuelle Maschine zu haben, über die man problemlos auf den USB Port losgehen kann. Leider ist da Hyper-V auch in aktuellen Ausprägungen nicht so der Bringer. Also nimmt man einen anderen VM-Host, wie in diesem Fall VirtualBox von Oracle: https://www.virtualbox.org/.

Nach der Installation war es aber nicht möglich ein 64-Bit Gastsystem aufzusetzen. Nach dem üblichen Überprüfen der BIOS-Einstellungen, damit auch die nötigen Virtualisierungseinstellungen aktiv waren, funktionierte es immer noch nicht. Dann diesen Artikel gelesen: https://forums.virtualbox.org/viewtopic.php?f=1&t=62339. Aha Hyper-V! Aber der läuft doch gar nicht!?!?

PS C:\Windows\system32> Get-Service -DisplayName *hyper*

Status   Name               DisplayName
——   —-               ———–
Stopped  vmicguestinterface Hyper-V-Gastdienstschnittstelle
Stopped  vmicheartbeat      Hyper-V-Taktdienst
Stopped  vmickvpexchange    Hyper-V-Datenaustauschdienst
Stopped  vmicrdv            Hyper-V-Remotedesktopvirtualisierun…
Stopped  vmicshutdown       Hyper-V-Dienst zum Herunterfahren d…
Stopped  vmictimesync       Hyper-V-Dienst für Zeitsynchronisie…
Stopped  vmicvss            Hyper-V-Volumeschattenkopie-Anforderer
Stopped  vmms               Hyper-V-Verwaltung für virtuelle Co…

PS C:\Windows\system32>

Dann Hirn eingeschaltet und an BCDEdit erinnert, dass es dort zig Einstellmöglichkeiten zum Hyper-V gibt. http://msdn.microsoft.com/en-us/library/windows/hardware/ff542202(v=vs.85).aspx.

OK, dann mal nachgeschaut:

bcdedit /enum

Dabei wurde folgendes ausgegeben:

Windows-Startladeprogramm
————————-
Bezeichner              {current}
device                  partition=C:
path                    \Windows\system32\winload.exe
description             Windows 8.1
locale                  de-DE
inherit                 {bootloadersettings}
recoverysequence        {4b6f8314-5573-15e4-b299-de2a5ae3ac48}
integrityservices       Enable
recoveryenabled         Yes
allowedinmemorysettings 0×15000075
osdevice                partition=C:
systemroot              \Windows
resumeobject            {4b6f8312-5575-15e4-b299-de2a5ae3ac48}
nx                      OptIn
bootmenupolicy          Standard
hypervisorlaunchtype    Auto

Ja alles klar. HypervisorLaunchtype steht auf Auto und sollte entweder nicht da sein oder auf Off stehen.

Hier wird beschrieben wie man einen weiteren Eintrag im Bootmenü generieren kann: http://www.hanselman.com/blog/SwitchEasilyBetweenVirtualBoxAndHyperVWithABCDEditBootEntryInWindows81.aspx

Dadurch kann man beim Rechnerstart auswählen, ob der Hyper-V Hypervisor aktiviert werden sein soll oder nicht.

Entscheidend dabei sind:

C:\>bcdedit /copy {current} /d "No Hyper-V" 
The entry was successfully copied to {ff-23-113-824e-5c5144ea}.

C:\>bcdedit /set {ff-23-113-824e-5c5144ea} hypervisorlaunchtype off
The operation completed successfully.
Dadurch wird ein weiterer Eintrag ins Bootmenü geschrieben. Die GUID
ff-23-113-824e-5c5144ea sieht aber bei jedem anders aus. Es stellt nur
eine eindeutige Kennung dar.

Da aktuelle Rechner recht schnell beim Booten sind, hilft ein weiterer BCDEdit Befehl in Zukunft den richtigen Eintrag beim Start automatisch auszuwählen:

bcdedit.exe /bootsequence {ff-23-113-824e-5c5144ea}


shutdown.exe /r /t 0 /f

Damit wird der Rechner mit dem neuen Bootmenüeintrag gestartet.

Man könnte dies nun über Powershell automatisieren aber der BCD WMI Provider hat so scheinbar seine Tücken: https://social.technet.microsoft.com/Forums/scriptcenter/en-US/18094085-781f-4649-8ff8-331388097911/how-to-get-boot-configuration-data-bcd-information-out-of-wmi-with-powershell?forum=ITCG

Hyper-V-VMMS Ereignisanzeige Fehler 19510 Problem mit Installationsdatenträger für die Integrationsdienste und Fehler 0×80070020

28 Juli 2014

Wer einen Hyper-V Server am Laufen hat, dem könnte diese wie immer vielsagende Fehlermeldung über den Weg laufen:


Das Image des Installationsdatenträgers für die Integrationsdienste konnte nicht aktualisiert werden: Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. (0×80070020).

Alles klar? Ich klicke auf Onlinehilfe und bekomme:

—————————
Ereignisanzeige
—————————
Die Onlinehilfe des Ereignisprotokolls kann nicht angezeigt werden, da der Standardbrowser nicht gestartet werden konnte.Klasse nicht registriert
—————————
OK  
—————————

Wird halt immer besser! Saftladen.

Powershell angeworfen und dieses angeschaut, man hat ja einen Riecher:

(get-vm).dvddrives

und dies bekommen:

VMName       Path
——       —-
AndroidX86   C:\Users\XXX\Downloads\android-x86-4.3-20130725.iso
AndroidX86-2 C:\Users\XXX\Downloads\android-x86-4.3-20130725.iso
Test
UbuntuTest
VistaTest    C:\WINDOWS\system32\vmguest.iso
W2K12R2Core

OK, ausgehend von der obigen Meldung mit den Integrationsdiensten macht es Sinn. Denn scheinbar will der Rechner die VMGUEST.ISO aktualisieren, kann es aber nicht, weil diese gerade bei einer VM in Benutzung ist. Dieser Fehler dürfte in Client-Hyper-V Umgebungen sicherlich häufiger auftreten.

Hyper-V VMs, Trusted Platform Module und das Problem mit den Virtual Smart Cards

15 Mai 2014

Von Microsoft gibt es endlich mal wieder tolles, neues Spielzeug. Seit Windows 8 gibt es sogenannte Virtual Smart Cards. Von der Funktion her reagieren sie wie echte Smartcards, allerdings hat man sie im Rechner. Vor ein paar Tagen wurde nun Windows Phone 8.1 vorgestellt und siehe da, Windows Phone 8.1 ist nun auch Virtual Smart Card fähig!

OK, wenn man drüber nachdenkt, dann kommt man schnell zum Punkt: Toll was soll die Sache, wenn dann jeder kurz mal meine Smartcards kopieren kann, der irgendwie Zugriff auf meinen Rechner oder Handy hat?

Da kommt nun TPM ins Spiel. Im Businessbereich schon seit Jahren in vielen Rechnern eingebaut und oft unbenutzt, hat TPM mittlerweile Version 2 erreicht. Übrigens vergleichbares bei ARM nennt sich TrustZone. Auf jeden Fall handelt es sich dabei um einen speziellen Speicherbereich, auf dem z. B. auch Privatkeys sicher gespeichert werden können sollen. Android unterstützt diese Hardwarespeicherung auch seit Version 4.3 mit dem sogenannten Hardware Credential Store.

Um sich nun mit diesen interessanten Dingen beschäftigen zu können, kann man selber Smartcards anlegen. Üblicherweise macht man heutzutage alles in VMs. Aber leider fehlt es an diesem Ende mal wieder. Der aktuelle Hyper-V Server 2012 R2 unterstützt zwar SecureBoot bei Generation 2 VMs allerdings bringt er keine Unterstützung von TPM innerhalb von virtuellen Maschinen mit. Schade, sehr schade.

So führt die Verwendung von TPMVSCMGR.EXE dazu:

tpmvscmgr create /name MyVSC /pin default /adminkey random /generate

Standard—PIN verwenden: 12345678
TPM—Smartcard wird erstellt…
Komponente für virtuelle Smartcards wird initialisiert…
Komponente für virtuelle Smartcards wird erstellt…
Fehler beim Erstellen der Komponente für virtuelle Smartcards.
         (0×80090030) Das Gerät, das von diesem kryptografischen Anbieter angefordert wird, kann nicht verwendet werden.

Dieser Artikel bestätigt auch nochmal das Fehlen von TPM in VMs in der aktuellen Version: http://blogs.technet.com/b/jhoward/archive/2013/11/04/hyper-v-generation-2-virtual-machines-part-7.aspx. Schade.

Wenn man bestimmte übergeordnete Instanzen bei Microsoft außer acht lässt und man zunächst davon ausgeht, dass TPM die Privatkeys sicher speichert, dann könnte man es mittels dieser Technologie endlich schaffen sich per Handy mittels Bluetooth über die virtuelle Smartcard anzumelden. Da ja nun mittels Bluetooth 4.0 LE auch der Abstand der Geräte über das ProximityProfile ermittelbar ist, kann man z. B. definieren, dass das Handy immer im Bereich von 30-40cm zum Rechner sein muss, ansonsten wird automatisch der Lockscreen aktiv. Klar klappt das erst perfekt, wenn man mehrere Bluetoothsignalgeber an verschiedenen Stellen hat, aber die Dinger werden immer billiger und kleiner. Daraus resultiert dann quasi ein Inhouse GPS.

Davon spricht man schon ewig aber nun hat man wahrscheinlich alle Komponenten beieinander um so etwas sinnvoll umsetzen zu können. Oh, hab ich was von Windows 9 gehört? Ähm nö, gibts doch noch gar nicht.

Allgemein zu Virtual Smart Cards unter Windows: http://technet.microsoft.com/en-us/library/dn593708.aspx
Der Blog-Eintrag der VSC in Windows Phone 8.1 benennt: http://blogs.windows.com/windows/b/business/archive/2014/04/02/building-the-mobile-workplace-with-windows-and-windows-phone.aspx
Das dahinterliegende Management Protokoll: http://msdn.microsoft.com/library/hh880895.aspx
TPMVSCMGR.EXE-Beschreibung: http://technet.microsoft.com/en-us/library/dn593707.aspx

Niemals eine virtuelle Maschine bei Microsoft Hyper-V im Rootverzeichnis hinterlegen

10 Februar 2014

Nun gibt es einen offiziellen KB-Artikel zum Thema VMs und Rootverzeichnis. Dies ist egal mit welcher Version von Hyper-V ein No-Go!

http://support.microsoft.com/kb/2928127/en-us?sd=rss&spid=16796

Mausscrollrad funktioniert unter Ubuntu in Hyper-V VM nicht

25 Januar 2014

Microsoft bemüht sich ja wirklich, das Linux unterm Hyper-V zum Zug kommt. Wie immer aber, sind es die Kleinigkeiten, welche tierisch nerven und einen vom produktiven Arbeiten abhalten. So zum Beispiel, dass unter Ubuntu, wahrscheinlich unter Debian generell, das Mausscrollrad nicht funktioniert. Das Problem ist auch schon zu MS gedrungen, doch anstatt das Problem anzugehen und das Problem zu debuggen, fragt der Hauptentwickler der Linux Integration Features die Community nach einer Version, wo es funktionierte und möchte sich die Arbeit erleichtern indem er bisect einsetzt.

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1240731

Bei älteren Versionen, kann man die LIS wie in diesem Artikel beschrieben nachrüsten: http://baudlabs.com/how-to-install-hyper-v-integration-services-in-ubuntu-12-04-lts/

Mehr Infos zu den Linux Integration Services (LIS): http://blogs.technet.com/b/virtualization/archive/2014/01/02/linux-integration-services-3-5-announcement.aspx

Auf virtuelle Maschinen eines Microsoft Hyper-V Server 2012 R2 mittels FreeRDP zugreifen

8 Januar 2014

Mit der aktuellen, umsonst verfügbaren Version des Microsoft Hyper-V Server 2012 R2 kann man mittels Powershell per Commandline mittlerweile fast jeden Bereich administrieren. Das einzig störende ist, wenn man Netzwerkkartenprobleme hat oder Schwierigkeiten hat einen Windows 8.1 Client für die Remoteadministration anzubinden. Powershell ist zwar mächtig, allerdings ist es manchmal hilfreich, wenn man direkt auf eine virtuelle Maschine zugreifen und diese direkt steuern kann.

Es gab zwar schon länger käufliche Lösungen, wie den 5Nine Manager, aber es gibt noch eine bessere Lösung: FreeRDP! Dank der Offenlegung des RPD-Protokolls seitens Microsoft, gibt es keine großen Geheimnisse mehr zur Implementierung. Hier das Projekt: http://www.freerdp.com/ und alles steht feinsäuberlich im Source auf Github. Es gibt sogar Unterstützung für Mac, Linux, Android sowie iOS. Was will man mehr.

Am einfachsten um FreeRDP unter Hyper-V nutzen zu können, verwendet man die 3MB-Variante von cloudbase.it http://www.cloudbase.it/using-freerdp-to-connect-to-the-hyper-v-console/, dort findet man unten diesen Downloadlink: http://www.cloudbase.it/downloads/FreeRDP_powershell.zip. Die Version ist explizit für die 2012 R2 Version freigegeben.

Von der FreeRDP-Geschichte abgesehen, gilt es auch die anderen Dinge von Cloudbase in Richtung OpenStack an sich zu beachten!

Microsoft Hyper-V Server 2012 telefoniert nach Hause oder warum tauchen auf einmal Teredo-Einträge in der Log-Datei auf?

21 August 2013

Hier geht es um den Microsoft Hyper-V Server 2012, also die Standalone Fassung des Servers. Durch eine Routineprüfung der Logdateien, fanden sich auf einmal diese Einträge:

  3512 Jul 09 11:37  Warning     Microsoft-Windows…         1014 Name resolution for the name teredo.ipv6.microsoft.com. timed out after none of the con…
  3509 Jul 09 11:36  Warning     Microsoft-Windows…         1014 Name resolution for the name teredo.ipv6.microsoft.com. timed out after none of the con…

Oha, da läuft auf einem Hyper-V Server doch tatsächlich Teredo. Eigentlich ist der Microsoft Hyper-V Server ja ein Core-Server und läuft mit minimalsten Diensten. Teredo wurde auch zu keiner Zeit benötigt, demzufolge auch nicht bewusst installiert.

Um den genaueren Status zu erfahren, kann man mittels

netsh interface teredo show state

den aktuellen Zustand erfahren. Im Microsoft Hyper-V Server 2012 wird dann angezeigt:

Teredo Parameters
———————————————
Type                    : client
Server Name             : teredo.ipv6.microsoft.com.
Client Refresh Interval : 30 seconds
Client Port             : unspecified
State                   : dormant

Der Zustand dormant sagt aus, dass momentan über Teredo nix los ist, dass aber alle 30 Sekunden (Client Refresh Interval) der Server teredo.ipv6.microsoft.com kontaktiert wird. Dabei wird die aktuelle IPv4-Adresse bekannt gemacht und der Kanal für etwaige eingehende Pakete aus dem Internet bleibt offen.

Der Grund für den Event-Log-Eintrag findet man hier: http://www.heise.de/newsticker/meldung/IPv6-Tunnel-Microsoft-testet-Teredo-Nutzung-mit-Serverausfall-1916499.html. Microsoft hatte zu Testzwecken seine Teredoserver abgeschaltet.

Soweit so gut. Aber man kann jetzt die Frage stellen, für was braucht man Teredo auf einem Standalone Hyper-V Server? Im Grunde ist die Aufgabe ja eigentlich, so wenig Angriffsfläche wie möglich zu bieten.

Also wird Teredo abgeschaltet:

netsh interface teredo set state disabled

wenn man nun nochmal den Status abfrägt, erhält man:

Teredo Parameters
———————————————
Type                    : disabled
Server Name             : teredo.ipv6.microsoft.com.
Client Refresh Interval : 30 seconds
Client Port             : unspecified
State                   : offline
Error                   : none

Das sieht schon besser aus und erspart künftig unnötige Eventlog-Einträge, falls MS wirklich seine Teredo-Server dauerhaft abschalten sollte.

Hyper-V 3.0 Remote Management Einrichtung mittels HVRemote endlich Server 2012 und Windows 8 kompatibel

15 April 2013

Wer einen Microsoft Hyper-V Server 2012 installiert und von Server 2012 oder Windows 8 aus administrieren möchte, der bleibt meistens bei HVREMOTE hängen. Doch leider gab es bisher keine offizielle Unterstützung für Windows 8 und Windows Server 2012 Remote Management Maschinen. http://newyear2006.wordpress.com/2012/07/10/hyper-v-3-0-remote-management-einrichtung-mit-hvremote-und-probleme-mit-windows-8/

Nachdem wahrscheinlich schon niemand daran geglaubt hat, dass es noch eine Aktualisierung von HVREMOTE.WSF geben könnte, ist nun doch die neue Version 1.06 verfügbar: http://code.msdn.microsoft.com/windowsdesktop/Hyper-V-Remote-Management-26d127c6.

Eigentlich hatte ich immer gedacht, es braucht solange, weil gleich ein Powershell Script gebastelt wird, aber weit gefehlt, es wird immer noch alte Scriptingtechnik eingesetzt.

Problem mit Hardwareerkennung nach virtuellem Serverumzug von Virtual Server 2005 auf Hyper-V daraus resultierend fehlende Maus und fehlende Netzwerkkarte

22 März 2013

Schade, dass MS es mal wieder verbockt hat. Selbst in der virtuellen Welt, fallen einem ständig blöde Probleme auf die Füße. Wenn man eine virtuelle Maschine (nur VHD) von einem Virtual Server 2005 auf einen Hyper-V V3 umzieht, kann es passieren, dass man unter dem Hyper-V ohne Maus und ohne Netzwerkkarte dasteht. Und dies, obwohl man davor ordnungsgemäß die “Virtual Machine Additions” auf dem VS2005 deinstalliert und auf dem Hyper-V die “Hyper-V Integrationsfeatures” installiert hat. Übriges, wer das Deinstallieren vergisst oder wem es nicht möglich war diese zu deinstallieren, wird hier fündig: http://blogs.msdn.com/b/arvindsh/archive/2012/10/12/virtual-pc-to-hyper-v-vm-additions-issues.aspx.

Aber zurück zum Problem, im Gerätemanager findet man ein Ausrufezeichen beim “Microsoft Hyper-V-Bus des virtuellen Computers”, schaut man sich die Eigenschaften an steht da eine Fehlermeldung mit Code 12. Zur Abwechslung gibt es einen KB-Artikel dazu: http://support.microsoft.com/kb/954282, der auch die Lösung parat hält. Führt man dies aus, behebt sich das Problem nach dem fälligen Neustart von selber. Entscheidend dabei ist, dass man bei MSCONFIG, die HAL-Erkennung bei den erweiterten Optionen aktiviert. Hier noch eine bildliche Darstellung: http://blogs.technet.com/b/jhoward/archive/2008/02/29/vmbus-fails-to-load-device-cannot-find-enough-free-resources-code-12-on-a-windows-server-2008-x86-virtual-machine-under-hyper-v.aspx und hier mit etwas neueren Bildern: http://blog.chrislehr.com/2008/12/hyper-v-code-12-on-virtual-machine-bus_06.htm.

Interessant in diesem Zusammenhang ist noch dieser Artikel http://blogs.technet.com/b/mkorp/archive/2008/08/15/vms-von-virtual-server-nach-hyper-v-migrieren.aspx der helfen könnte, wenn man mal manuell eingreifen muss und auf der Suche nach den richtigen Registrierungseinträgen ist.

Client Hyper-V in Windows 8

22 Januar 2013

Windows 8 enthält auch den Hyper-V Server allerdings wird im Zusammenhang mit einem lokalen Hyper-V auf Windows 8 von Client Hyper-V gesprochen.

Es gibt ein paar Dinge zu beachten und ein paar Einschränkungen, wie z. B., dass Client Hyper-V nur auf 64Bit Systemen läuft und Dinge wie Replikation nicht unterstützt.

Hier das Dokument mit den Infos: http://www.microsoft.com/en-us/download/details.aspx?id=36188


Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.