Форматирование файла в Windows

Следуя моему вопросу о создании файлов.
После быстрого создания большого файла теперь мне нужно создать файловую систему для этого файла. Как я могу создать что-то вроде Loop device в Linux. После этого, я думаю, форматирование будет очень простым. Приветствуется любой альтернативный метод (вместо монтирования) форматирования файла в разные FAT (12/32) и ext3 :)

Я бы предпочел сделать это на C/C++, но в худшем случае я могу использовать внешние команды, т.е. запустить готовый исполняемый файл из моего приложения.

Редактировать:
Похоже, что Windows изначально не разрешает это, поэтому будет лучше найти какое-нибудь приложение, которое делает точно это, то есть монтирует файл как файловую систему. В противном случае у меня проблема с лицензиями с открытым исходным кодом.


person Ilya    schedule 18.01.2009    source источник
comment
Вы хотите создать образ раздела или файловой системы? Вопрос не слишком ясен (или я неправильно его читаю).   -  person strager    schedule 19.01.2009
comment
Я хочу смонтировать файл как диск, после этого я могу делать все, что захочу, то есть раздел, файловая система, оба ...   -  person Ilya    schedule 19.01.2009
comment
Вы искали какое-нибудь бесплатное программное обеспечение, которое может создавать и монтировать ISO-образы? Я знаю, что такие инструменты существуют, но я не помню, позволяли ли они монтировать их как доступные для записи диски...   -  person reuben    schedule 30.01.2009


Ответы (3)


Взгляните на исходный код TrueCrypt. Это программное обеспечение для шифрования дисков с открытым исходным кодом для Windows Vista/XP, Mac OS X и Linux. Он может создать виртуальный зашифрованный диск внутри файла и смонтировать его как реальный диск.

Поэтому его исходный код должен содержать часть «создать файловую систему в этом файле».

person jfs    schedule 18.01.2009
comment
Например, попробуйте ack FormatFat в корне исходного дерева. - person jfs; 19.01.2009
comment
Спасибо, выглядит многообещающе, я проверю. - person Ilya; 19.01.2009

Eldos создает компонент, Solid File System, который может делать то, что вы ищете

person Rad    schedule 19.01.2009
comment
нет, мне не нужна новая файловая система, мне нужна возможность создать ее, используя файл вместо диска. В Linux очень просто использовать цикл mount -o... - person Ilya; 19.01.2009

На самом деле это не ответ, но он может быть достаточно связан, чтобы вам было интересно:

Windows 7 должна иметь возможность загрузка с VHD (виртуального жесткого диска), так что если вы ищете Windows-подобный подход к этой проблеме, это может привести вас в правильном направлении.

person Joachim Sauer    schedule 19.01.2009