Czy jest możliwe (jak) zamontować plik VHD utworzony przez Windows 7 w OS X?
Znalazłem trochę informacji o tym, jak to zrobić na Linuksie. Istnieje bezpiecznik fs „vdfuse”, który wykorzystuje biblioteki virtualbox do montowania systemów plików obsługiwanych przez virtualbox. Nie udało mi się jednak skompilować pakietu na osx, ponieważ brakuje prawie wszystkich nagłówków i wątpię, czy i tak by to zadziałało ...
EDYCJA 2: Dobra, ubrudziłem sobie ręce i ostatecznie skompilowałem vdfuse ( http://forums.virtualbox.org/viewtopic.php?f=26&t=33355&start=0 ) na osx. Jako punkt wyjścia użyłem macfuse ( http://code.google.com/p/macfuse/ ) i spojrzałem na przykładowe systemy plików.
Doprowadziło mnie to do następującego skryptu kompilacji
infile=vdfuse.c
outfile=vdfuse
incdir="your/path/to/vbox/headers"
INSTALL_DIR="/Applications/VirtualBox.app/Contents/MacOS"
CFLAGS="-pipe"
gcc -arch i386 "${infile}" \
"${INSTALL_DIR}"/VBoxDD.dylib \
"${INSTALL_DIR}"/VBoxDDU.dylib \
"${INSTALL_DIR}"/VBoxVMM.dylib \
"${INSTALL_DIR}"/VBoxRT.dylib \
"${INSTALL_DIR}"/VBoxDD2.dylib \
"${INSTALL_DIR}"/VBoxREM.dylib \
-o "${outfile}" \
-I"${incdir}" -I"/usr/local/include/fuse" \
-Wl,-rpath,"${INSTALL_DIR}" \
-lfuse_ino64 \
-Wall ${CFLAGS}
W rzeczywistości nie musisz kompilować VirtualBox na swoim komputerze, po prostu zainstaluj najnowszą wersję VirtualBox.
Więc teraz mogę częściowo zamontować VHD. Oddzielne partycje pojawiają się jako pliki bloków Partition1, Partition2, ... w moim punkcie montowania. Jednak Mac OS X nie zawiera systemu plików pętli zwrotnej, a fs pętli zwrotnej macfuse nie działa z plikami blokowymi, więc potrzebujemy pętli zwrotnej fs, aby zamontować pliki bloków jako rzeczywiste partycje.
Odpowiedzi:
W końcu udało mi się. Podsumowując, oto kroki do wykonania
Zamontuj dysk VHD
sudo ./vdfuse -tVHD -w -f / Path / To / VHD / Path / To / Mountpoint
Dołącz pliki blokowe partycji wirtualnej
hdiutil attach -imagekey diskimage-class = CRawDiskImage -nomount / Path / To / Mountpoint / PartitionN
Zamontuj partycję wirtualną
mount -t YourFS / dev / diskK / Path / To / ParitionMountPoint
źródło
To działało dla mnie w Mountain Lion. Nie wymaga instalacji ani kompilacji:
źródło
hdiutil attach -imagekey diskimage-class=CRawDiskImage /Path/to/encrypted.vhd -nomount
a następnie użyć m3datarecovery.com/mac-bitlocker, aby go odszyfrować. DAEMON Tools dla komputerów Mac: oprogramowanie do montażu i obrazowania również działało, ale nie jest darmowe.FUSE działa na MacOSX-ie, jednak potrzebujesz nagłówków.
źródło
Jeśli nie znajdziesz innego rozwiązania, możesz użyć VirtualBox (lub innego podobnego narzędzia obsługującego pliki VHD), aby uruchomić system wirtualny, który korzysta z tego obrazu dysku wirtualnego, a następnie uzyskać dostęp lub skopiować potrzebne pliki za pomocą Samby lub sftp itp. .
źródło
Po prostu zmień nazwę pliku VHD na IMG .. kliknij dwukrotnie, aby go zamontować. To wszystko.
Pamiętaj, że Mac OS X zapewnia dostęp tylko do odczytu dla woluminu NTFS, więc jeśli twój dysk VHD ma wolumin NTFS, masz dostęp tylko do odczytu.
źródło
Jest teraz 2020, a te 10-letnie instrukcje prawie się sprawdziły. Oto, co zrobiłem, aby zamontować stary obraz zapasowy z systemu Windows 7 na moim komputerze Mac Mojave, w oparciu o zaakceptowaną odpowiedź Jana Bernlöhra, a także skrypt w pytaniu.
vdfuse.c
) ze strony https://github.com/Thorsten-Sick/vdfuse (obecnie na v83 - oryginalny link jest przypisany do v80).svn co -r '{20120801}' http://www.virtualbox.org/svn/vbox/trunk/include/
Zamontuj dysk VHD
sudo ./vdfuse -tVHD -w -f/Path/To/VHD /Path/To/Mountpoint
Dołącz pliki blokowe partycji wirtualnej
hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount /Path/To/Mountpoint/PartitionN
Zamontuj partycję wirtualną
mount -t YourFS /dev/diskK /Path/To/ParitionMountPoint
Cudem działa to na urok!
źródło