VHD kezelés

Fórumok

Sziasztok!

Egy olyan C++ könyvtárra lenne szükségem, amely segtségével .VHD lemezeket tudnék kilistázni esetleg kimásolni belőle 1-2 fájlt, de nem találok.
Lehetséges-e ez egyáltatlán? (XP -> Win 7-ig kompatibilis kell legyen)

Köszönöm!

Hozzászólások

Tisztázzunk valamit: a VHD egy lemez konténer formátum. Vagyis vannak benne különböző partíciók, különféle fájlrendszerekkel. Tehát neked nem csak a VHD konténer formátumát kell kezelned, hanem az egyes fájlrendszereket is.

Csak Windows 7-re tartalmaz a Windows nativ megoldast erre: http://msdn.microsoft.com/en-us/magazine/dd569754.aspx
Olyan C++ lib, ami nativan kezeli a VHD-kat es a benne levo filerendszereket, szerintem nincs es ha van, akkor is fizetos.
Esetleg a VirtualBox forraskodjaban a VHD supportot erdemes megnezni, de a filerendszereket attol meg neked kell kezelni, ami a lemezen van.

Ha nem C++-rol van szo, van egy C#-ban irt library, .NET DiscUtils, erdemes lehet ranezned, nem tudom, hogy a managed kod es a nativ kod hogyan keverheto egymassal. Ez a lib kezeli a FAT/FAT32/NTF filerendszereket a VHD fizikai strukturajan felul.

Köszönöm a választ!
A windows 7-es megoldást én is megtaláltam tegnap, de mivel több régebbi op rendszereken is kell fusson, ez elvetődik.
Találtam egy SDK-t ami kezeli, viszont sehol egy dokumentáció nincs róla. (http://www.winimage.com/wima_sdk.htm)

Megnézem a VirtualBox SDK-ját, hogy találok-e benne valamit. Ha nem akkor muszáj lesz megegyeznem a személlyel, akinek kell, hogy nem felel meg neki C#-ban?

Köszönom a válaszokat!

Arra figyelj, hogy nem minden VHD-t fogsz tudni kezelni ezzel az SDK-val arra, hogy file-okat olvass be és listázz ki. Ugyanis VHD-ban lemezek vannak, azokon meg filerendszerek. És te csak filerendszerekből tudsz fileokat olvasni, nem lemezképekből. Az általam említett lib csak FAT/FAT32/NTFS filerendszereket támogat, azaz például egy ext4 partíciókat tartalmazó lemez VHD-t nem fog tudni kezelni. Elég ez neked? Illetve pont emiatt gondolj a hibakezelésre, simán előfordulhat, hogy olyan filerendszereket találsz, amiket nem tudsz értelmezni.