================================================================================
        _     _    _    ______                         __    __     __  
       | |   | |  | |  (____  \             _         /  |  /  |   / /  
       | |   | |   \ \  ____)  ) ___   ___ | |_      /_/ | /_/ |  / /_  
       | |   | |    \ \|  __  ( / _ \ / _ \|  _)       | |   | | / __ \ 
       | |___| |_____) ) |__)  ) |_| | |_| | |__       | | _ | |( (__) )
        \______(______/|______/ \___/ \___/ \___)      |_|(_)|_| \____/ 
                                                           USBoot 1.16
        by Gerd Rs                                                             

        Version:    1.16 - 09.09.2006
        Copyright:  Gerd Rs

================================================================================


Schnellstart-Inhalt

  1. Einfhrung
  2. Voraussetzungen
  3. Nutzung                
  4. "Wechselbare" Datentrger
________________________________________________________________________________
 1. Einfhrung

USBoot ist ein Paket, dass bei der Vorbereitung von Windows 2000 / XP / 2003
(NT 5.x) auf das Booten von USB-Massenspeichergerten hilft, indem es weitrei-
chende Untersttzung fr die automatische Installation und Konfiguration von
Treibern bietet (speziell fr die Setup-Klasse USB).

Unglcklicherweise bietet Windows diese Funktionalitt nicht von Hause aus an,
obwohl die Grundlagen bereits im System angelegt sind. Bei genauerem Hinsehen
scheint es beinahe, als ob Microsoft einfach 'vergessen' hat, den fehlenden Teil
zu implementieren. Obwohl es vorzuziehen wre, eine offiziell untersttzte Ein-
bindung zu haben, die vermutlich weniger fehleranfllig wre, ist im Moment als
einzige Mglichkeit, das Booten von USB zu ermglichen, es selbst zu tun.

In jedem Fall war die Entdeckung der Fhigkeit, Windows XP von USB starten zu 
knnen, durch Dietmar Stlting, der zndende Meilenstein fr die aktuellen Expe-
rimente und Entwicklungen mit dieser Technik, die beinahe alle ihre Wurzel in 
seinen Erfahrungen haben.

Ich war begeistert, als ich zum ersten Mal im deutschen Computermagazin c't von
seiner Enteckung las. Doch die Schritte, die dort zur Vorbereitung von Windows 
XP auf das Booten beschrieben waren, erfoderten jede Menge trickreicher nde-
rungen in der Registry, welche es immer mal wieder zu kontrollieren galt, 
speziell nach nderungen der Hardwarekonfiguration. So sah ich es als Herausfor-
derung, eine mglichst weit gehende automatische Einbindung dieser Funktionalitt
zu implementieren.

I gebe ausdrcklich keinerlei Garantie, dass die Nutzung dieser Software frei 
von unerwnschten Effekten jeder Art ist, beziehungsweise berhaupt irgendein 
erwnschter Effekt erreicht wird. In Anbetracht der Komplexitt der beteiligten
Mechanismen, die zum Gutteil auch nirgendwo zugnglich dokumentiert sind, drfte
dies jedoch nicht berraschen...   ;-)
         

          ##############################################################                
          # NUTZUNG AUF EIGENE GEFAHR - OHNE JEDE GARANTIE ODER GEWHR #                
          ##############################################################         
               

Windows 2000 / XP / 2003 (NT 5.x) von USB zu starten ist eine recht neue aber
reizvolle Angelegenheit, demensprechend sind alle Anstrengungen in diesem Be-
reich noch als experimentell anzusehen. Folglich sollte fr erste Experimente
keine produktive Installation verwendet oder wenigstens vorher ein komplettes
Backup des betreffenden Systems erstellt werden.

________________________________________________________________________________
 2. Voraussetzungen

Zur Erstellung eines USB-Boot fhigen Windows 2000 / XP / 2003 wird bentigt:

-Eine Installation von

  Windows 2000 SP4        + untersttzt von sich auf Pagefiles auf USB-Gerten
                          - keine Untersttzung fr Volume Shadows
                          - keine Untersttzung fr den EWF Filter
  
  Windows XP SP1    \     - untersttzt von sich aus keine Pagefiles auf USB
  Windows XP SP2     |    + Untersttzung fr Volume Shadows
  Windows 2003 SP1  /     + Untersttzung fr den EWF Filter
  

-Hardware die das Booten von USB-Festplatten untersttzt (BIOS / Hauptplatine)

-Ein USB Speichergert, das sich dem System als bootfhige Festplatte zeigt. Es
  wird empfohlen, die Erkundung der USB-Boot Fhigkeiten mit nur einer primren
  aktiven formatierten Partition zu beginnen, welche nicht zu gro sein sollte
  (eigene Verusche mit 400GB schlugen fehl!). Sobald sich erwiesen hat, dass 
  dies funktioniert, knnen dann auch Versuche auf weiteren Partitionen unter-
  nommen werden.
  Sowohl NTFS als auch FAT32 sind mglich. Soweit ein Flash-Gert verwendet wird,
  sollte es durch die Installation des Microsoft EWF Filters besonders geschtzt
  werden. Es sollte auf JEDEN Fall vermieden werden, NTFS auf einem ungeschtzten
  Flash-Gert zu verwenden, andernfalls besteht das Risiko, es in kurzer Zeit zu
  zerstren.

-Wenn die modifizierte Installation aus sich selbst heraus auf das USB Gert
  kopiert werden soll, muss wenigstens ein NTFS Laufwerk im System vorhanden 
  sein. Andernfalls muss dies von einer separaten Installation aus oder mit 
  anderweitiger geeigneter Software geschehen.

-Fr einen eventuellen Schreibschutz des USB Gertes (empfohlen bei Verwendung
  von NTFS auf Flash-Gerten) werden die Dateien 'ewf.sys' und 'ewfmgr.exe' von
  Windows XP embedded SP2 (oder neuer) bentigt.
    
In einigen Fllen ist der Einsatz von den folgenden speziellen Dateien ntig:

  usbhubb.sys   von Windows XPE Feature Pack 2007

  usbport.sys   von Windows XP SP1
  
Diese Lsen einige Schwierigkeiten hinsichtlich inkorrekter Initialisierung der
USB Treiber beim Systemstart, die zu dem berhmten STOP 0x7B Fehler fhren. Sie
sollten allerdings nur als eine Art von letzem Ausweg angesehen werden, der oft
speziell dann beschritten werden muss, wenn es darum geht, ein System ohne 
interne Laufwerke zu starten.

Es wird dringend dazu geraten, es zunchst ohne diese Dateien zu versuchen und
im Fehlerfall zunchst einen weitern Anlauf mit usbhubb.sys (der bevorzugten 
Wahl) und notfalls alternativ usbport.sys zu unternehmen! (Fr gewhnlich sind
sie unter Windows 2000 nicht von grerem Nutzen als die im System bereits vor-
handenen, aber es ist bekannt, dass sie dort potentiell Probleme verursachen.)
  

________________________________________________________________________________
 3. Nutzung

Zur Nutzung dieses Paketes ist einfach das USBoot Archi in einen neuen Ordner im
Wurzelverzeichnis der zu aktivierenden Windows Installation zu entpacken. Danach
sollten darin drei Unterordner 'special DriverFiles', 'ewf' und 'extra Drivers'
sein.

Wenn beabsichtigt ist, NTFS auf einem Flash-Gert zu ntuzen oder den USB Spei-
cher aus anderen Grnden schreibzuschtzen, sind 'ewf.sys' und 'ewfmgr.exe' im
den Ordner 'ewf' bereitzustellen.

Wenn eine spezielle Version von 'usbport.sys' oder 'usbhub.sys' eingesetzt wer-
den soll, so wird sie im Ordner 'special DriverFiles' erwartet. Zustzlich muss
noch die Dateinamenserweiterung von '.sys' in '.syb' gendert werden. Diese 
Ersatzlsung wird jedoch nicht in jedem Fall bentigt und wird nur bei akuter
Notwendigkeit empfohlen.

Sollen weitere Treiber (nicht beschrnkt auf USB) hinzugefgt werden, so gengt
es diese einfach jeweils in ein Unterverzeichnis von 'extra Drivers' zu kopie-
ren. Allerdings gilt es zu beachten, dass nicht alle Treiber (speziell fr 
Chipstze) im Hinblick auf gemeinsamen Betrieb entwickelt wurden, whrend an-
dere im Zuge der Installation auf Benutzerinteraktion oder spezielle Unter-
sttzung durch Anwendungen angewiesen sind.

Danach gengt es, in den Ordner 'USBoot' zu gehen, dort durch Doppelklick auf 
'cmd_here.cmd' ein Kommandozeilenfenster zu ffen und Phase eins der Vorberei-
tung mit 'USBoot phase-I' zu starten.

USBoot muss fr jede Windows-Installation auf der es ausgefhrt wird aktiviert
werden. Danach bleibt die Installation gltig, selbst wenn sie auf andere 
Laufwerke oder Hardware bertragen wird. Die Aktivierung erfolgt in einem ein-
fachen Challenge -> Response Zyklus. Den ntigen Challenge Code zeigt USBoot 
bei der ersten Ausfhrung einer Phase, die aktivierungsbedrftige Befehle ver-
wendet, an. Der passende Response Code kann dann auf 'www.usboot.org' nach der
Registrierung mit einem Benutzerkonto erstellt und anschlieend auf die ent-
sprechende Aufforderung hin eingegeben werden.

Whren des Ablaufes einer Phase kann fr jeden Schritt gewhlt werden, mit 
welchen Einstellungen er ausgefhrt werden soll:

    'space' - in der Standardeinstellung
      'a'   - mit alternativen Einstellungen
      '!'   - mit alternativen Einstellungen -> erhhtes Fehlerpotential
      's'   - gar nicht

Ein berspringen von erforderlichen ('required') Schritten mit 's' wird nicht
empfohlen. Komplett abbrechen lsst sich die Ausfhrung des Skriptes im Inter-
preter durch drcken von 'ESC'.

Nach Abschluss der Phase ist das System, sobald dazu aufgefordert wird (falls 
nicht anders angegeben), erneut zu booten. 

Wenn alle ntigen Neustarts erledigt wurden, kann mit 'USBoot phase-II' fort-
gefahren werden. Einige der aufgelisteten Treiber zeigen eventuell 'install 
failed' (Installation fehlgeschlagen). Speziell einige Kandidaten der Klasse
'SYSTEM' wurden nicht dafr konzipiert, auf einem System gemeinsam mit anderen
eingesetzt zu werden (deshalb die spezielle Option, bei den kritischen Treibern
der Klasse 'SYSTEM' nur generische zu installieren und im brigen alle anderen).
Nach Beendigung dieser Phase ist das System wieder, sobald dazu aufgefordert 
wird (falls nicht anders angegeben), erneut zu booten, damit noch ausstehende
Installationsoperationen erledigt werden knnen.

Jetzt ist es and der Zeit, die im Wesentlichen aktivierte Installation auf das
USB Gert zu bertragen. Dies ist der erste Schritt von 'USBoot phase-III'. 
Aufgrund interner Einschrnkungen von Windows ist es nur unter Zuhilfenahme 
einer Technik namens 'Volume Shadow' mglich, eine laufende Installation kom-
plett zu kopieren. Diese erfordert jedoch die Anwesenheit mindestens eines 
NTFS Laufwerkes im System. Da sie erst mit XP eingefhrt wurde, steht sie unter
Windows 2000 nicht zur Verfgung.

Wenn die betreffende Installation in VMware aufgesetzt wurde, dann gengt es, 
deren virtuelles Systemlaufwerk einfach direkt im Host-System von VMware zu 
mounten. Weiterhin lsst sich eine zweite Installation von Windows als Ausgangs-
basis fr die bertragung verwenden. 

Von dort aus ist dann im USBoot Ordner zum Abschlu der Installation 
'USBoot phase-III' aufzurufen. In beiden Fllen kann USBoot den Transfer er-
ledigen.

In jedem Fall sollten jedoch, auch wenn USBoot nicht zur eigentlichen bertra-
gung genutzt und der erste Schritt von Phase drei bersprungen wird, alle 
brigen Schritte von Phase-III durchgegangen werden.

Es ist wichtig, dass alle Phasen erfolgreich abgeschlossen wurden, bevor ver-
sucht wird von USB zu starten.

Das ist alles. Nun gilt es nur noch die notwendigen Einstellungen im BIOS vor-
zunehmen und damit sollte im Grunde einem Start von USB nichts mehr im Wege 
stehen.  :-)

In der Regel werden nicht alle Schritte notwendig sein, um die Sache zu Laufen 
zu bringen, einige versuchen nur mit speziellen Angelegenheiten fertig zu wer-
den, die Probleme bereiten knnten.


________________________________________________________________________________ 
4. "Wechselbare" Datentrger
 
Warum auch immer: Sobald USB Gerte von Windows als "wechselbar" eingestuft wer-
den, verweigert es die Untersttzung mehrerer Partitionen auf dem Laufwerk. Um 
diese Einschrnkung zu umgehen, lsst sich USBoots 'DriveGuard' als Filter-Trei-
ber installieren, der gezielt alle USB Gerte als nicht-wechselbar erscheinen
lsst. In der Standardeinstellung wird seine Installation ausgelassen. Wenn er
verwendet werden soll, ist einfach "a" im entsprechenden Schritt auszuwhlen.

Darberhinaus vermag diese Komponente auch den Einsatz von Auslagerungsdateien
auf USB Gerten zu ermglichen. Obwohl es keine akuten Hinweise auf Probleme mit
dieser Funktionalitt gibt, sollte sie vorlufig als experimentell angesehen 
werden, da sie ohne Untersttzung durch darunterliegende Treiber auskommen muss.

Damit eine Installation USB Gerte als nicht-wechselbar erkennt (zum Beispiel, 
wenn das Gert nur eingerichtet werden soll) ohne einen kompletten USBoot Lauf
durchzufhren, kann USBoot mit "USBoot phase-0" gestartet werden. Dadurch wird 
einfach nur der Filter-Treiber installiert und sonst nichts weiter.
