Boot-Medien in Hyper-V konfigurieren und Startreihenfolge ändern


    Tags: , ,

    Für PXE-Boot ist "Ältere Netzwerkkarte" zuständig.Nicht anders als bei physikalischen Rechnern müssen VMs gelegentlich von einem anderen Laufwerk oder über das Netzwerk starten. Während andere Hypervisor für diesem Zweck das Setup des virtuellen BIOS zugänglich machen, kann man die Boot-Reihenfolge unter Hyper-V über die Einstellungen einer VM festlegen. Aber nicht alle zulässigen Medien sind konfiguriert, andere wiederum werden gar nicht unterstützt.

    Der Aufruf des BIOS-Setup ist nicht gerade die komfortabelste Variante, um die Boot-Konfiguration zu ändern. Zum einen verpasst man bei schnellen Rechnern relativ leicht den richtigen Zeitpunkt für das Betätigen der entsprechenden Taste, außerdem ist die Bedienerführung nicht gerade berauschend.

    BIOS-Setup unter Hyper-V nicht zugänglich

    Im Gegensatz zu Desktop-Produkten wie VMware Workstation und VirtualPC, in denen man das Setup des virtuellen BIOS nutzen kann, starten VMs unter Hyper-V standardmäßig headless. Daher müsste man vorher eine RDP-Verbindung aufbauen und dann beim Einschalten der VM versuchen, in das BIOS zu kommen.

    Die Boot-Reihenfolge in einer VM lässt sich einfach in Hyper-V Manager ändern.

    Microsoft hat sich daher entschieden, das BIOS-Setup nicht mehr zur Verfügung zu stellen und die wichtigsten Einstellungen über den Hyper-V Manager oder PowerShell vornehmen zu lassen. Genau genommen handelt es sich dabei nur um die Reihenfolge der bootfähigen Geräte und um den Status der Num-Taste. Egal welches Tool man verwendet, es gilt die Einschränkung, dass eine VM ausgeschaltet sein muss, um die Boot-Sequenz zu ändern.

    Support für ISO-Dateien

    In Hyper-V Manager öffnet man die Einstellungen einer VM und wählt aus der Liste im linken Fenster den Eintrag BIOS aus. Die Geräte unter Startreihenfolge kann man einfach umsortieren und jenes Medium nach oben bugsieren, von dem die VM bevorzugt starten soll. Unter CD fallen nicht nur physikalische CD/DVD-Laufwerke, sondern auch ISO-Images. Mit IDE sind virtuelle Festplatten gemeint, die über einen virtuellen IDE-Controller angeschlossen werden.

    Im Gegensatz zu CD oder IDE ist bei den anderen Geräten nicht gleich klar, wofür sie stehen. Das betrifft zum Beispiel Diskette, da ja kein moderner Rechner mehr über ein solches Laufwerk verfügt. Gemeint sind hier nur Floppy-Images, die man mit Hilfe von Hyper-V Manager erstellen kann. Allerdings dürfte die Zahl der Betriebssysteme überschaubar sein, die von einem 1,44 MB großen Datenträger booten können. In Frage kommen dafür vor allem Boot-Manager, die VMs von anderen Laufwerken laden.

    PXE-Boot über Ältere Netzwerkkarte

    Nicht explizit aufgeführt ist PXE, aber diese Option verbirgt sich hinter Ältere Netzwerkkarte. Dabei handelt sich dabei um keine angestaubte Komponente aus der PC-Fundgrube, sondern um ein von Hyper-V emuliertes Gerät, das im Gegensatz zum normalen Netzadapter nicht über einen paravirtualisierten Treiber angesprochen wird.

    Für PXE-Boot ist zwar Ältere Netzwerkkarte in der Liste der Medien eingetragen, aber man muss sie meistens erst installieren.

    Die Liste der Boot-Geräte enthält zwar immer die Option Ältere Netzwerkkarte, aber normalerweise ist keine davon in der VM installiert, so dass ein bloßes Umsortieren der Boot-Reihenfolge für PXE nicht ausreicht. Bevor man die VM über das Netz starten kann, muss man daher diese Hardware hinzufügen und mit einem virtuellen Switch verbinden.

    Kein Booten von SCSI und USB

    In der Liste der Boot-Medien von Hyper-V fehlen zwei weitere Optionen aus der physikalischen Welt, die andere Hypervisor teilweise anbieten. Allen voran wäre hier SCSI zu nennen, weil Hyper-V nur das Booten von IDE-Laufwerken unterstützt (dies ändert sich mit VMs der Generation 2 in Windows Server 2012 R2). Ebenfalls nicht in der Auswahl sind USB-Geräte. Zwar lassen sich USB-Festplatten manuell einbinden, aber sie erscheinen dann als SCSI-Disks und kommen als Boot-Geräte somit nicht in Frage.

    Boot-Reihenfolge über PowerShell konfigurieren

    Die Boot-Priorität lässt sich auch über PowerShell verändern. Sie bietet den Vorteil, dass sich der Vorgang gleich auf mehrere VMs anwenden lässt. Um die aktuelle Boot-Reihenfolge von VMs auszulesen, verwendet man das Cmdlet Get-VMBios. Im einfachsten Fall sieht ein Aufruf so aus:

    Get-VMBios <MyVirtualMachine>

    Wenn man alle ausgeschalteten VMs untersuchen möchte und sich nicht für den Zustand der Num-Taste interessiert, dann erreicht man das mit diesem Befehl:

    Get-VM *| Where {$_.State -eq "off"} | Get-VMBios | Select StartupOrder

    Um die Reihenfolge der Geräte umzusortieren, nutzt man das Cmdlet Set-VMBios:

    Set-VMBios <MyVM> -StartupOrder @("IDE","CD", "LegacyNetworkAdapter","Floppy")

    Will man auch hier gleich mehrere ausgeschaltete VMs anpassen, dann funktioniert dies analog zum Auslesen der Konfiguration nach diesem Muster:

    Get-VM *| Where {$_.State -eq "off"} | Set-VMBios -StartupOrder @("IDE","CD", "LegacyNetworkAdapter","Floppy")

    Es ist leicht zu erkennen, dass LegacyNetworkAdapter für Ältere Netzwerkkarte steht. Wenn man nicht sicher ist, ob eine solche installiert ist, kann man dies über die Eigenschaft networkadapters erfragen.

    Keine Kommentare