Boot from VHD mit Windows Server 2008 R2

Mit Windows 7 (Windows Server 2008 R2 und Microsoft Hyper-V Server R2 eingeschlossen), besteht die Möglichkeit ein Betriebssystem anstatt von einer physikalischen Festplatte aus einer VHD (Virtual Hard Disk) zu starten.

Da ich einen kleinen Testcluster mit Windows Server 2008 R2 habe und mir das ständige Hantieren mit Festplatten zum ausprobieren von Betriebssystemen sparen wollte dachte ich mir, einfach nochmals zwei weitere OSe von VHD zu starten (booten).

Die Ausgangslage ist also Windows Server 2008 R2 Enterprise Editon installiert auf einer 250GB großen Festplatte. Als Wunschkonfiguration stelle ich mir folgende Kombination vor:

  1. Windows Server 2008 R2 Enterprise Edition (Festplatte)
  2. Microsoft Hyper-V Server 2008 R2 (VHD) – Cluster Node (mit 15GB VHD)
  3. Microsoft Hyper-V Server 2008 R2 (VHD) – Stand alone (mit 15GB VHD)

Damit das klappt sind folgende Schritte notwendig:

  1. Nach einlegen der Microsoft Hyper-V Server 2008 R2 DVD ist es notwendig, sobald der Installationsbildschirm erscheint, eine Eingabeaufforderung zu öffnen, was mit Shift+F10 passiert. Es ist übrigens gleichgültig zu welchem Zeitpunkt das passiert, nach meiner Erfahrung sollte man das Setup soweit vorantreiben bis die Option zur Auswahl des Tastatur-Layouts durchlaufen ist (dann hat man nämlich die richtige Sprache eingestellt und kämpft nicht mehr mit den Sonderzeichen herum). Selbst wenn der Auswahldialog zur Installation auf den Datenträger kommt, kann immer noch mit Shift+F10 die Eingabeaufforderung geöffnet , die VHD erstellt und dann mit Refresh/Aktualisieren im Auswahlmenü angezeigt werden.
  2. In diesem schwarzen Fenster legt man nun (abhängig wo die Boot VHDs liegen sollen) das entsprechende Verzeichnis dazu an. Da ich nicht zu den “Rootinstallierern” gehöre, sollen die VHDs unter Users\Public\vboot liegen und den Namen der darauf zu installierenden Server erhalten.
  3. Achtung: Das sonst als Laufwerk C: sichtbare SystemDrive wird von Diskpart als Laufwerk D: angezeigt, da die seit Windows 7 vorhandene 100MB große System Reserved Partition den Bezeichner C: erhält. Nachher ist natürlich wieder alles wie es war – aber die VHDs müssen nun eben auf D: und nicht auf C: angelegt werden.
  4. Nachdem nun die Eingabeaufforderung (oder der Command Prompt) geöffnet ist erstellen wir als erstes das für die VHDs vorgesehene Verzeichnis

    md d:\users\public\vboot

    und rufen im Anschluss diskpart auf. Im nun folgenden “interaktiven” Modus von Diskpart erstellen wir eine fixed VHD von 15GB mit folgendem Befehl:

    create vdisk file=d:\users\public\vboot\clabhv11.vhd type=fixed maximum=15000

    da das erstellen einer fixed Disk mit diskpart seine Zeit dauert, kann hier auch zu einer Alternative gegriffen werden: das VhdTool von Chris Eck

    http://code.msdn.microsoft.com/vhdtool

    damit erstellt man eine VHD alternativ mit folgendem Aufruf:

    VhdTool.exe /create „d:\users\public\vboot\clabhv11.vhd“ 16106127360

    und binden diese VHD in das Auswahlmenü zur Installation ein, bzw. als Bootoption in die Boot Configuration Database (BCD)

    select vdisk file=d:\users\public\vboot\clabhv11.vhd
    attach vdisk

  5. Diese Disk wählen wir dann zur Installation des Microsoft Hyper-V Server R2 aus. Dabei erscheint folgende Meldung:

    Windows cannot be installed on this disk. (Show details)

    welche wir geflissentlich übergehen 🙂

Eigentlich sind wir nun fertig, allerdings gibt es noch ein paar kosmetische Dinge welche getan werden sollten um das Arbeiten zu erleichtern.

  • Setzen der auf der Festplatte befindlichen Windows Server 2008 R2 Installation als Default beim Systemstart

    C:\Users\xxx>bcdedit /default {identifier der Windows Server 2008 R2 EE Installation}

  • Umbenennen des Eintrags zum booten des Microsoft Hyper-V R2 Cluster Nodes

    C:\Users\xxx>bcdedit /set {current} description „Microsoft Hyper-V Server 2008 R2 – Cluster“

Für die Standalone-Installation des Microsoft Hyper-V Servers 2008 R2 wiederholen wir die Prozedere.

Cheers, b!

Umzug der SQL Datenbank von WSUS 3.0

Der Umzug erfolgt auf dem gleichen Server in eine andere Instanz: Migration von der internen Datenbank auf einen SQL Server

Neulich habe ich festgestellt, dass auf meinem Small Business Server 2003 (SBS) der WSUS (Windows Server Update Service) die Windows Internal Database verwendet. Also eine separate SQL Instanz extra für diesen Dienst ausgeführt wird. Da auf dem SBS ohnehin eine SQL Server 2005 Instanz ausgeführt wird, habe ich mich kurzer Hand entschlossen die WSUS Datenbank dorthin zu migrieren. Dazu waren folgende Schritte notwendig:

  1. Stopp folgender Dienste (in der Services.msc oder mit net stop)

    Update Service
    Windows Internal Database

  2. Kopieren der SUSDB.mdf und SUSDB_log.ldf aus dem WSUSUpdateServicesDbFiles Verzeichnis in das Data-Verzeichnis der SQL 2005 Installation. In meinem Fall war das

    xcopy D:\Apps\WSUS\UpdateServicesDbFiles\SUSDB* “D:\Apps\SQL Server\MSSQL.1MSSQL\Data” /v

  3. Anfügen der SUSDB im SQL Server 2005 Management Studio Express durch einen Klick mit der rechten Maustaste auf Datenbanken und Anfügen hier dann die SUSDB.mdf auswählen
  4. Öffnen des Registry Editors und ändern des folgenden Eintrags:

    HKLM\SOFTWARE\Microsoft\Update Services\Server\Setup\SqlServerName

    auf den neuen Datenbank-Server. In meinem Fall war das die Instanz I01 auf dem gleichen System, somit also

    %computername%\I01

  5. Nun einfach wieder den WSUS (Update Service) starten
  6. und zum Abschluss über die Systemsteuerung/Software die Windows Internal Database deinstallieren

Habe fertig 🙂 Ich bin mir nun nicht 100% ob das ein von Microsoft unterstütztes Vorgehen ist, hat bei mir aber ohne Probleme funktioniert. Experimente erfolgen natürlich immer auf eigenes Risiko.

Cheers, b!