Кто-нибудь знает простой способ программно смонтировать файл как "диск" (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-битных здесь:
Я не могу ручаться за это, поскольку я никогда не использовал это и не знаком с автором.
В качествеальтернативы:
Если у вас есть 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.