• Wie funktioniert das Booten von VHDs?

    Die Unterstützung des Bootens von VHDs ist eine der Neuerung in Windows 7, die mich am meisten begeistert. Alle, die zum Beispiel wie ich regelmäßig Demorechner auf einen definierten Stand zurücksetzen müssen und die die gesamten technischen Möglichkeiten der lokalen Hardware ausnutzen wollen (zum Beispiel Multitouch, UMTS-Modem, etc.), werden daran nicht mehr vorbei kommen.

    VHD steht dabei für Virtual Hard Disk und stellt ein offenes Container-Format da, welches bisher zum Betreiben von virtuellen Computern genutzt wurde. Mit Windows 7 wird der Bootmanager dahingehend erweitert, dass man das Betriebssystem, Treiber und die benötigte Software nicht mehr zwingend auf der lokalen Festplatte installieren muss, sondern stattdessen einen VHD-Container nutzen kann. Damit kann man Funktionen aus der Virtualisierung wie Differencing Disks auch mit einer lokalen Installation nutzen.

    Ich selbst habe zum Beispiel neben meiner Arbeitsinstallation eine zweite Partition für VHD-Images konfiguriert. Darauf liegt eine VHD-Datei mit einer Demoumgebung, die ich direkt booten kann. Mit Hilfe von Differencing Disks kann ich problemlos Änderungen an der gesamten Demoumgebung rückgängig machen, indem ich nach der Demo die Datei, welche die Änderungen enthält, gegen eine leere austausche. Steffen skizzierte die Grundzüge der Lösung in seinem Artikel Devirtualisierung mit VHD Boot.

    Um zu verstehen, wie das Booten von VHDs funktioniert, schauen wir als erstes auf den normalen Bootprozess. Zusammengefasst lässt der sich folgendermaßen beschreiben:

    1. Wenn der Computer gestartet wird, initialisiert das BIOS die Hardware und lädt den Master Boot Record (MBR) von Sektor 0 der Festplatte.
    2. Der MBR lädt den Bootmanager des Betriebssystems.
    3. Der Bootmanager bietet dem Anwender die Auswahl verschiedener Bootoptionen.
    4. Nach Auswahl des Anwenders oder nach einem Timeout lädt der Bootmanager den gewünschten Bootloader mit den entsprechenden Optionen.
    5. Der Bootloader wiederum lädt die Systemkonfiguration und alle notwendigen Dateien für den Start des Betriebssystems (Kernel, HAL, Boottreiber, etc.).
    6. Nachdem alle Bootdateien in den Hauptspeicher geladen wurden, übergibt der Bootloader die Kontrolle an den geladenen Kernel.
    7. Der Kernel initialisiert alle zum Booten vorgesehenen Treiber und lädt den Rest des Betriebssystems.

    Um nun von einer VHD anstelle einer lokalen Festplattenpartition booten zu können, muss dieser Prozess leicht verändert werden. Der VHD Bootprozess arbeitet im Bootmanager und im Bootloader als Filter für alle Dateizugriffe (file block IO). Immer wenn ein solcher Zugriff erkannt wird, erfolgt dieser nicht direkt gegen die Festplatte, sondern durchläuft einen Filter, der prüft, ob das Ziel des Zugriffs eine gültige VHD ist. Sollte dem so sein, leitet der Filter alle Lese-, Schreib- und Schließoperationen in die VHD um.

    Dabei konvertiert der Bootfilter Lese- und Schreibzugriffe vom logischen Offset auf einen physikalischen Offset innerhalb der VHD-Datei, führt die Operation in der physikalischen VHD-Datei durch und gibt das Ergebnis an die aufrufende Instanz zurück. Wenn der Zugriff auf die VHD-Datei geschlossen wird, werden alle bis dahin allokierten Ressourcen wieder freigegeben.

    Grundlage für den Zugriff ist der virtuelle SCSI Miniport-Treiber vhddisk.sys. Er wird während der ersten Phase des Bootprozesses in 5. gestartet. Wenn alle Boottreiber inklusive vhddisk initialisiert wurden, greift der Kernel auf die Bootloader-Information zu, die in 4. festgelegt wurden. Er kann jetzt erkennen, ob der Bootvorgang von einer VHD-Datei erfolgen soll.

    Wenn das der Fall ist, extrahiert der Kernel den vollständigen Pfad zu der VHD-Datei und sendet ein IOCTL-Kommando an vhddisk mit der Aufgabe, die VHD-Datei in das System einzubinden (englisch: mounten [Hier muss ich immer an eine Lokalisierung von Novell Netware 5 denken, wo es mal hieß: Das Laufwerk wird gebergt!]).

    Hier ein kleines Schaubild:

    image

    Durch das Einbinden wird die VHD-Datei jetzt wie eine SCSI-Festplatte dem System gegenüber dargestellt. Nachdem der Vorgang beendet wurde, behandelt das Betriebssystem die neu hinzugekommene Festplatte wie eine reguläre SCSI-Festplatte und der Bootprozeß läuft, wie gewohnt, weiter.

    Wie macht man das ganze jetzt?

    Um eine bestehende VHD-Datei in den Bootmanager von Windows 7 aufzunehmen, gibt man an einer administrativen Kommandozeile ein:

    bcdedit /set {guid} device vhd=[locate]\windows7.vhd
    bcdedit /set {guid} osdevice vhd=[locate]\windows7.vhd

    Wenn die Hardwareumgebung sich dabei ändert und man die Installation in der VHD mit Sysprep generalisiert hatte, sollte man die Erkennung der HAL beim nächsten Booten der VHD einschalten:

    bcdedit /set {guid} detecthal on

    Man kann aber auch eine schon vorhandene Installation um den Windows 7 Bootmanager erweitern, um darüber VHD-Dateien als Bootgeräte einzubinden. Das geht am einfachsten aus einer in den hauptspeicher geladenen Windows PE-Version. Dafür reicht ein Booten von einer Windows 7 Installationsquelle. Dort geht man in die Computerreparaturoptionen und öffnet eine Kommadozeile. Hier geht man dann folgendermaßen vor:

    1. Kopieren der VHD-Datei auf die lokale Festplatte:
      copy y:\windows7.vhd c:\
    2. Temporäres Einbinden der VHD-Datei als Laufwerk:
      diskpart
      select vdisk file=c:\windows7.vhd
      attach vdisk
      select partition 1
      assign letter=v
      exit
    3. Kopieren der Bootumgebung der VHD-Datei und der Boot Configuration Data (BCD) Konfiguration mit Bcdboot aus dem \Windows-Ordner der VHD auf die physikalische Systempartition. Bei PCs mit einem normalen BIOS ist das die aktive Partition auf der ersten Festplatte:
      cd /d v:\windows\system32
      bcdboot v:\windows

    BCDboot importiert dabei automatisch die existierende Bootkonfiguration und in das Auswahlmenü und integriert die VHD in das Bootmenü. Überprüfen läßt sich das mit dem Befehl: bcdedit /enum /v.

    Wer eine eigene Installation erzeugen möchte, kann das direkt unter Windows 7 oder Windows Server 2008 R2 machen. Einfach im Diskmanager eine VHD-Datei erzeugen und mit Imagex (findet man im WAIK) das gewünschte Betriebssystem aus einem Windows-Installationsimage install.wim anwenden. Die Zahl [in diesem Beispiel '1') stellt die gewünschte OS-Version aus der install.wim dar:

    imagex /apply <pathtowim> 1 r:\

    Weitere Informationen und eine Anleitung findet man im Screencast Windows 7 VHD Boot sowie in den Artikeln Deploy a Virtual Hard Disk for Native Boot und Add a Native-Boot Virtual Hard Disk to the Boot Menu.

  • Windows 7 Developer Contest

    Mein Kollege Achim (nein, nicht der, sondern der Dritte von oben rechts) hat mir gerade von einem sehr coolen Windows 7 Developer Contest erzählt. Es geht darum, sogenannte exploitive Apps zu fördern – Anwendungen, die neue Features ausnutzen und besonders gut umgesetzt zeigen.

    Das Beste: Es gibt attraktive Preise (inklusive einiges an CASH, PDC-Teilnahme, etc.) zu gewinnen!

    Code7Contest

    Alle Details hier: https://www.code7contest.com/Default.aspx

  • XP Mode Voraussetzungen

    Gastbeitrag von Georg Binder, selbständiger IT-Dienstleister und Autor von windowsblog.at.

    Die technische Anforderung an den XP Mode ist eigentlich nicht sonderlich dramatisch. Die CPU muss eben Intel-VT oder AMD-V unterstützen,… aber genau da gibt’s verschiedenen Reaktionen zu folge Probleme.

    Kann es die CPU?

    Obwohl die Hersteller diese Funktionen in ihre CPUs seit mehreren Jahren einbauen, gilt das nicht für jede CPU-Serie. Das prüft man mit den jeweiligen Tools, eine Kurzanleitung findet sich bei Microsoft.

    Ist es eingeschaltet?

    Aus Sicherheitsgründen ist die Virtualisierung im BIOS meist per default deaktiviert. Muss man also erst einschalten. Rein ins BIOS und den Punkt suchen,…

    Kein entsprechender Punkt im BIOS?

    Na das ist gemein. Selbst wenn es die CPU kann,… bei manchen Modellen (was ich gehört habe, vornehmlich den Consumer-Modellen von Sony) lässt sich Intel-VT mangels Einschalt-Option gar nicht aktivieren (O-Ton: “Nur den Business Modellen vorbehalten”). Jetzt lautet die Antwort: Pech gehabt. Klar, man kann hoffen, dass der Hardwarehersteller einfach ein aktualisiertes und weniger beschnittenes BIOS nachrüstet (da habe ich bei Consumer-Geräten mit ihrem Sales-Zyklus von wenigen Monaten so meine Zweifel,… Modellpflege betreiben die Hersteller eher ungern) oder man begibt sich in die Untiefen des Internets und holt sich ein gepatchtes BIOS. Da das aber negative Auswirkung auf die Garantie hat, kann das nicht als Tipp herhalten.

    Nicht für Privat-Nutzer?

    Außerdem wird oft die Frage gestellt: warum nicht für die Home Premium? Da gibt’s mehrere Gründe, die oben genannten Probleme vornehmlich für Consumer Hardware ist ja nur ein Grund. Schwerer wiegt, dass der XP Mode bedingt durch die im VPC emulierte Grafikkarte (Trio S3) nicht spieletauglich ist (und auch andere typische Heimuser-Szenarien wie Videoschnitt würde ich nicht unbedingt in einer VM machen). Dann kommt noch dazu, dass der XP Mode ja auch eine XP Lizenz enthält, d.h. wenn jemand das als privater wirklich braucht, dann kann er die höherwertige Windows Version nehmen, daran hindert ihn ja niemand. Oder er nimmt irgendeinen der vielzähligen anderen Virtualisierer her und hat ähnliches eben ohne XP Mode.

  • Hardware: Neue Microsoft Desktops

    Gastbeitrag von Georg Binder, selbständiger IT-Dienstleister und Autor von windowsblog.at.

    Ich hatte die Möglichkeit Microsofts neue “Desktops” (Kombination Tastatur und Maus)  für ein paar Tage zu testen, hier meine Erfahrungen zum Desktop 3000 (am Bild oben) und Comfort Desktop 5000 (Bild unten).

    image

    Allgemeines & Maus

    Das Set wird per kleinem USB-Dongle angeschlossen, der für den Transport des Sets unter die Maus geklemmt werden kann. Der Dongle funkt im 2,4 GHz Band, ist aber kein Bluetooth. Gut, da das Set sowieso wohl eher für Desktops gedacht ist, nicht so ein Problem. Die Basistreiber sind bei Windows dabei, für die ganzen Sonderfunktionen braucht es die IntelliPoint bzw. IntelliType Software.

    Beiden Sets ist gemeinsam, dass sie die Wireless Mouse 5000 dabei haben. Diese Maus ist symmetrisch, also für Links- wie Rechtshänder gleich gut geeignet. Was aber auch gleich zum Nachteil hat, dass zwar die Daumentaste gut erreichbar ist, das Gegenstück auf der anderen Seite dafür weniger. Na gut, kein wirklicher Kritikpunkt.

    image

    Herausragend (und das mein ich wirklich so) ist die BlueTrack Technologie. Optisch, Laser, etc... war gestern. Vom Marketinggebrabbel der Featurebeschreibung  mal abgesehen… bis auf Spiegel oder Glas ist die Oberflächenerkennung wirklich super. Geht vom behaarten Oberschenkel (…) bis zum Teppich auf so ziemlich allem wo ich es versucht habe ;) Zur Batterielebensdauer kann ich nix sagen, weil ich die Sets nur kurz hatte, auf der Webseite werden 8 Monate angegeben.

    Mehr Maus: Wireless Mouse 5000

    Microsoft Wireless Desktop 3000

    Gerade Tastatur, die auf den namen 3000v2 hört, viele (frei) belegbare Funktionstasten, auf der linken Seite Sondertasten mit Zoom-Funktion.

    image

    Mehr Info: Microsoft Wireless Desktop 3000

    Microsoft Wireless Comfort Desktop 5000

    Auch viele Tasten ;) Diesmal “gebogen”, das was Microsoft als “Comfort Curve” bezeichnet wird. Das nicht zu verwechseln mit dem “Natural” Layout, wo der Neigungswinkel höher ist - für das man umlernen muss. Das ist beim Comfort Desktop nicht notwendig.

    Elegant:

    image

    Die Tastatur lässt sich vorne oder hinten mit “Knubbeln” erhöhen (Bilder geborgt vom windowsteamblog.com), die Handablage sorgt ebenso für Ergonomie:

    image

    Mehr Info: Microsoft Wireless Comfort Desktop 5000

    Windows 7 Funktionalität

    Funktionen dezidiert für Windows 7 bieten die Tastaturen, einerseits eine eigene Taste für Windows Flip, andererseits unterstützt die neue Hardware Device Stage.

    Update von crazy-weasel

    Übrigens, ein tolles Feature unter Windows 7 (mit installierter IntelliType Software): die 5 Favoriten Tasten (erste Softkeyzeile, in der Mitte) sind auf die Taskbar "gemappt". Ein Drücken der "1" entspricht also [win]+[1].

    Windows-Flip

    Für alle Anwender, denen Alt-Tab zu kompliziert ist… gibt es die Windows Flip Taste zum praktischen durchswitchen der geöffneten Fenster. Anders als die Vista-Demo Funktion Flip-3D (die es noch gibt,…) ist das Anzeigen mit Aero Peek wirklich praktisch im täglichen Leben. Beim Durchwechseln der Anwendungen ist die gerade Angewählte sichtbar, alle anderen Fenster sind transparent... so macht viele Fenster nicht so viel Kopfweh.

    image

    image

    Device Stage

    Wird unterstützt – werden. Derzeit nämlich nicht. Finde ich etwas irreführend angegeben. Anders als in der Produktbeschreibung konnte ich die Device Stage Ansicht nicht sehen. Ob hier die Treiber noch nicht die aktuellen waren, oder gar die Sprache, …die Erklärung liefert der windowsteamblog.com

    This fall, Microsoft Hardware will be supporting Device Stage in Windows 7 which will include the Wireless Comfort Desktop 5000.

    Gut, also irgendwann im Herbst lässt sich die Hardware dann noch netter verwalten (bitte jetzt nicht fragen, in wie weit das für Maus/Tastatur lebensnotwendig ist):

    image

    Kritik

    Die Tasten sind prinzipiell ok, sie haben einen für angenehmen Anschlag, sind dabei leise,… aber: anders als auf dem Bild oben ist die linke Shift-Taste sehr klein, vor allem bei der 5000er. Achtung, die meisten hoch aufgelösten Bilder (Pressebilder) zeigen das US Layout mit großer linker Shift-Taste. Das DE Layout hat aber die “<>” Taste neben der Umschalt-Taste… und da ist vereinfacht ausgedrückt, die Shifttaste genau um diesen Platz verkleinert worden. Im Prinzip ist es die selbe Kritik, wie ich sie beim Review: Wireless Laser Desktop 6000 angebracht habe – und dieses Set nutze ich nun schon seit vielen Monaten und liebe es… also nicht falsch verstehen.

    image

    Anders als beim 6000er Set gibt es allerdings etwas, womit ich mich zumindest in den paar Tagen nicht anfreunden konnte: die F-Tasten sind “Soft-Keys”. Das mag angenehm erscheinen, als Keyboard-Shortcut Junkie aber extrem ungewohnt. Zudem ist die Escape-Taste quasi hinter der (ähm, wie heißt die Taste mit dem ^°” darunter eigentlich?) .. also der Dingstaste “versteckt”.

    image

    Vermutlich ist das aber auch nur Gewöhnungssache, also Kritik auf hohem Niveau.

    Fazit

    Solide und empfehlenswerte Sets. Welches man von den zwei man bevorzugt hängt wohl hauptsächlich (neben dem Preisunterschied) ob man unbedingt eine “gerade” Tastatur will. Wenn nicht würde ich zum Comfort Desktop raten.

  • TechTalk im Oktober zu Windows 7

    Gastposting von Oliver Scheer, Developer Evangelist - Windows, Silverlight und UI-Technologien bei der Microsoft Deutschland GmbH.

    Peter Kirchner, seines Zeichens ISV Developer Evangelist und ich werden im Oktober Windows 7 mit einem TechTalk im Doppelpack “Herzlich Willkommen” heißen.

    Der Hauptfokus bei Windows 7 wurde auf die weitere Verbesserung der Sicherheit, Zuverlässigkeit und Performance des Betriebssystems gelegt – und auf die größtmögliche Kompatibilität zu Windows Vista, damit bereits bestehende Anwendungen auch in Zukunft laufen. Für Entwickler bietet Windows 7 viele neue Schnittstellen, um Anwendungen mit umfassenderen Funktionen zu versehen, die dem Endbenutzer eine neue Erfahrung im Umgang mit Software ermöglichen.

    In diesem MSDN TechTalk erfahren Sie, wie etwa die neue Taskbar genutzt werden kann, indem die Preview-Ansicht gesteuert, Status-Informationen ausgegeben oder die Sprunglisten nach Ihren Wünschen angepasst werden können. Wir zeigen neue Möglichkeiten für die Anpassung von Windows-Diensten, um die Performance des Betriebssystems optimal zu nutzen und demonstrieren die Verwendung der in Windows 7 eingeführten Bibliotheken, um den Zugriff auf Dokumente Ihrer Anwendung zu vereinfachen.

    Zusätzlich erfahren Sie, welche Punkte zu beachten sind, um die Kompatibilität Ihrer Anwendung mit Windows 7 sicher zu stellen, wenn diese bereits auf Windows XP oder Windows Vista laufen. Abschließend geben wir einen Überblick, welche Änderungen sich im Windows Logo Programm ergeben haben und wie Sie Ihre Anwendung für Windows 7 zertifizieren lassen können.

    Die Referenten

    Peter Kirchner

    Als Program Manager in der Developer Platform & Strategy Group von Microsoft Deutschland ist Peter Kirchner zuständig für Softwarehersteller. Sein Aufgabenbereich umfasst die Planung der lokalen technischen Informationsangebote für Softwarehersteller mit der Spezialisierung auf Technologieführung und -auswahl. Vor seinem Einstieg bei Microsoft im Januar 2008 war Peter Kirchner im Bereich der SharePoint-Entwicklung und -Anpassung tätig.

    Oliver Scheer

    Oliver Scheer arbeitet seit 2006 bei Microsoft als Developer Evangelist. Im Rahmen dieser Tätigkeit ist er Ansprechpartner für Softwareentwickler und Promoter der neuesten Technologien. Einer seiner Schwerpunkte liegt auf Web- und Designtechnologien wie Silverlight, ASP.NET, AJAX und dem Expression Studio.

    Daten/Locations

    Details und Anmeldung unter: http://www.microsoft.com/germany/msdn/techtalk/aktuell1/default.mspx