Posts tagged deployment

Instalacja Windows 7 na napędzie USB a licencja

Kilka dni temu opublikowałem na moim blogu 2 tutoriale: Instalacja Windows 7 na napędzie USB oraz Instalacja Windows 7 na napędzie USB (z użyciem VHD). Opisują one od strony technicznej scenariusze instalacji Windows 7 i Windows Server 2008 napędzie USB.

Zgodnie z informacją jaką w dniu dzisiejszym otrzymałem z Centrum Obsługi Klienta Microsoft taka instalacja jest dopuszczona przez licencję Windows 7 i Windows Server 2008 R2. Cytat z maila jaki w tej sprawie otrzymałem: “Instalacja systemu na nośniku danych jakim jest USB, jest możliwa i nie powoduje, że takie postępowanie stoi w sprzeczności z licencją. Należy zwrócić uwagę na fakt, że oprogramowanie załadowane z napędu USB – w przypadku licencji OEM, przypisze się do komputera i instalacja na innym urządzeniu z tego napędu nie jest możliwa“.

źródło: korespondencja z Centrum Obsługi Klienta Microsoft

Instalacja Windows 7 na napędzie USB (z użyciem VHD)

W dalszym ciągu czekam na informację od Microsoft czy instalacja Windows 7 na nośniku USB jest dopuszczalna przez licencję Windows 7. Mam nadzieję, że okaże się, że Microsoft tak sam jak ja rozumie zapis zawarty w EULA.

Zebrałem metody instalacji na USB, które umieściłem w dwóch moich ostatnich wpisach: Instalacja Windows 7 na napędzie USB i Hyper-V Server 2008 R2 instalacja na USB. Tworząc z nich scenariusz, gdzie Windows 7 instalowany jest do VHD, który znajduje się na dysku USB.

Windows 7: Release Candidate

Bootowanie z VHD wprowadzone wraz z Windows 7 i Windows Server 2008 R2 mocno rozszerzyło możliwości wdrażania systemów w tym możliwość instalacji na napędzie USB. Bootowanie z VHD w Windows 7 jest możliwe tylko w wersji Ultimate i Enterprise, przedstawiona metoda ma zastosowanie do tych wersji Windows 7 (wspierają ją również wszystkie wersje Windows Server 2008 R2 oraz Hyper-V Server 2008 R2). Główną zaletą rozwiązania jest prostota ewentualnej reinstalacji – wystarczy nadpisanie pliku VHD. Niedogodności, które występują w systemach zainstalowanych do VHD przedstawiłem już jakiś czas temu, warto o nich przeczytać zanim zdecydujemy się na taką instalację. Procedura opisywana poniżej nie należy do najłatwiejszych i jest dedykowana dla zaawansowanych, jest trudniejsza niż poprzedni wpis o instalowania Windows 7 na USB. Rozwiązanie testowałem na laptopie Dell D630, D6400 oraz na stacji roboczej Dell Vostro 430, na każdym z nich działało poprawnie. Jeśli się zdecydowałeś na wprowadzenie go w życie powinieneś się zaopatrzyć w:

Wszystkie poniższe operacje wykonywałem na Windows 7 Ultimate x64 z zainstalowanym pakietem WAIK, gdzie:

  • C: to dysk systemowy
  • D: napęd DVD (może być to też klucz USB lub zamiast tego można użyć ścieżki do rozpakowanego obrazu płyty) z instalatorem Windows 7
  • W porcie USB znajduje się klucz USB na którym zainstalowany zostanie system. UWAGA! Wszystkie dane z nośnika wymiennego zostaną skasowane, nie jest to koniecznością, zdecydowałem się na to z powodu przejrzystości opisu.

Ad rem!

  1. Uruchamiamy CMD z uprawnieniami Adminsitratora, za jego pomocą tworzymy w folderze nowym folderze WINvhd na dysku C: plik VHD o wielkości prawie 15GB, formatujemy jego zawartość i nadajemy oznaczenie R:.

    mkdir c:\WINvhd
    diskpart
    create vdisk file=c:\WINvhd\Windows.vhd maximum=15000 type=fixed
    select vdisk file=c:\WINvhd\Windows.vhd
    attach vdisk
    create partition primary
    assign letter=R
    format quick fs=ntfs label=WINvhd
    exit

  2. Rozpakowanie pliku WIM, przechodzimy do folderu gdzie znajduje się ImageX, w moim przypadku używam wersji X64. W drugiej linii sprawdzamy jakie są wszystkie wersje systemu dostępne w pliku WIM, w moim przypadku Windows 7 Ultimate X64 był dostępny jako <IMAGE INDEX=”4″>, dlatego w następnym kroku pojawiła się cyfra 4.

    cd /d “C:\Program Files\Windows AIK\Tools\amd64″
    imagex /info d:\sources\install.wim
    imagex /apply /check d:\sources\install.wim 4 R:\

  3. Odłaczamy dysk VHD.

    diskpart
    select vdisk file=c:\WINvhd\Windows.vhd
    detach vdisk
    exit

  4. Sprawdzamy którym urządzeniem jest docelowy napęd USB po czym wymazujemy jego zawartość, tworzymy nową partycję i formatujemy ją na NTFS i nadajemy oznaczenie Z:.

    diskpart
    list disk
    select disk <numer napędu USB>
    clean
    create partition primary
    select partition 1
    active
    format quick fs=ntfs
    assignletter=Z
    exit

  5. Kopiujemy plik VHD na napęd USB.

    copy c:\WINvhd\Windows.vhd Z:

  6. Nadpisujemy MBR na napędzie USB.

    cd /d “c:\program files\Windows AIK\Tools\PETools\AMD64\”
    bootsect /nt60 Z: /force /mbr

  7. Podłaczamy dysk VHD z napędu USB, powinien być widoczny jako R:.

    diskpart
    select vdisk file=z:\Windows.vhd
    attach vdisk
    exit

  8. Zmiana parametrów bootowania.

    bcdboot r:\windows /s Z:

  9. Dodajemy wpisy do rejestru systemu na VHD wymuszające wyłączenie pliku wymiany w celu ograniczenia zapisów na napęd USB (w razie chęci posiadania pliku wymiany z komend w linii 2 i 3 można zrezygnować)  oraz zmieniamy ustawienia startu usług związanych z magistralą USB.

    REG LOAD HKLM\WindowsTemp r:\windows\system32\config\system
    REG ADD “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v PagingFiles /t REG_MULTI_SZ /d “” /f
    REG DELETE “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v ExistingPageFiles /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBCCGP /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBEHCI /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBHUB /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBSTOR /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBUHCI /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBCCGP /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBEHCI /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBHUB /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBSTOR /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBUHCI /v Group /t REG_SZ /d “Boot bus extender” /f
    REG UNLOAD HKLM\WindowsTemp

  10. Przechodzimy exploratorem windows do R:\windows\inf i edytujemy następujące pliki: usb.inf, usbport.inf, usbstor.inf; dodając na początku ich treści:

    [*.AddService]
    StartType = 0
    LoadOrderGroup = boot bus extender

  11. Odłączamy dysk VHD.

    diskpart
    select vdisk file=z:\Windows.vhd
    detach vdisk
    exit

  12. Klucz USB z Windows 7 jest już przygotowany, można się z niego spróbować zabootować. Klucz po przygotowaniu można użyć na innej konfiguracji sprzętowej (uruchomić go na innym komputerze) ważne, żeby konfiguracja napędów była identyczna jak w momencie kiedy była przygotowywana w innym wypadku po zabootowaniu się z klucza zobaczymy informację, że start jest niemożliwy, należy wtedy edytować konfigurację bootowania na kluczu USB (dalej opis jak to zrobić). Jeśli się udało to na ekranie zobaczmy końcową fazę konfiguracji systemu. Po tym nastąpi automatyczny restart, po którym przechodzimy do punktu 13.  W razie problemów z bootowaniem z nowoutworzonego VHD na USB należy wystartować komputer z nośnika instalacyjnego, uruchomić linię komend (Shift + F10), za jej pomocą podpiąć dysk VHD (podobnie jak punkt 7 ale podając odpowiednie litery napędów) a następnie ręcznie zmienić parametry bootowania za pomocą polecenia BCDboot (punkt 8 ze wskazaniem odpowiednich dysków). Dokładniejszy opis jak posługiwać się BCDboot znajduje się tym i w  tym artykule.
  13. Po automatycznym restarcie najprawdopodobniej system się nie włączy poprawnie. Będzie się resetował podczas startu. Jest to spowodowane przywracaniem ustawień domyślnych rejestrów usług magistrali USB przez instalator. Zanim system będzie gotowy do pracy taka sytuacja wydarzy się dwukrotnie. Należy wtedy podpiąć dysk do działającego systemu i wykonać po kolei kroki: 7, 9, 10, 11 i zabootować się jeszcze raz. Te same kroki należy podjąć jeśli zmienią się ustawienia i system będzie się resetował podczas startu, zdarza się, że instalacja poprawek zmienia ustawienia rejestrów odpowiedzialnych za USB, co powoduje problemy ze startem.

Przedstawiona procedura działa zarówno z Windows 7 i Windows Server 2008 R2.

[update 27.01.2010]
Zgodnie z informacją jaką w dniu dzisiejszym otrzymałem z Centrum Obsługi Klienta Microsoft taka instalacja jest dopuszczona przez licencję Windows 7 i Windows Server 2008 R2. Cytat z maila jaki w tej sprawie otrzymałem: “Instalacja systemu na nośniku danych jakim jest USB, jest możliwa i nie powoduje, że takie postępowanie stoi w sprzeczności z licencją. Należy zwrócić uwagę na fakt, że oprogramowanie załadowane z napędu USB – w przypadku licencji OEM, przypisze się do komputera i instalacja na innym urządzeniu z tego napędu nie jest możliwa“.

źródła, poza własnym doświadczeniem:
Microsoft Hyper-V Server 2008 R2 RTM & More – Microsoft Virtualization Team Blog
Deploying Microsoft Hyper-V Server 2008 R2 on USB Flash Drive – TechNet
Walkthrough: Deploy a Virtual Hard Disk for Native Boot – TechNet
Virtual Hard Disks in Windows Server 2008 R2 and Windows 7 – TechNet
Instalacja Windows 7 oraz Windows Server 2008 R2 w plikach VHD – wss.pl
ImageX Technical Reference – TechNet
Add a Native-Boot Virtual Hard Disk to the Boot Menu – TechNet
BCDboot Command-Line Options – TechNet

Hyper-V Server 2008 R2 instalacja na USB

Hyper-V Server 2008 R2 jest nietypowy jak na system wyprodukowany przez Microsoft. Nie tylko, że jest dostępny bezpłatnie to jak mawia mój kolega “nie ma windowsa w tym systemie”. Z technicznego punktu widzenia jest w nim więcej ciekawostek, na przykład to, że wspierana jest jego instalacja na dysku USB flash.

Windows 7: Thumb drive

Dawno temu znalazłem wpis na blogu Micorosft Virtualization Team, na którym wyczytałem o możliwościach uruchamiania systemu zainstalowanego na USB: “One thing our customers and partners requested was the ability to boot from flash. Customers told us they would like to purchase a server from their hardware partner of choice with Hyper-V included and they wanted the ability to choose whether it was on traditional spinning media or flash media. You got it.”. Zacząłem szukać tego opisu i znalazłem opis na TechNecie poświęcony właśnie takiemu wdrażaniu Hyper-V Server 2008 R2, przygotowując opis bazowałem głównie na tym dokumencie. Dokument wprowadza skrót UDF od USB Flash Device, zawiera też kilka obwarowań co do tej instalacji, które po przetłumaczeniu brzmią:

  • Instalacja Microsoft Hyper-V Server 2008 R2 na UFD, który nie jest wewnętrznym komponentem komputera jak np. przenośny zewnętrzny flash USB nie jest dozwolona.
  • UFD musi być komponentem wewnętrznym wbudowanym w serwer zgodnie z dokładnym opisem zawartym w dokumencie.

Aby przeprowadzić instalację Hyper-V Server 2008 R2 urządzeniu USB należy przygotować:

Wszystkie poniższe operacje wykonywałem na Windows 7 Ultimate x64 z zainstalowanym pakietem WAIK, gdzie:

  • C: to dysk systemowy
  • D: napęd DVD (może być również klucz USB, jak również rozpakowany obraz płyty) z instalatorem Hyper-V Server 2008 R2
  • W porcie USB znajduje się klucz USB na którym zainstalowany zostanie system. UWAGA! Wszystkie dane z nośnika wymiennego zostaną skasowane, nie jest to koniecznością, zdecydowałem się na to z powodu przejrzystości opisu.

Ad rem!

  1. Uruchamiamy CMD z uprawnieniami Administratora, za jego pomocą tworzymy w folderze nowym folderze WINvhd na dysku C: plik VHD o wielkości prawie 15GB, formatujemy jego zawartość i nadajemy oznaczenie R:.

    mkdir c:\WINvhd
    diskpart
    create vdisk file=c:\WINvhd\HVserver.vhd maximum=15000 type=fixed
    select vdisk file=c:\WINvhd\HVserver.vhd
    attach vdisk
    create partition primary
    assign letter=R
    format quick fs=ntfs label=HVserver
    exit

  2. Rozpakowanie pliku WIM, przechodzimy do folderu gdzie znajduje się ImageX, w moim przypadku używam wersji X64, bo Hyper-V Server 2008 R2 jest właśnie X64. W drugiej linii sprawdzamy jakie są wszystkie wersje systemu dostępne w pliku WIM, w tym przypadku jest tylko jedna wersja <IMAGE INDEX=”1″>, właśnie ją wybiorę:) dlatego w następnym kroku pojawiła się cyfra 1.

    cd /d “C:\Program Files\Windows AIK\Tools\amd64″
    imagex /info d:\sources\install.wim
    imagex /apply /check d:\sources\install.wim 1 R:\

  3. Odłaczamy dysk VHD.

    diskpart
    select vdisk file=c:\WINvhd\Windows.vhd
    detach vdisk
    exit

  4. Sprawdzamy którym urządzeniem jest docelowy napęd USB, następnie wymazujemy jego zawartość, tworzymy nową partycję i formatujemy ją na NTFS i nadajemy oznaczenie Z:.

    diskpart
    list disk
    select disk <numer napędu USB>
    clean
    create partition primary
    select partition 1
    active
    format quick fs=ntfs
    assign letter=Z
    exit

  5. Kopiujemy plik VHD na napęd USB.

    copy c:\WINvhd\HVserver.vhd Z:

  6. Nadpisujemy MBR na napędzie USB.

    cd /d “c:\program files\Windows AIK\Tools\PETools\AMD64\”
    bootsect /nt60 Z: /force /mbr

  7. Podłączamy dysk VHD z napędu USB, powinien być widoczny jako R:.

    diskpart
    select vdisk file=z:\HVserver.vhd
    attach vdisk
    exit

  8. Zmiana parametrów bootowania.

    bcdboot r:\windows /s Z:

  9. Dodajemy wpisy do rejestru systemu na VHD wymuszające wyłączenie pliku wymiany w celu ograniczenia ilości cykli zapisów na napęd USB.

    REG LOAD HKLM\WindowsTemp r:\windows\system32\config\system
    REG ADD “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v PagingFiles /t REG_MULTI_SZ /d “” /f
    REG DELETE “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v ExistingPageFiles /f
    REG UNLOAD HKLM\WindowsTemp

  10. Odłączamy dysk VHD.

    diskpart
    select vdisk file=z:\HVserver.vhd
    detach vdisk
    exit

  11. Klucz USB z Hyper-V Server 2008 R2 jest już przygotowany, można się z niego spróbować zabootować. Klucz po przygotowaniu można użyć na innej konfiguracji sprzętowej (uruchomić go na innym komputerze) ważne, żeby konfiguracja napędów była identyczna jak w momencie kiedy była przygotowywana w innym wypadku po zabootowaniu się z klucza zobaczymy informację, że start jest niemożliwy, należy wtedy edytować konfigurację bootowania na kluczu USB (dalej opis jak to zrobić). Jeśli się udało to na ekranie zobaczmy końcową fazę konfiguracji systemu.
  12. W razie problemów z bootowaniem z nowoutworzonego VHD na USB należy wystartować komputer z nośnika instalacyjnego, uruchomić linię komend (Shift + F10), za jej pomocą podpiąć dysk VHD (podobnie jak punkt 7 ale podając odpowiednie litery napędów) a następnie ręcznie zmienić parametry bootowania za pomocą polecenia BCDboot (punkt 8 ze wskazaniem odpowiednich dysków). Dokładniejszy opis jak posługiwać sie BCDboot znajduje się tym i w  tym artykule.

Rozwiązanie testowałem na stacji roboczej Dell Vostro 420 i 430, na każdym z nich działało poprawnie.

Bardzo ciekawie wygląda zastosowanie tej metody w infrastrukturze na której Hyper-V działa na małych bezdyskowych serwerach przeznaczonych do wirtualizacji przy podłączonych dyskach NAS na których znajdują się wirtualne systemy. Wcześniej w takim scenariuszu mogła pracować tylko wirtualizacja rodem z VMware.

źródła, poza własnym doświadczeniem:

Microsoft Hyper-V Server 2008 R2 RTM & More – Microsoft Virtualization Team Blog

Deploying Microsoft Hyper-V Server 2008 R2 on USB Flash Drive – TechNet

Walkthrough: Deploy a Virtual Hard Disk for Native Boot – TechNet

Virtual Hard Disks in Windows Server 2008 R2 and Windows 7 – TechNet

Instalacja Windows 7 oraz Windows Server 2008 R2 w plikach VHD – wss.pl

ImageX Technical Reference – TechNet

Add a Native-Boot Virtual Hard Disk to the Boot Menu – TechNet

BCDboot Command-Line Options – TechNet

Instalacja Windows 7 na napędzie USB

Prawie dwa lata temu na moim blogu umieściłem wpis o możliwości instalacji Windows Vista i Windows Server 2008 na dysku USB. Rozwiązanie, które wtedy przedstawiłem nie było wygodne, z powodu konieczności posiadania komputera z Hyper-V lub VMware Server.

Windows 7: Small drive

Nie udało mi się znaleźć nigdzie dobrej metody na instalację Windows 7 i Windows Server 2008 R2 na kluczu USB dlatego postanowiłem się zabrać samemu za napisanie tutoriala. Rozwiązanie to jest rozwojową modyfikacją mojego pomysłu z przed 2 lat, jest od niego też dużo prostsze. Należy pamiętać o tym, że nie jest wspierane przez Microsoft. Domyślnie podczas startu Windows 7 i Windows Server 2008 R2 magistrala USB jest resetowana (tak samo jak w Windows Vista i Windows Server 2008) co w wypadku instalacji na napędzie USB powoduje przerwanie startu i restart komputera, w moim opisie przeciwdziałam temu przez wpisy w rejestrze i edycję plików. Procedura opisywana poniżej wymaga nieco uwagi a nie tylko wklejania poszczególnych linii do CMD. Wszystkie skomplikowane operacje zostały dodatkowo opisane. Jej działanie testowałem na laptopie Dell D630, D430, D6400 oraz na stacji roboczej Dell Vostro 430, na każdym z nich działało poprawnie.

Jeśli mimo to się zdecydowałeś należy się zaopatrzyć w:

Wszystkie poniższe operacje wykonywałem na Windows 7 Ultimate x64 z zainstalowanym pakietem WAIK, gdzie:

  • C: to dysk systemowy
  • D: napęd DVD (może być to też klucz USB, można również się posłużyć rozpakowanym obrazem) z instalatorem Windows 7
  • W porcie USB znajduje się klucz USB na którym zainstalowany zostanie system. UWAGA! Wszystkie dane z nośnika wymiennego zostaną skasowane, nie jest to koniecznością (z punktu 1 można zrezygnować jeśli jesteśmy pewni, że pierwsza partycja podstawowa na kluczu jest aktywna i jest sformatowana na NTFS, w takim wypadku należy zmienić tylko jej literę na Z:), zdecydowałem się na to z powodu przejrzystości opisu.

Ad rem!

  1. Uruchamiamy CMD z uprawnieniami Administratora, za jego pomocą czyścimy dysk USB, formatujemy jego zawartość i nadajemy oznaczenie Z:.

    diskpart
    list disk
    select disk <numer napędu USB>
    clean
    create partition primary
    select partition 1
    active
    format quick fs=ntfs
    assign letter=Z
    exit

  2. Rozpakowanie pliku WIM, przechodzimy do folderu gdzie znajduje się ImageX, w moim przypadku wdrażam wersję X64 (dlatego AMD64 w pierwszej linii, przy wdrażaniu X86 ścieżka będzie miała oczywiście X86 na końcu ). W drugiej linii sprawdzamy jakie są wszystkie wersje systemu dostępne w pliku WIM, w moim przypadku Windows 7 Ultimate X64 był dostępny jako <IMAGE INDEX=”4″>, dlatego w następnym kroku pojawiła się cyfra 4.

    cd /d “C:\Program Files\Windows AIK\Tools\amd64″
    imagex /info d:\sources\install.wim
    imagex /apply /check d:\sources\install.wim 4 Z:\

  3. Nadpisujemy MBR na napędzie USB (znów robię to dla wersji X64).

    cd /d “c:\program files\Windows AIK\Tools\PETools\AMD64\”
    bootsect /nt60 Z: /force /mbr

  4. Zmiana parametrów bootowania.

    bcdboot Z:\windows /s Z:

  5. Dodajemy wpisy do rejestru systemu na USB wymuszające wyłączenie pliku wymiany w celu ograniczenia zapisów na napęd USB (w razie chęci posiadania pliku wymiany z komend w linii 2 i 3 można zrezygnować jeśli chcemy zachować plik wymiany o domyślnych parametrach)  oraz zmieniamy ustawienia startu usług związanych z magistralą USB.

    REG LOAD HKLM\WindowsTemp z:\windows\system32\config\system
    REG ADD “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v PagingFiles /t REG_MULTI_SZ /d “” /f
    REG DELETE “HKLM\WindowsTemp\ControlSet001\Control\Session Manager\Memory Management” /v ExistingPageFiles /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBCCGP /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBEHCI /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBHUB /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBSTOR /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBUHCI /v Start /t REG_DWORD /d 00000000 /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBCCGP /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBEHCI /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBHUB /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBSTOR /v Group /t REG_SZ /d “Boot bus extender” /f
    REG ADD HKLM\WindowsTemp\ControlSet001\Services\USBUHCI /v Group /t REG_SZ /d “Boot bus extender” /f
    REG UNLOAD HKLM\WindowsTemp

  6. Przechodzimy eksploratorem windows do Z:\windows\inf i edytujemy następujące pliki: usb.inf, usbport.inf, usbstor.inf; dodając na początku ich treści:

    [*.AddService]
    StartType = 0
    LoadOrderGroup = boot bus extender

  7. Klucz USB z Windows 7 jest już przygotowany, można się z niego spróbować zabootować. Klucz po przygotowaniu można użyć na innej konfiguracji sprzętowej (uruchomić go na innym komputerze).
  8. Po automatycznym restarcie najprawdopodobniej system się nie włączy poprawnie. Będzie się resetował kilka sekund po starcie. Jest to spowodowane przywracaniem ustawień domyślnych rejestrów usług magistrali USB przez instalator. Zanim system będzie gotowy do pracy taka sytuacja wydarzy się dwukrotnie. Należy wtedy wykonać po kolei kroki: 5 i 6, po czym zabootować się jeszcze raz. Te same kroki należy podjąć jeśli zmienią się ustawienia i system będzie się resetował podczas startu, zdarza się, że instalacja poprawek zmienia ustawienia rejestrów odpowiedzialnych za USB, co powoduje problemy ze startem.

Przedstawioną metodę można stosować dla Windows 7 i Windows Server 2008 R2 oraz Hyper-V Server 2008 R2 (dla Hyper-V Server 2008 R2 jest wspierane przez Microsoft do instalacji do dysku VHD na USB, opiszę to wkrótce). Warto też mieć na uwadze, że wydajne USB 3.0 niedługo trafi pod strzechy, może to spowodować, że rozruch systemu z USB stanie się o wiele bardziej popularny z powodu prędkości porównywalnej do interfejsu SATA 2.

Jeśli chodzi o legalność rozwiązania jestem w trakcie ustalania jakie zdanie na temat tej metody instalacji ma firma Microsoft. Przytoczę kawałek licencji Windows 7, w oryginale:

“The software is licensed on a per copy per computer basis. A computer is a physical hardware system with an internal storage device capable of running the software. A hardware partition or blade is considered to be a separate computer.”

Po polsku brzmi to:

“Oprogramowanie jest licencjonowane w trybie kopii na komputer. Komputer to fizyczny system sprzętowy z wewnętrznym urządzeniem magazynującym dane służący do uruchomiania oprogramowania. Partycja sprzętowa lub dysk typu blade są uznawane za oddzielne komputery.”

Biorąc to dosłownie instalacja na kluczu USB znajdującym się wewnątrz sprzętu komputerowego (np. klucz podłączony wewnątrz komputera nie wystający poza obudowę)  wydaje się dopuszczalna ale tak jak napisałem parę linijek wyżej jestem w trakcie sprawdzania u źródła.

[update 27.01.2010]
Zgodnie z informacją jaką w dniu dzisiejszym otrzymałem z Centrum Obsługi Klienta Microsoft taka instalacja jest dopuszczona przez licencję Windows 7 i Windows Server 2008 R2. Cytat z maila jaki w tej sprawie otrzymałem: “Instalacja systemu na nośniku danych jakim jest USB, jest możliwa i nie powoduje, że takie postępowanie stoi w sprzeczności z licencją. Należy zwrócić uwagę na fakt, że oprogramowanie załadowane z napędu USB – w przypadku licencji OEM, przypisze się do komputera i instalacja na innym urządzeniu z tego napędu nie jest możliwa“.

źródła, poza własnym doświadczeniem:

ImageX Technical Reference – TechNet

BCDboot Command-Line Options – TechNet

Instalator Windows 7 z aplikacjami – Lite Touch Deployment

Na przykładzie jakim jest integracją Microsoft Office 2007 i Adobe Reader z medium instalacyjnym Windows 7 postaram się opisać prosty przykład Lite Touch Deployment przygotowanego za pomocą Microsoft Deployment Toolkit 2010.

Poniższy scenariusz ma zastosowanie dla wdrażania systemów: Windows 7, Vista, Server 2008, Server 2008 R2. Można go wykonać na powyższych systemach jak również na Windows XP i Server 2003.

Aby przygotować integrację na Windows 7 niezbędne jest zainstalowanie:

W przypadku integracji na starszych systemach poza instalacją powyższych aplikacji należy sprawdzić dodatkowo czy posiadamy:

  • Microsoft Management Console (MMC) w wersji 3.0
  • Microsoft .NET Framework 2.0 lub nowszy
  • Windows PowerShell w wersji 1.0 lub 2.0 CTP3 lub nowszy

Dla potrzeb pokazu przygotowałem na pulpicie:

  • Rozpakowany obraz Windows 7 Ultimate x86 – może być też inna wersja, pliki mogą być również skopiowane z płyty
  • Rozpakowany obraz płyty instalacyjnej Microsoft Office 2007 Ultimate – jw
  • Przygotowany zgodnie z postem Aarona Parkera pakiet instalacyjny Adobe Reader 9.1

Proces przygotowywania obrazu instalacyjnego prezentuje poniższy screencast, zapraszam do oglądania:

Tak przygotowany obraz ISO można wykorzystać do instalacji zarówno z DVD jak i z USB.

W screencascie obiecałem podać parametry instalatora, które wprowadziłem dla:

  • Microsoft Office 2007 Ultimate: setup.exe /config Ultimater.WW\config.xml
  • Adobe Reader 9.1:  MSIEXEC /I AcroRead.msi ALLUSERS=TRUE TRANSFORMS=AdobeReader9.mst /QB

Przeprowadziłem rozruch (boot) z przygotowanego w ten sposób obrazu w celu zainstalowania zintegrowanego z aplikacjami systemu:

Jak widać proces przygotowania scenariusza Lite Touch Deployment jest dość prosty a efekt bardzo ułatwia wdrażanie nowych systemów wraz z aplikacjami w małych organizacjach i u zaawansowanych użytkowników domowych. Można go modyfikować zgodnie z potrzebami.

Zapraszam do komentowania i zadawania pytań w komentarzach.

źródła, poza własnym doświadczeniem:

Microsoft Deployment Toolkit – wirtyna produktu

Microsoft Deployment Toolkit (MDT) 2010 – witryna pobierania

The Windows® Automated Installation Kit (AIK) for Windows® 7 – witryna pobierania

Using enterprise deployment tools for the 2007 Office system – TechNet

Config.xml file in the 2007 Office system – TechNet

Deploying Adobe Reader 9 for Windows - by Aaron Parker