Я хочу извлечь файл из файла VHDX. Есть способ сделать это. -Монтировать диск и прочитать файл из смонтированного места. Но я хочу написать для этого код CPP / C #. Я могу получить подробные сведения о файле vhdx с помощью API, предоставляемого MS (visrtdisk.dll), который содержит размер файлов, GUID и т. Д., Но я не получаю API, который может дать мне структуру диска (MBE / Partitions / FileSystem / и т. Д.) Из данный VHDX файл.
Пожалуйста, смотрите эту библиотеку C # http://discutils.codeplex.com/, это очень обширная библиотека, которая поддерживает множество файловых систем (включая VHD, VHDx, ISO, EXT, HFS, HFSPlus и т. д.)
Образец взят с домашней страницы и изменен для vhdx вместо vhd.
long diskSize = 30 * 1024 * 1024; //30MB
using (Stream vhdStream = File.Create(@"C:\TEMP\mydisk.vhdx"))
{
Disk disk = Disk.InitializeDynamic(vhdStream, diskSize);
BiosPartitionTable.Initialize(disk, WellKnownPartitionType.WindowsFat);
using (FatFileSystem fs = FatFileSystem.FormatPartition(disk, 0, null))
{
fs.CreateDirectory(@"TestDir\CHILD");
// do other things with the file system...
}
}
Других решений пока нет …