Как получить файлы (или файловую систему) из файла VHDX с помощью CPP/C#
Я хочу извлечь файл из файла VHDX. Есть способ сделать это. -Монтировать диск и прочитать файл из смонтированного места. Но я хочу написать для этого код CPP/C#. Я могу получить подробную информацию о файле vhdx с помощью API, предоставляемого MS (visrtdisk.dll), который состоит из размера файлов, GUID и т. Д., Но я не получаю API, который может дать мне структуру диска (MBE/Partitions/FileSystem/ и т. Д.) Из данный VHDX файл.
1 ответ
Пожалуйста, смотрите эту библиотеку 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...
}
}