Используем ImDisk для эмуляции флешек и других типов накопителей

  • Автор:

ImDisk-virtual-flash-drive-000.pngСовременный мир все больше и больше переходит к использованию онлайн-хранилищ и привычные типы физических накопителей потихоньку становятся историей. При этом необходимость их использования все еще остается, а некоторый специализированный софт может прямо требовать наличие физического накопителя. Но это не всегда возможно, например, в виртуальных средах или на удаленных системах. В этом случае нам на помощь придут эмуляторы. В данной статье мы рассмотрим работу с ImDisk - простым и мощным решением для работы с виртуальными накопителями.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

ImDisk - это драйвер виртуального диска для Windows позволяющий подключать файлы образов как флешки, флоппи-диски, оптические накопители или обычные диски. Поддерживаются 32-х и 64-х битные версии начиная с Windows NT/2000 и Windows Server 2003, при этом программа без проблем работает в последних версиях Windows 10/11 и Windows Server.

Получить ее можно на официальном сайте разработчика: http://www.ltr-data.se/opencode.html/#ImDisk, мы настоятельно рекомендуем скачивать программу именно оттуда.

Установка не должна вызвать затруднений, для скачивания доступно два варианта: инсталлятор и архив с пакетным файлом для установки. При этом будет установлена консольная утилита для управления драйвером imdisk.exe и графическая оснастка для панели управления.

Работа в графическом режиме

Для работы в графическом режиме перейдите в Панель управления и откройте оснастку ImDisk Virtual Disk Driver. В открывшемся окне будут представлены все смонтированные виртуальные приводы, но пока здесь ничего нет. После чего нажмем Mount New и заполним параметры нового диска как показано на рисунке ниже.

ImDisk-virtual-flash-drive-001.pngПрежде всего укажем файл образа, если он не существует то программа предложит его создать, затем букву диска и размер образа (только при создании). Тип устройства - авто, если не нужно явно указать тип эмулируемого оборудования.

В разделе Image file access выбираем Virtual disk drive accesses image file directly, что обеспечит прямую работу с файлами образа. Два других режима копируют его содержимое в память и все несохраненные изменения при размонтировании образа будут потеряны, а если с их указанием создать новый образ, то он будет присутствовать только в памяти.

Для создания виртуальной флешки установите дополнительно флаг Removable media, также можно смонтировать образ только на чтение.

В нашем случае мы создали виртуальный флеш-накопитель на 128 МБ, что вполне достаточно для работы с той же электронной подписью или ключами защиты.

После создания накопитель автоматически будет смонтирован с указанной буквой и нам останется его только отформатировать.

ImDisk-virtual-flash-drive-003.pngДальнейшая работа с диском ничем не отличается от работы с обычной флешкой или иным типом эмулируемого носителя.

Управление образами в оснастке также понятно: для размонтирования используйте Remove, Extend size позволяет увеличить размер, а Save Image сохранит изменения образа если вы смонтировали его в память.

ImDisk-virtual-flash-drive-004.pngВ целом все просто и понятно, но графическая оснастка не предоставляет всех возможностей драйвера, которые доступны в режиме командной строки.

Работа в режиме командной строки

Чтобы получить справку по всем доступным опциям и ключам просто наберите в командной строке:

imdisk

ImDisk-virtual-flash-drive-005.png

Для того, чтобы создать образ флешки аналогичной той, которую мы создавали в графическом режиме выполните:

imdisk -a -f C:\img\image0-128.img -s 128K -m F: -o rem

Коротко разберем ключи:

  • -a - выполнить монтирование
  • -f - путь к файлу образа
  • -s - создать файл указанного размера
  • -m - точка монтирования (буква диска)
  • -o - дополнительные опции монтирования

Дополнительные опции монтирования довольно разнообразны и позволяют гибко управлять создаваемыми образами, в нашем случае мы указали тип монтируемого устройства - rem - съемный диск.

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

imdisk -a -f C:\img\image3-2G.img -s 2G -m F: -o rem,sparse

После чего можем убедиться что созданный образ размером 2 ГБ на самом деле занимает единицы килобайт. Но имейте ввиду, данная возможность доступна только при использовании файловой системы NTFS на разделе для хранения образов.

ImDisk-virtual-flash-drive-006.pngВ некоторых случаях нам может потребоваться эмулировать более специфический носитель, полный их перечень можно получить в списке параметров монтирования, а мы для примера создадим флоппи-диск. У него есть свои особенности: размер образа должен совпадать с размером реальных дискет, т.е. иметь значения 160K, 180K, 320K, 360K, 640K, 720K, 820K, 1200K,1440K, 1680K, 1722K, 2880K, 123264K или 234752K.

imdisk -a -f C:\img\image2-fdd.img -s 1440K -m A: -o fd

У другого типа носителя - оптического диска тоже есть свои особенности: для его монтирования обязательно нужен готовый образ, создать чистый диск нужного объема не получится. Также образа с расширениями .iso, .nrg и .bin по умолчанию монтируются как оптические диски.

В дальнейшем созданные образа можно просто монтировать командой:

imdisk -a -f C:\img\image0-128.img -m F: -o rem

Опции монтирования в некоторых случаях можно не указывать, в таком случае образ будет смонтирован с типом auto. Например:

imdisk -a -f C:\img\image.iso -m E:

В этом случае мы точно знаем, что файл с расширением .iso будет смонтирован как оптический и дополнительных опций не указываем.

Для размонтирования образа используйте:

imdisk -d -m F:

При этом система проверит использование диска и если он занят каким-либо процессом, то в операции будет отказано. Чтобы принудительно размонтировать диск выполните:

imdisk -D -m F:

При необходимости размер виртуального диска можно увеличить, но учтите, что увеличится только само доступное пространство диска, файловая система останется прежнего размера. Без повторного форматирования расширить на увеличившееся пространство можно только NTFS, для иных файловых систем диск нужно будет заново отформатировать или прибегнуть к стороннему софту.

Расширить можно только смонтированный диск, объем на который вы хотите увеличить диск указывайте в ключе -s:

imdisk -e -s 256M -m F:

В результате выполнения данной команды к существующим 128 МБ накопителя прибавится еще 256 МБ и его итоговый размер станет 384 МБ.

Монтирование виртуальных накопителей на постоянной основе

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

Для того, чтобы образ автоматически монтировался достаточно один раз смонтировать его с ключом -P:

imdisk -a -f C:\img\image0-128.img -m F: -o rem -P

В этом случае драйвер добавит нужные записи в реестр и будет монтировать образ автоматически при каждой загрузке. Чтобы отключить автомонтирование достаточно один раз размонтировать образ с тем же самым ключом:

imdisk -D -m F: -P

Просто, быстро и надежно. А для того, чтобы не изобретать велосипеды и использовать указанную штатную возможность достаточно было просто прочитать встроенную справку. Кстати, рекомендуем это обязательно сделать, особенно если вы хотите изучить программу более подробно, потому как ее возможности не исчерпываются описанными.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments