Wiedza - Artykuły
Image
O AUTORZE
Wojciech Kowasz
Interesuję się głównie serwerowymi technologiami Microsoftu, ale jestem otwarty na wszystkie dobre rozwiązania. Byłem najmłodszy w Polsce, gdy zostałem MCSE+S. Teraz jestem inżynierem systemowym odpowiedzialnym za infrastrukturę hostingową m.in. dobrychprogramów, TechIT i Gamikaze. Po pracy jestem także miłośnikiem squasha i gitary klasycznej.
Typy publikacji
Inne publikacje
Image

Instalacja Windows 7 na wirtualnym dysku VHD

11.05.2009 16:37, Autor: Wojciech Kowasz (Docent), Komentarze (33)

W czasach publicznych beta-testów coraz częściej, zwłaszcza wśród zaawansowanych użytkowników, zachodzi potrzeba instalacji więcej niż jednego systemu operacyjnego. Ten podstawowy, zwykle na dysku C, jest oczywiście najważniejszy, a co z pozostałymi? Lądują one zwykle na dodatkowych partycjach, co wiąże się z wieloma problemami – patycje te trzeba wcześniej posiadać (lub wydzielić), zainstalowanych systemów trudno się później pozbyć (trzeba formatować partycje) i ogólnie na komputerze robi się niezły bałagan. Instalacja na maszynach wirtualnych rodzi z kolei dość zasadniczy problem – nie możemy przetestować, czy wszystkie urządzenia w fizycznym komputerze będą działały z nowym systemem. Może więc czas nauczyć się korzystać z nowej funkcji Windows 7 i Windows Server 2008 R2, która umożliwia instalację systemu i bootowanie z dysku wirtualnego zapisanego w jednym pliku VHD? To naprawdę proste, a w tym artykule pokazujemy krok po kroku, jak tego dokonać.

Virtual Hard Drive (VHD) to otwarty format zapisu dla dysków wirtualnych w rozwiązaniach wirtualizacyjnych Microsoftu - dokładnie ten sam, którego używa Virtual PC 2007, Virtual Server 2005 i Hyper-V. Wielu użytkowników już wie, że w Windows 7 i Windows Server 2008 R2 dodano możliwość tworzenia i podłączania takich dysków w taki sposób, aby były widoczne jako zwykłe dyski w oknie Komputer. Nie wszyscy wiedzą jednak, że dysk VHD można podłączyć w instalatorze systemu i po prostu zainstalować na nim Windows 7 lub Windows Server 2008 R2.

Przygotowanie wirtualnego dysku

Dysk VHD możemy przygotować w samym instalatorze, ale ponieważ operacja w zależności od wielkości dysku trwa przynajmniej kilkanaście minut, prawdopodobnie wygodniej będzie zrobić to z poziomu naszego podstawowego systemu – dysk będzie się tworzył, a my możemy kontynuować normalną prace.

Microsoft dla systemu Windows 7, podobnie jak dla maszyn wirtualnych, umożliwia stworzenie dwóch rodzajów dysków VHD – dysku dynamicznego i o stałym rozmiarze (fixed-size). Dysk o stałym rozmiarze od razu po utworzeniu pochłania tyle miejsca na dysku fizycznym, ile wynosi maksymalny rozmiar pliku VHD. Dysk dynamiczny z kolei zajmuje początkowo kilka megabajtów i jest w razie potrzeby na bieżąco rozszerzany. Operacja rozszerzania powoduje jednak dość znaczny spadek wydajności i generalnie nie polecamy używania dysków dynamicznych do instalowania systemów w sposób opisany w niniejszym artykule.

Aby stworzyć dysk o stałym, ustalonym rozmiarze, należy przygotować lokalizację z odpowiednią ilością wolnego miejsca na dysku fizycznym. Można przeznaczyć na ten cel jeden folder na dużym dysku fizycznym, np. D:\VHDs. Następnie należy uruchomić program diskpart. Jeśli zdecydujemy się na utworzenie dysku VHD w instalatorze Windows, wiersz polecenia można wywołać na ekranie wyboru dysku do instalacji naciskając kombinację klawiszy SHIFT-F10.

Tworzenie pliku VHD polega na podaniu ścieżki do pliku, który ma być utworzony (parametr FILE) oraz jego maksymalnego rozmiaru w megabajtach (parametr maximum). Domyślnie diskpart przyjmuje, że chodzi o dysk o stałym rozmiarze (fixed-size). Jeśli chcemy utworzyć dysk dynamiczny, musimy podać dodatkowo parametr type=expandable.

create vdisk file=D:\VHDs\Windows7.vhd maximum=20000

Tworzenie dysku o stałym rozmiarze trwa jakiś czas (w przeciwieństwie do dysków dynamicznych, które tworzone są niemal natychmiast). Do instalacji systemu Windows 7 polecamy tworzenie dysków wirtualnych nie mniejszych, niż 16 GB. Jeśli planujemy instalować jakieś dodatkowe aplikacje poza samym systemem, warto rozważyć stworzenie większego dysku.

Rysunek

Instalacja systemu w pliku VHD

Po utworzeniu pliku możemy przystąpić do instalacji systemu. Wkładamy do napędu instalacyjną płytę DVD, uruchamiamy ponownie komputer bootując z tej właśnie płyty i przechodzimy przez cały proces do momentu, gdy instalator pyta o dysk docelowy. Jak widać, dysku utworzonego przed chwilą oczywiście nie ma na liście – instalator jeszcze nie wie, że dysk taki istnieje i nie montuje go w systemie. Wystarczy jednak uruchomić wiersz poleceń kombinacją klawiszy SHIFT+F10 i wywołać program diskpart, a w nim polecenie:

select vdisk file=D:\VHDs\Windows7.vhd
attach vdisk

Po zamknięciu okna wiersza polecenia pozostaje już tylko odświeżyć widok dysków w instalatorze i wybrać nowy dysk wirtualny jako miejsce docelowe dla instalacji systemu. Ostrzeżenie, że system nie może zostać zainstalowany na wybranym dysku należy po prostu zignorować.

Rysunek

Praca z systemami na wirtualnych dyskach

Po instalacji system zainstalowany w dysku wirtualnym pojawia się na liście Boot Managera zupełnie tak, jakby był zainstalowany po prostu na drugiej partycji dysku fizycznego. W samej pracy systemu nie ma praktycznie żadnych zauważalnych różnic – po instalacji rzuca się w oczy jedynie fakt, że nie można wykonać klasyfikacji wydajności komputera. System wykrywa wszystkie urządzenia fizycznego komputera, nie ma żadnej emulacji znanej z maszyn wirtualnych. Oczywiście różnice na pewno pojawią się w wydajności – system zainstalowany w pliku VHD będzie nieco słabiej prezentował się na tle systemu na dysku fizycznym, ale różnice są naprawdę niewielkie i podczas normalnego korzystania z komputera (funkcje systemowe, przeglądanie Internetu, aplikacje biurowe) wręcz niezauważalne.

Rysunek

Po instalacji kilku systemów w ten sposób z pewnością uciążliwe stanie się wybieranie systemu do uruchomenia na liście Boot Managera – wszystkie będą nazywały się „Windows 7” i trudno będzie zorientować się, o który system chodzi. Jest rozwiązanie tego problemu jest aplikacja wiersza polecenia bcdedit, składnik systemu operacyjnego do edycji wpisów Boot Managera.

Aby skorzystać z aplikacji bcdedit, należy uruchomić wiersz polecenia (cmd.exe) jako administrator. Następnie należy wyświetlić wszystkie wpisy systemów zlokalizowane w Boot Managerze naszego komputera. Służy do tego polecenie:

bcdedit

Pierwszy zestaw parametrów dotyczy samego Boot Managera i można go zignorować. Pierwszy system operacyjny pojawi się jako drugi zestaw. Należy zaznaczyć (kliknąć prawym przyciskiem myszy i z menu wybrać polecenie Zaznacz, a następnie zaznaczyć tekst), a później skopiować do schowka (tylko kliknąć prawym przyciskiem myszy) wartość wartość identyfikatora systemu, którego nazwę na liście chcemy zmienić. Mając identyfikator pozostaje wydać polecenie:

bcdedit /set {identyfikator} description "Windows 7 w pliku VHD"
Rysunek

Można jeszcze zmienić czas, przez jaki Boot Manager czeka na wybór systemu (domyślnie 30 sekund) i kolejność systemów – czyli który będzie ładowany domyślnie po przekroczeniu czasu. Te operacje również można wykonać z poziomu bcdedit, ale łatwiej skorzystać z polecenia msconfig, które pozwala skonfigurować powyższe parametry w trybie graficznym.

Rysunek

Usuwanie zainstalowanego systemu

Jeśli system zainstalowany w pliku VHD nie jest nam już potrzebny, możemy po prostu usunąć plik dysku wirtualnego – nie trzeba niczego formatować ani martwić się o zgromadzone obok dane na dysku fizycznym. Dane w pliku VHD oczywiście zostaną utracone i należy o tym pamiętać!

Kasowanie plików VHD jest banalnie proste, ale w Boot Managerze – podobnie zresztą jak po formatowaniu prawdziwej partycji z systemem – zostają pozostałości. Usunięty system nadal widnieje na liście wyboru. Łatwo można go jednak stamtąd usunąć korzystając z narzędzia msconfig. Wystarczy zaznaczyć go na liście i nacisnąć przycisk Delete.

Najczęściej zadawane pytania

Czy w opisany sposób można zainstalować system Windows 7 lub Windows Server 2008 R2 na komputerze, na którym nie ma "tradycyjnie" zainstalowanego Windows 7?

Tak, opisana metoda pozwala na instalację systemu Windows na komputerze, na którym pracują dowolne systemy operacyjne - można np. posiadać system Windows Vista i w pliku VHD zainstalować Windows 7.

Czy podobnie do pliku VHD zainstalować można system Windows Vista?

Nie, bootowanie z pliku VHD to nowość w systemie Windows 7 (i w związku z tym w Windows Server 2008 R2), więc opcja instalacji do pliku VHD ograniczona jest tylko dla tego systemu. Program diskpart w instalatorze Windows Vista nie pozwoli na zamontowanie pliku VHD.

Jaki sprzęt wykrywany jest przez system zainstalowany na dysku VHD? Czy potrzebne są specjalne sterowniki?

Poza miejscem instalacji - plik VHD zamiast partycji dysku fizycznego - zachowanie systemu nie różni się niczym w stosunku do zainstalowanego "tradycyjnie". Wykrywany jest sprzęt fizyczny komputera, bezpośrednio dostępna jest karta graficzna (nie ma emulacji tak jak w maszynach wirtualnych) oraz wszystkie urządzenia wewnętrzne jak i zewnętrzne. Instalacja sterowników przebiega identycznie jak w przypadku systemu zainstalowanego na dysku fizycznym.

r    e    k    l    a    m    a

Komentarze

Serpher
(niezalogowany)
11.05.2009 19:51

Serpher (niezalogowany)
 

Ciekawy tutorial :)

 
BartekBl
(niezalogowany)
11.05.2009 20:02

BartekBl (niezalogowany)
 

Ojej! Konfiguracja z wiersza poleceń? :D

Ciekawy artykuł ;)

 
ancymonek
(niezalogowany)
17.05.2009 18:10

ancymonek (niezalogowany)
 

nie działa, brak możliwości utworzenia pliku .vhd. pyta o dodatkowe parametry

 
Docent
17.05.2009 18:58

Docent
 

@ancymonek:

Napisz proszę, w którym momencie i jaki konkretnie jest problem - spróbujemy pomóc.

 
M. G.
(niezalogowany)
18.05.2009 11:19

M. G. (niezalogowany)
 

Czy jeżeli korzystając z programu VirtualBox udało mi się zainstalować system w wirtualnym dysku vdi to też mogę z niego skorzystać i normalnie uruchomić zapisany w tym pliku system? Czy można i jak stworzyć wpis do GRUBa aby potraktował ten dysk jak fizyczny i uruchomił normalnie zapisany w nim system?

 
Docent
18.05.2009 13:06

Docent
 

@M. G.:

Nie, tylko bootloader Windows 7 (na chwilę obecną, według mojej wiedzy) obsługuje bootowanie z pliku dysku wirtualnego i z oczywistych względów musi to byćformat VHD.

 
ancymonek
(niezalogowany)
18.05.2009 14:14

ancymonek (niezalogowany)
 

nie działa, brak możliwości utworzenia pliku .vhd. pyta o dodatkowe parametry

 
ancymonek
(niezalogowany)
18.05.2009 14:16

ancymonek (niezalogowany)
 

już działa (mój błąd), ale jak zadziałało to straciłem Vistę. Poradziłem sobie - już jest ok.

 
himen
22.05.2009 21:36

himen
 

Genialny artykuł! W bardzo przejrzysty sposób wszystko wytłumaczone zresztą jak zawsze na techIT. Pozdrawiam

 
himen
23.05.2009 11:44

himen
 

Mam pytanko. Utworzyłem sobie dysk w win7 "select vdisk file=D:\VHDs\Windows7.vhd attach vdisk" i chciałem go używać jako partycje. Tylko problem jest taki że po zrestartowaniu komputera dyska się odłącza i trzeba za każdym razem wpisywać "select vdisk file=D:\VHDs\Windows7.vhd attach vdisk". Jest może jakiś sposób żeby zamontować dysk na stałe?

 
negleden
26.05.2009 14:29

negleden
 

Ciekawa opcja. Właśnie zainstalowałem Sevena i się okazało, że program emulujący przesterzy gitarowe nie działa :(
Teraz będę wiedział jak się zabierać za test nowego systemu. Duży plus dla autora i oczywiście Microsoftu

 
CZARNY
(niezalogowany)
06.06.2009 17:34

CZARNY (niezalogowany)
 

cały czas mi odmawia utwożenia dysku VHDs - pyta o dodatkowe parametry ;/ - jakie???

 
CZARNY
(niezalogowany)
06.06.2009 17:36

CZARNY (niezalogowany)
 

ps. dodam że mam vistę ;)

 
Docent
06.06.2009 18:30

Docent
 

@CZARNY:

Dysk można stworzyć tylko w programie diskpart systemu Windows 7 - z poziomu systemu albo jego instalatora. VIsta nie obsługuje dysków VHD.

 
mwpol
(niezalogowany)
16.07.2009 23:03

mwpol (niezalogowany)
 

Mam Xp Home edycje, po włożenu płyty instalacyjnej win7 RC chcąc utworzyć VHD jakoś nie mogę, postępuje zgodnie z powyższym artykułem i diskpart nie wykonuje polecenia create vdisk itd.

 
lernaeus
(niezalogowany)
17.07.2009 12:03

lernaeus (niezalogowany)
 

WItam
Mam juz zainstalowaną viste a natepnie zainstalowalem sobie 7-kę to powinienem miec juz bootloadera 7-ki. Jesli ponownie zainstaluje 7-kę z vhd i usune instalacje siódemki z portycji lącznie z wpisem to 7 na vhd bedzie dzialał prawidlowo?

 
maggreg
(niezalogowany)
28.07.2009 12:56

maggreg (niezalogowany)
 

Podobno nie będzie możliwości upgradu systemu zainstalowanego na wirtualnej partycji (RC do RTM).
Czy to prawda?
pzdr

 
Docent
28.07.2009 13:45

Docent
 

@maggreg:

W ogóle nie będzie możliwości upgrade'u z RC do RTM.

@lernaeus:

Wszystko powinno działać tak jak opisujesz.

@mwpol:

Tak jak pisałem w artykule, jedynie diskpart systemu Windows 7 obsługuje dyski VHD.

 
maggreg
(niezalogowany)
28.07.2009 14:07

maggreg (niezalogowany)
 

@Docent
W ogóle tzn? Gdzie jest blokada? Czy edycja cversion.ini rozwiąże problem (skoro RC i tak ma iść do piachu to warto poeksperymentować) ?
I zasadniczo nie rozwiewa to wątpliwości odnośnie instalacji VHD, czy bedą możliwe abstrahując od wersji systemu?
pzdr

 
Docent
28.07.2009 15:24

Docent
 

@maggreg:

Upgrade będzie zablokowany systemowo. Nawet jeśli tę blokadę da się obejść (a pewnie się da podobnie, jak z Bety do RC) to system który będzie wynikiem takiego nietypowego uaktualnienia będzie niesupportowany.

Nie wiem, jakie wątpliwości masz na myśli odnośnie instalacji VHD?

 
maggreg
(niezalogowany)
28.07.2009 16:21

maggreg (niezalogowany)
 

Rozumiem, że upgrade jest możliwy np. z wersji 7233 i wyższych.
Interesuje mnie tylko, czy jeżeli wersja jest suportowana przez upgrade to możliwe jest zrobienie tego na instalce VHD.
pzdr

 
Docent
28.07.2009 16:58

Docent
 

@maggreg:

Nie widzę ewentualnych problemów, ale nie testowałem osobiście.

 
adrianos
(niezalogowany)
05.08.2009 15:11

adrianos (niezalogowany)
 

"http://www.techit.pl/Artykuly/View.aspx?596.integr... czytajac i kierujac sie tym artykułem, jestem juz na etapie tworzenia obrazu tylko mam problem gdyż dla windows7 jest nowy pakiet WAIK (http://www.microsoft.com/DOWNLOADS/details.aspx?Fa... niz dla Visty i w viscie zrobilbym tak (W tym miejscu znów zaleca się przeprowadzenie jeszcze jednej operacji na instalacji źródłowej – tym razem wyczyszczenia dysku z specyficznych plików systemowych i sterowników, których obecność w uniwersalnym obrazie instalacyjnym nie jest wskazana. Pominięcie tego kroku może spowodować, że instalacja systemu z obrazu nie powiedzie się na komputerach o znacząco różnej konfiguracji sprzętowej niż komputer źródłowy. Czynność ta polega jedynie na uruchomieniu polecenia PostReflect.exe. Jego składnia jest następująca:

PostReflect C:\Windows C:

, a w pakiecie WAIK dla win7 nie ma tego polecenia bo pewnie jest pod inna nazwa a dziala tak samo. no i nie wiem jaka komende wydac zeby wyczyscilo dysku ze specyficznych plików systemowych i sterowników, których obecność w uniwersalnym obrazie instalacyjnym nie jest wskazana. Pominięcie tego kroku może spowodować, że instalacja systemu z obrazu nie powiedzie się na komputerach o znacząco różnej konfiguracji sprzętowej niż komputer źródłowy. Może ktos moze sie orientujecie? z góry dzięki

p.s. pewnie pan Docent bedzie wiedział - proszę o pomoc

 
SuperUser
(niezalogowany)
23.10.2009 15:01

SuperUser (niezalogowany)
 

"Narzędzie PostReflect.exe służy do uwzględnienia wszystkich sterowników urządzeń o krytycznym znaczeniu dla rozruchu z magazynu sterowników w obrazie trybu offline. Funkcje tego narzędzia zostały WBUDOWANE w polecenie Sysprep. To narzędzie nie jest dostępne w omawianej wersji zestawu Windows AIK."

 
MATriX335
(niezalogowany)
25.10.2009 14:11

MATriX335 (niezalogowany)
 

Czy da się w ten sposób uruchomić system z istniejącego już dysku VHD?

 
Kruszek
(niezalogowany)
06.11.2009 19:44

Kruszek (niezalogowany)
 

Czy aby w ten sposób uruchamiać W7 czy W2K8R2 komputer musi wspierać Wirtualizację?
Czy w każdej edycji W7 można w ten sposób stawiać system?

 
TheUsh
19.04.2010 17:36

TheUsh
 

Trochę po czasie, ale gdyby ktoś miał wątpliwości takie jak Kruszek, to odpowiedź jest taka: nie, komputer nie musi wspierać wirtualizacji, ponieważ z wirtualizacją de facto to nie ma za wiele wspólnego. Ten system działa tak jak normalnie zainstalowany, z ta jednak różnicą, że nie jest zainstalowany na partycji, a w pliku, który partycję udaje ;)

 
Początkujący
(niezalogowany)
26.04.2010 19:12

Początkujący (niezalogowany)
 

Ja w ogóle nie jestem dobra w te klocki, ale mam problem, moje pliki VHD zajmują za dużo miejsca i nie wiem co zrobić, znalazłam niby w internecie co trzeba zrobić ale to nie mój język, co się stanie po usunięciu?

 
Olek
(niezalogowany)
22.05.2010 11:12

Olek (niezalogowany)
 

Witam,
Mam pytanie, pobrałem z witryny M$, obraz VHD Windows'a Serwer'a 2008 R2. Jest jakaś opcja żeby go dodać do tego Bootloadera?? Mam Win 7 jako pierwszy system.

 
pacek
(niezalogowany)
13.02.2011 22:30

pacek (niezalogowany)
 

Wszystko o`k, poza wierszami poleceń. Zalecam w diskpart wpisać najpierw : HELP CREATE VDISK. " a ciemność stanie się jasnością".

 
Sambor
(niezalogowany)
30.03.2011 20:15

Sambor (niezalogowany)
 

Witam.
Niestety pod koniec procesu tworzenia VHD wyskakuje mi komunikat - "Nie można ukończyć żądanej operacji z powodu ograniczenia systemu plików".
Gdzie tkwi problem i jak to naprawić?
Mój system:
Windows 7 Home Premium 64 bit SP1
System plików: exFAT oraz NTFS

 
sts
(niezalogowany)
11.05.2011 22:56

sts (niezalogowany)
 

Podczas użycia discpart i komendy
create vdisk file=D:\VHDs\Windows7.vhd maximum=20000
W7 na którym działam znajduje nowe urządzenie w systemie ale nie może zainstalować sterownika do Microsoft_ISO_VHBA_01
Skąd pobrać sterownik?

 
Jędrek
(niezalogowany)
09.06.2011 7:56

Jędrek (niezalogowany)
 

Temat dość stary, ale pozwolę sobie zapytać Docenta:
- czy możliwe jest skopiowanie istniejącej instalacji W7 z dysku fizycznego na dysk vhd? a jeśli tak to proszę o krótki opis.
Mam 7 na świeżutko kupionym laptopie i do eksperymentowania przydałoby się coś takiego. Nie ruszam systemu na dysku, a próbuje na tym samym systemie na vhd.
Pozdrawiam, Jędrek

 

Dodaj komentarz

Autor: