Кто-нибудь знает простой способ программно смонтировать файл как «диск» (FAT32) в Windows 7? - PullRequest
2 голосов
/ 17 марта 2011

У меня есть какой-то автоматический тест (с использованием CUnit), который требует, чтобы файл «disk-image» (необработанная копия диска) был «смонтирован» в windows и исследован.Ранее я использовал инструмент / библиотеку под названием "FileDisk-17" , но, похоже, он не работает на моей Windows 7 (64-битной версии).

Обновление Я должен отметить, что изменение формата изображения (скажем, VHD) не по выбору.

Есть какие-либо предложения относительно других (возможно, лучше поддерживаемых) инструментов или библиотек для наложения файла?Проект закодирован в ANSI C и скомпилирован с использованием MinGW.

С уважением!

Søren

Ответы [ 2 ]

4 голосов
/ 17 марта 2011

Редактировать: Поиск Bing для +filedisk 64 вызывает 64-битную сборку FileDisk, утилиту, на которую вы ссылаетесь:

http://www.winimage.com/misc/filedisk64.htm

И FileDisk-15подписано на 64 бита здесь:

http://www.acc.umu.se/~bosse/

Я не могу ручаться за это, поскольку я никогда не использовал его и не знаком с автором.

В качестве альтернативы:

Если у вас есть VHD, вы можете легко установить его в Windows:

http://technet.microsoft.com/en-us/library/cc708295(WS.10).aspx

См. Также:

http://www.petri.co.il/mounting-vhd-files-with-vhdmount.htm

Поскольку у вас есть необработанный DD-образ, а не VHD, вам необходимо сначала преобразовать его:

http://www.bebits.com/app/4554

Или qemu-img.exe также можетсделайте это:

qemu-img.exe convert -f raw rawdisk.img -O vpc rawdisk.vhd

В качестве альтернативы вы можете создать пустой виртуальный жесткий диск и использовать DD для копирования необработанного образа на виртуальный жесткий диск, открыв виртуальный жесткий диск как необработанное устройство.

1 голос
/ 25 февраля 2013

Я недавно столкнулся с этой проблемой и обнаружил, что ImDisk является чрезвычайно хорошим решением:

  • Бесплатно, с доступным исходным кодом и очень гибкой лицензией с открытым исходным кодом
  • Тривиальная настройка (я видел filedisk64 (в принятом ответе), описанный как имеющий «техническую» настройку)
  • Простой графический интерфейс и доступ из командной строки
  • Работал в Windows 7 64-bit
  • Кажется, что успешно монтирует любую файловую систему, распознаваемую Windows (в моем случае, FAT16)
  • Работает с файлами, содержащими
    • Необработанные разделы
    • Целые необработанные диски(т. е. включая MBR и один или несколько разделов; какой раздел монтировать можно выбрать)
    • VHD-файлы (которые, как оказалось, являются просто необработанными разделами или дисками с добавленным 512-байтовым нижним колонтитулом!)
  • Также можно создавать ОЗУ - либо изначально пустые, либо на основе существующего образа диска!(Очень аккуратно, я должен сказать!)

Я столкнулся с незначительными проблемами при попытке размонтировать диски.Мне не удалось размонтировать диск из контекстного меню, вызываемого по щелчку правой кнопкой мыши, так как диск, как оказалось, «используется» процессом explorer.exe.Закрытие окна проводника и использование imdisk -d -m X: также не сработало;однако imdisk -D -m X: (-D «вынуждает» размонтировать, что бы это ни значило) сделал.Это работало, даже если диск был виден в открытом окне проводника, не создавая никаких проблем.Однако даже после того, как диск оказался полностью отключенным, imdisk -l для перечисления всех доступных устройств все равно сообщит, что существует \Device\ImDisk0, и если вы перемонтируете диск позже, то и \Device\ImDisk1 появятся на выходе imdisk -l (и так далее с большим количеством циклов размонтирования / перемонтирования).Это не создавало проблем с фактическим использованием подключенного диска, когда я пробовал несколько циклов размонтирования / перемонтирования, хотя теоретически это могло бы произойти, если вы выполняете это много раз между перезагрузками.

ImDisk был неоценим для передачи содержимогодиск 1,5 Гб с одним разделом FAT16 DOS с древней машины 486.

...