Po raz kolejny muszę skorzystać z pomocy ekspertów w SuperUser, ponieważ moje inne źródła (głównie Google ;-)) nie okazały się bardzo pomocne ...
W zasadzie chciałbym stworzyć obraz VHD dysku fizycznego, który ma być zarchiwizowany / dostępny / może nawet zamontowany na maszynie wirtualnej. Teraz istnieje kilkadziesiąt artykułów i samouczków na temat tego, jak to zrobić w sieci, ale żaden z nich nie spełnia dokładnie warunków, które chciałbym osiągnąć:
- Chciałbym plik docelowy być Obraz VHD , ponieważ Windows 7 może montować go natywnie, nawet przez sieć i wiele innych programów może z niego korzystać (VirtualBox, ...)
- Dysk, który próbuję obrazować, zawiera instalację systemu Windows XP, więc teoretycznie mógłbym użyć
disk2vhd
narzędzie, ale chciałbym znaleźć rozwiązanie, które nie wymaga uruchamiania systemu Windows XP zainstaluj (tzn. zachowaj dysk tylko do odczytu) - Szukałem więc rozwiązania obejmującego coś w rodzaju system na żywo (działa z pamięci USB lub sieci)
Jednak wszystkie rozwiązania, z którymi się zetknąłem, wykorzystują disk2vhd
lub użyj dd
polecenie pod linuxem, które wykonuje pełną kopię dysku (tj. nawet puste bloki) i nie wysyła pliku VHD. Czy pod Linuksem istnieje narzędzie / program, który może bezpośrednio utworzyć plik VHD? Czy możliwe jest przekonwertowanie surowego obrazu dysku utworzonego przy użyciu dd na plik VHD, bez przydzielania miejsca na puste bloki? Jak postępowałbyś?
Jak zawsze, wszelkie rady i komentarze są bardzo cenione !!
Odpowiedzi:
Dla przyszłego odniesienia, oto jak w końcu postępowałem, z kilkoma komentarzami na temat różnych napotkanych problemów lub pułapek:
1. Uruchom komputer z systemem Linux na żywo
Pierwszym krokiem było uruchomienie komputera zawierającego dysk na obraz przy użyciu systemu Linux na żywo.
2. Obraz dysku za pomocą
dd
i przepuść danessh
Następnie skopiowałem całą zawartość dysku na obraz pliku na moim lokalnym serwerze za pomocą
dd
i przesyłanie danych przez potokssh
:Kilka komentarzy tutaj: ta metoda odczyta całą zawartość dysku, więc może to zająć bardzo dużo czasu (zajęło mi to 5 godzin na dysku 80 GB). Wąskim gardłem nie jest sieć, ale szybkość odczytu dysku. Przed uruchomieniem kopii radzę sprawdzić parametry BIOS / dysku / systemu, aby upewnić się, że dysk i płyta główna działają z najwyższą możliwą prędkością (można to sprawdzić za pomocą polecenia
hdparm -i
i przeprowadzając test za pomocąhdparm -Tt /dev/hdX
).UWAGA:
dd
nie generuje postępu operacji, ale możemy zmusić go do tego, wysyłając USR1 sygnał dodd
przetwarzaj PID z innego terminala:3. Odzyskaj niewykorzystane miejsce
W tym momencie maszyna źródłowa nie jest już potrzebna i będziemy pracować wyłącznie na serwerze docelowym (również z systemem Linux). VirtualBox zostanie użyty do konwersji surowego obrazu dysku na format VHD, ale zanim to zrobimy, możemy wyzerować nieużywane bloki, aby VirtualBox nie przydzielił im miejsca w ostatecznym pliku.
W tym celu zamontowałem obrazy jako urządzenie pętli zwrotnej:
UWAGA: Przesunięcie wskazujące początek partycji w obrazie dysku można uzyskać za pomocą
parted
w pliku obrazu:UWAGA2: Domyślny sterownik NTFS jądra Linux zapewnia dostęp tylko do odczytu, dlatego konieczne jest zainstalowanie i użycie przestrzeni użytkownika
ntfs-3g
sterownik lub zapis na dysku spowoduje błąd!4. Utwórz obraz VHD przy użyciu VBoxManage
W tym momencie możemy użyć narzędzi VirtualBox, aby przekonwertować surowy obraz na plik VHD:
źródło
vdfuse
lubqemu-nbd
lub konwertowanie go na pliki .img (więcej informacji: askubuntu.com/questions/19430/… )Próbowałem zrobić dokładnie to samo, co OP (podczas ratowania instalacji systemu Windows) i skończyło się na stworzeniu nowego narzędzia,
ntfsclone2vhd
.Po prostu zrobiłbyś coś takiego:
źródło
make
kopie Linuksa) znalazłem w wielu godzinach wyszukiwania. Bravo za przejęcie inicjatywy Yirkha!Jedną z metod jest użycie kilku przydatnych technologii: VirtualBox i
ntfsprogs
pakiet.Najnowsze wersje VirtualBox pozwalają na tworzenie plików dysku twardego VHD
ntfsprogs
zapewniantfsclone
użyteczność. Jak sama nazwa wskazuje,ntfsclone
klonuje systemy plików NTFS i wierzę, że robi to na poziomie systemu plików, pomijając nieużywane bloki dyskowe.Aby rozpocząć, utwórz nową maszynę wirtualną w VirtualBox i przygotuj dla niej nowy, pusty dysk VHD. Dysk VHD musi być tak duży, jak rozmiar danych używanych na dysku fizycznym, który chcesz sklonować (a właściwie, uczynić go trochę większym, aby pozwolić na jakiś pokój ruchów).
Następnie znajdź Linux Live CD, który zawiera
ntfsprogs
pakiet, jak równieżopenssh-server
. lubię Systemowy dysk ratunkowy do tego, ale prawie każda płyta live CD oparta na Debianie lub Ubuntu również powinna działać.Uruchom VirtualBox VM za pomocą CD Live Linux i uruchom
sshd
w maszynie wirtualnej, dzięki czemu będziesz mógł wykonywać na niej polecenia zdalnie. Podziel pusty dysk VHD odpowiednio, używając dowolnego narzędzia do partycjonowania, które wolisz (lubię zwykłe starefdisk
, ale jestem trochę stara szkoła).Przy innej kopii Linux Live CD uruchom komputer zawierający dysk fizyczny, który chcesz sklonować. Zakładam, że VirtualBox VM i ta maszyna są dostępne dla siebie przez sieć. Na tym komputerze wykonaj następujące polecenie (wszystkie w jednej linii):
gdzie:
/dev/sdXX
to nazwa urządzenia (na komputerze lokalnym) dysku fizycznego, który chcesz sklonować, oraz/dev/sdYY
to nazwa urządzenia (w maszynie wirtualnej) dysku docelowego VHD.Wyjaśnienie: Pierwszy
ntfsclone
polecenie w potoku wyodrębnia obraz źródłowego systemu plików NTFS i wysyła go przez tunel ssh, podczas gdy drugintfsclone
polecenie odbiera obraz i przywraca go na dysk VHD.Po zakończeniu operacji plik VHD powinien zawierać dokładny klon oryginalnego dysku fizycznego dla pliku (z wyjątkiem błędów sprzętowych, takich jak uszkodzone sektory, które mogą spowodować przedwczesne przerwanie procesu).
Ostatnią rzeczą, którą możesz zrobić, jest uruchomienie systemu Windows
chkdsk
na dysku VHD, aby upewnić się, że klonowanie nie wprowadziło żadnych problemów (nie powinno mieć, ale hej, jestem trochę paranoiczny w tych sprawach).źródło
(Wiem, że to stary post, ale może to przynajmniej pomoże innym).
Czy naprawdę musisz być w stanie stworzyć obraz pod Linuksem? Myślę, że próbujesz wykonać kopię zapasową dysków twardych Windows do VHD. Nie sądzę, aby systemy plików Linux mogły być hermetyzowane w kontenerze VHD.
Wolny SysInternals narzędzie o nazwie Disk2vhd utworzy dyski VHD aktualnie działającego systemu Windows XP lub nowszego. Powinno to również działać w przypadku obrazowania dysków zamontowanych na USB.
źródło
Staram się też klonować system Linux na żywo.
Nadal nie ma idealnych rozwiązań. Zaproponuj 2 sposoby, które możesz spróbować:
(1) VMware Converter (bezpłatny)
Musisz zainstalować hiperwizor vsphere (bezpłatny) jako miejsce docelowe.
Zrobiłem to kilka dni temu, nie miałem żadnych sukcesów. Zgaduję, że instaluję vSphere na VirtualBox.
Ref tutaj: http://xrubenx.blogspot.com.au/2010/01/vmware-converter-standalone.html
(2) Użyj tego http://www.r1soft.com/tools/linux-hot-copy/
Spróbuję hotcopy R1Soft w ten weekend.
źródło
Możesz także użyć płyty CD z oknami na żywo. To nie jest oficjalne od Microsoft, ale działa. Możesz umieścić go na dysku CD lub USB.
źródło