Кто-нибудь знает простой способ программно смонтировать файл как "диск" (FAT32) в Windows 7?

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

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

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

С наилучшими пожеланиями!

Серен

2 ответа

Решение

Изменить: Поиск 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, а не виртуальный жесткий диск, вам необходимо сначала преобразовать его:

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

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

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

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

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

  • Бесплатная, с доступным исходным кодом и очень гибкой лицензией с открытым исходным кодом
  • Тривиальная настройка (я видел filedisk64 (в принятом ответе), описанный как имеющий "техническую" настройку)
  • Простой графический интерфейс и доступ из командной строки
  • Работал на Windows 7 64-битной
  • Кажется, с радостью смонтировать любую файловую систему, распознаваемую 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.

Другие вопросы по тегам