System z pliku VHD

vhd

Słowem wstępu

W systemach operacyjnych Windows Vista / Server 2008 i nowszych, Microsoft wprowadził nowy sposób bootowania systemów operacyjnych. Pliki typu boot.ini oraz win.com, które służyły do ładowania systemu operacyjnego odeszły w niepamięć. Zastąpił je program BCD (Boot Configuration Data) jest to swego rodzaju baza danych która zawiera informacje o systemach jakie mogą zostać załadowane. W pierwszej wersji, jak to zwykle bywa z Microsoft program miał ograniczoną funkcjonalność, jednak od systemu Windows 7 /Server 2008 R2 oferuje bardzo ciekawą funkcję, a mianowicie możliwość ładowania systemów operacyjnych bezpośrednio z plików VHD.

Czym są pliki VHD i jak z nich korzystać?

Cytując Wikipedię:

Virtual Hard Disk (VHD) – format pliku wirtualnego dysku twardego. Może zawierać dokładnie to samo, co znajduje się na partycjach fizycznych dysków, czyli pliki, foldery, system plików czy partycje. Najczęściej używany jest jako dysk maszyn wirtualnych.

Tak więc, skoro w pliku VHD możemy zawrzeć całe partycje to możemy w nim także zainstalować cały system operacyjny i korzystać z niego tak jak z systemu który znajduje się na osobnej partycji. Jest to genialne rozwiązanie dla osób które z różnych powodów nie chcą partycjonować swojego dysku twardego.

Utworzenie dysku i instalacja systemu

Metoda zaprezentowana poniżej jest metodą zdecydowanie najprostszą – wszystkie czynności (wraz z instalacją systemu) zostaną wykonane z poziomu systemu Windows.  Cała operacja nie powinna zająć więcej niż 20-25 min.

Najprostrzą metoda utworzenia dysku vhd, jest wykonanie tego przy użyciu wbudowanego w Windows narzedzia Zarządzanie dyskami. Aby je uruchomić wystarczy wpisać w pole wyszukiwania windows w menu stary wyrażenie diskmgmt.msc można też kliknąć prawym przypiskiem myszy na ikonę Komputer i wybrać pozycję Zarządzaj.

W narzędziu Zarządzanie dyskami wybieramy z menu Akcja pozycję Utwórz dysk VHD:

2

 

Następnie określamy parametry tworzonego dysku twardego. Określamy lokalizację pliku z dyskiem. Możemy wybrać dysk o stałym rozmiarze lub dysk dynamicznie rozszerzany, tego typu dysk będzie „rósł” wraz ze wzrostem danych na nim zawartych. Jednak w przypadku systemów operacyjnych warto wybrać stały rozmiar pliku z dyskiem VHD, zwłaszcza gdy nie posiadamy zbyt dużo wolnego miejsca – wówczas podczas pracy takiego systemu mogą wystąpić błędy.

Tworzenie dysku VHD
Tworzenie dysku VHD

W przypadku wybrania dysku o stałym rozmiarze proces jego tworzenie może potrać kilka minut, ze względu na konieczność alokacji wolnego miejsca pod przyszły dysk.

 

Teraz musimy zainicjować dysk. Jeżeli robimy to po praz pierwszy w naszym systemie, może pojawić się dymek informujący o automatycznej instalacji sterowników pod dysk VHD.

Inicjacja dysku

 

Dodatkowo zostaniemy poproszeni o wybór stylu partycji jaka będzie zastosowana na nowym dysku. Wybieramy tryb partycji z zastosowaniem rekordu MBR.

wybór stylu partycji

 

W następnej kolejności na dysku tworzymy nową partycję. Wybieramy odpowiednią literę dla nowego woluminu (w moim przypadku Y) oraz formatujemy dysk z użyciem systemu plików NTFS. Opcjonalnie możemy też nadać etykietę dla tego woluminu.

7 8

Nowy wolumin powinien się nam pojawić w systemie i być widoczny po wejściu do Eksploratora Windows.

 

Kiedy dysk jest już utworzony, partycja sformatowana i widoczna w systemie plików możemy przejść do instalowania, a w zasadzie kopiowania systemu plików. Wkładamy oryginalny nośnik z systemem do czytnika DVD. Będziemy potrzebowali drobnego narzędzia, które niestety nie jest standardowym składnikiem systemu Windows – chodzi o program ImageX, który służy m.in do Tworzenia obrazów WIM systemów operacyjnych. Nam jednak posłuży do zaimportowania systemu bezpośrednio na partycję dysku VHD. Program imagex.exe jest składnikiem Microsoft Windows Automated Instalation Kit (WAIK). Możemy oczywiście ściągnąc cały ten pakiet warzący ok 1,2 GB tylko po to aby posiadać pliczek imageX.exe zajmujący kilkaset kilobajtów jednak lepiej jest skorzystać z poniższego linku: http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=2525084&kbln=en-us. Na stronie podajemy adres email na który przychodzi email z poprawką.

Po jej ściągnięciu i zainstalowaniu wykonujemy poniższe:

Uruchamiamy Wiersz poleceń z podwyższonymi uprawnieniami (jako administrator)

CMD_administrator

w wierszu poleceń, przechodzimy do katalogu z programem imagex i wydajemy polecenie:

imagex.exe /apply E:sourcesinstall.wim 4 Y:

gdzie: E: to litera napędu z płytą instalacyjną Windows, 4 to numer indeksu o którym poniżej, a Y: to litera partycji pod jaką mamy podmontowany nasz wolumin VHD.

ImageX apply

W jednym pliku WIM (Windows IMage) możemy zapisać kilka systemów operacyjnych. W powyższym poleceniu został podany numer indeksu identyfikujący konkretny obraz systemu w pliku WIM. Poniżej znajduje się tabela zawierająca numery indeksów oraz wersje systemów operacyjnych:

 

Nr indeksu Wersja systemu
Windows 7 32bit
1 Starter
2 Home Basic
3 Home Premium
4 Professional
5 Ultimate
Windows 7 64bit
1 Home Basic
2 Home Premium
3 Professional
4 Ultimate
Windows Server 2008 R2
1 Standard
2 Standard Server Core
3 Enterprise
4 Enterprise Server Core
5 Data Center
6 Data Center Server Core
7 Web Server
8 Web Server Core

Efektem wydania polecenia wskazanego powyżej, jest start procesu implementacji systemu.

ImageX work

 

Po ukończeniu na partycji VHD możemy zaobserwować standardowy układ katalogów systemowych:

13

Edycja bazy BCD

Skoro system jest już postawiony, pozostaje utworzyć wpis w bazie BCD aby można było się do niego zalogować. Baza BCD posiada wiele parametrów konfiguracyjnych jednak aby w najszybszy i najprostszy sposób utworzyć nowy wpis wystarczy skopiować wpis istniejącego już systemu i edytować odpowiednie parametry. Tak więc do dzieła!

Korzystamy z otwartego już okna Wiersza poleceń systemu Windows lub jeżeli zostało ono zamknięte to uruchamiamy je ponownie z podwyższonymi przywilejami. Wydajemy następujące polecenia:

bcdedit /copy {current} /d “Nazwa wpisu”

oczywiście podając swoją nazwę wpisu. Parametr {current} jest tzw znanym identyfikatorem, który wskazuje na aktualnie uruchomiony system operacyjny. Efektem wydania polecenia jest utworzenie kopii wpisu w bazie BCD, która będzie posiadała swój unikatowy GUID, który należy skopiować, ponieważ będzie potrzebny w poniższych poleceniach. Następnie wpisujemy:

bcdedit /set <guid> device vhd=[litera:]<sciezka>
bcdedit /set <guid> osdevice vhd=[litera:]<sciezka>
bcdedit /set <guid> detecthal on

podając w odpowiednich miejscach ścieżkę do pliku VHD, litera dysku powinna znajdować się w nawiasach kwadratowych (np [D:] czy [E:]).

bcd dodanie wpisu

Po wydaniu tych wpisów możemy sprawdzić czy nasz wpis został poprawnie dodany do bazy bcdedit, wywołując program bcdedit bez żadnych dodatkowych parametrów.

bcd lista wpisów

 

Jeżeli w przyszłości będziemy chcieli usunąć system z pliku VHD wystarczy usunąć sam plik VHD z dysku twardego oraz usunąć wpis w bazie BCD wydając jedno proste polecenie:

bcdedit /delete {guid} /cleanup

 

 

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *