Меню

Как создать виртуальный floppy привод

Вторая жизнь Virtual Floppy Drive

Когда-то давно у меня была коллекция старинных версий Windows в виртуалках, и для переноса файлов между хост-машиной и этими виртуалками приходилось использовать дискету, потому что поддержка shared folders появилась только в Windows for Workgroups.

Перенос файлов через дискету был медленным и шумным, и моему восторгу не было предела, когда я нашёл драйвер Virtual Floppy Drive, позволяющий создать «виртуальный флопповод» и подключить его в VM как обычный. К сожалению, интерес автора к своему проекту угас в 2005, а в 2010 его сайт и емейл перестали существовать. С тех пор в мире Windows успело произойти много перемен:

  • Повсеместно стала использоваться 64-битная ОС, в которую невозможно загрузить 32-битный драйвер, скомпилированный в 2005;
  • Windows начиная с Vista SP1 стала требовать для загрузки драйверов либо цифровую подпись, либо муторные манипуляции, требующие перезагрузку системы;
  • Проект, написанный в Visual C++ 6, не собирается в современных версиях Visual Studio после автоматической конвертации.

Уже в 2011 в рассылке разработчиков ReactOS обсуждалось предоставление поддержки заброшенному проекту; но без согласия самого автора это произойти не могло, а автор к тому времени уже несколько лет как не подавал признаков жизни. Тогда же некий Andriy G. Tereshchenko создал неофициальное зеркало vfd.sourceforge.net с копией исчезнувшего сайта автора. Там на SourceForge до сих пор лежит версия 2005 г., и до сих пор постятся жалобы на то, что в Windows 7+ эта версия не работает.

Я захотел продолжить разработку VFD на github.com/tyomitch/vfd; даже если вам равнодушен сам VFD, то мой рассказ может вам помочь в «оживлении» других заброшенных проектов под Windows.

Компиляция

Visual Studio 2019 соглашается открыть vfd.dsw и сконвертировать составляющие его проекты в современный формат; но конвертация осуществляется не полностью, так что сконвертированные проекты отказываются компилироваться.

Я обнаружил следующие проблемы:

  • Некорректно сконвертировался вызов Message Compiler ( mc $(InputName) ) — вместо mc %(Filename) в VS2019 должно быть mc %(FullPath) . Имена производимых файлов для MC ( $(InputName).h и $(InputName).rc ) не сконвертировались вообще; в VS2019 они должны иметь вид %(Filename).h и %(Filename).rc .
  • Имена производимых файлов для Resource Compiler ( $(IntDir)\$(InputName).res ) также не сконвертировались; в VS2019 они должны иметь вид $(IntDir)\%(Filename).res .
  • нужно изменить со значения по умолчанию ( $(ProjectName) ) на vfd для проекта vfdlib и vfdwin для проекта vfdwin , иначе они пытаются собрать файлы lib.dll и gui.exe .
  • Чтобы скомпилировать VFD без zlib, нужно не только добавить к определениям VFD_NO_ZLIB , но и убрать #include «zlib.h» под #ifndef VFD_NO_ZLIB — автор об этом почему-то забыл; и нужно убрать zlibstat.lib из .

После этих исправлений успешно собираются 32-битные версии vfd.dll и vfdwin.exe ; но чтобы собрать 64-битные версии, нужно потрудиться ещё.

Адаптация для x64

; для линкера исправить на $(TargetPath) ; и удалить бесполезные , вручную добавлявшую зависимость между проектами, и

, вручную копировавшие скомпилированные файлы в целевой каталог.

В-третьих, vfdwin активно сопротивляется попытке запуска на 64-битной Windows, наравне с попыткой запуска на Windows 95/98/Me. Чтобы это пресечь, надо удалить функцию VfdIsValidPlatform() и все её упоминания.

Источник

Виртуальный флоппи дисковод

Содержание:

Флоппи-диск (англ. floppy disk), в просторечии называемый «дискета» — гибкий магнитный диск в пластиковом футляре. По сути — портативный носитель информации с возможностью многократной перезаписи. Не очень надёжный, но был весьма распространён с 1970-х и до конца 1990-х годов. В данный момент практически вышел из обращения, но, порой встречаются программы, требующие наличие дисковода для таких дискет.

Читайте также:  Машины с полным приводом названия

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

Virtual Floppy Drive 2.1

  • добавлен драйвер для 64-битных систем и инструкция по его установке.

Бесплатный эмулятор флоппи-дисковода для современных компьютеров, в которых отсутствуют разъёмы для подключения этого устройства.

Предыстория

Начну с реального случая. В данное время я по совместительству работаю в одной организации кем-то вроде системного администратора.

Недавно в бухгалтерию купили два новых компьютера, так как старые уже не справлялись с требованиями все новых и новых программ для отчетов во всяческие министерства. Система и все нужные программы установились без проблем, поэтому я подключил оба «компа» к Интернету и со словами: «Пользуйтесь на здоровье!», — с чистой совестью ушел домой :). Но, не тут-то было :))).

Буквально через пару часов мне перезвонили и сказали, что, мол, так и так, а не получается у них передать какую-то платежку. Когда пришел, выяснилось, что в новых компьютерах НЕТ ФЛОППИ ДИСКОВОДОВ. а без них хитрая министерская программа ну никак не желает выдавать файл платежного документа :).

Естественно, я сразу же попробовал заполучить нужный файлик в обход требований, но кроме как на дискету утилита напрочь отказывалась его выдавать. Не долго думая, я решил переставить дисководы со старых машин на новые, но когда я открыл корпус одного из новых компьютеров, оказалось, что подключать «флопики» некуда, так как на материнской плате отсутствовал разъем для FDD :(.

Я было, уже вообще расстроился, но в памяти вовремя всплыл съемный флоппи-дисковод, который я видел у одного знакомого. Именно сей девайс и был выпрошен на время сдачи отчета.

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

Короче, придя домой, я решил поискать в Интернете альтернативные варианты решения возникшей проблемы и после долгих безрезультатных поисков, наконец-то мне дошло, что может существовать программный эмулятор «флопика»!

Результатом поиска оказалась маленькая утилитка Virtual Floppy Drive. При весе менее чем в 200 килобайт, программа может создавать до двух полноценных виртуальных приводов для гибких магнитных дисков разной емкости и форм-факторов.

Основные возможности Virtual Floppy Drive:

  • полная интеграция виртуального дисковода с Windows (вплоть до Vista);
  • возможность создавать виртуальные «дискеты» с данными;
  • возможность быстрой смены виртуальных «дискет»;
  • поддержка форм-факторов 3,5 и 5,25 дюймов;
  • поддержка емкости виртуальных «дискет» от 160 КБ до 2,88 МБ;
  • возможность форматирования виртуальных «дискет»;
  • наличие консольного варианта утилиты.

Запуск программы

Установки Virtual Floppy Drive не требует, поэтому скачиваем архив, распаковываем его в любую удобную папку и можем начинать пользоваться программой. В распакованной папке Вы обнаружите два исполняемых файла: vfd.exe и vfdwin.exe.

Первый запускает консольный вариант эмулятора, поэтому его рассматривать не будем (если нужно, то можете прочитать об управлении этой версией в файле vfdhelp.txt), а вот второй — как раз то, что нам нужно. Запустив vfdwin.exe Вы увидите окно программы Virtual Floppy Drive:

Интерфейс и запуск Virtual Floppy Drive:

В этом окне есть шесть вкладок, но по умолчанию открывается вкладка «Drivers». Именно с нее стоит начать нашу работу. Здесь нам нужно установить драйвер виртуального привода и запустить его. Сам драйвер обычно определяется автоматически в окошке «Driver File». Если же этого не произошло (окошко остается пустым), нажмите кнопку «Browse», найдите в папке с программой файл vfd.sys и укажите его в качестве драйвера.

Читайте также:  Как найти dvd привод windows 10

Следующим шагом будет выбор типа запуска программы. Доступен ручной («Manual») и автоматический («Auto») запуск приложения вместе с системой. Если Вам постоянно требуется работать с «флопиком», то рекомендую выбирать режим «Auto». Подтверждаем свой выбор нажатием кнопки «Apply».

Когда все настроено, нажмем кнопку «Install», чтобы установить службу Virtual Floppy Drive, а затем «Start», чтобы запустить эмулятор (если Вы нажмете сразу «Start», то служба все равно установится ;)). При желании Вы всегда сможете отключить виртуальный привод, нажав «Stop» и удалить службу программы кнопкой «Uninstall».

Служба запущена, эмулятор работает, а никаких изменений вроде бы не происходит — почему? Потому что теперь настала очередь настроить сам виртуальный привод. Для этого перейдем на вкладку «Drive0» или «Drive1» и произведем кое-какие манипуляции. А именно кликнем кнопку «Change» в самом верху и в появившемся окошке укажем букву (желательно A или B) для нашего виртуального привода.

Теперь после подтверждения выбора в папке Мой компьютер Вы обнаружите новый флоппи дисковод с только что заданной буквой:

Если дважды кликнуть по новому виртуальному дисководу, то он, как и реальный, запросит у Вас вставить дискету, но где же ее взять… Пришел черед следующего этапа — создания образа дискеты.

Создание виртуальной дискеты

Кликнем кнопку «Open» в окне управления дисководом и в открывшемся окошке зададим тип и емкость нашей виртуальной «дискеты». Поле «Image File» оставим пока пустым, а в разделе «Disk Type» обязательно должно значиться «RAM» (то есть первую «дискету» мы создаем в виртуальной памяти своего ПК):

Жмем кнопку «Create» и смотрим на изменения в окне управления дисководом:

У нас активировалось три новые кнопки: «Save», которая позволяет сохранить виртуальный образ «дискеты» в файл, «Close» для «извлечения» образа и «Format» для форматирования виртуальной «дискеты» в системе FAT. Кстати отформатировать образ гибкого диска можно и при помощи стандартных средств Windows: через контекстное меню флоппи дисковода или через соответствующую команду консоли.

Теперь, если Вы попытаетесь открыть созданный дисковод, перед Вами откроется пустое окошко, в которое можно переместить файлы объемом до 1,4 мегабайта.

Настройки виртуального флоппи-дисковода

На время оставим вкладку управления дисководом и посмотрим на те, которые пока остались без внимания. Первая из них — «Association». С ее помощью можно задать ассоциацию Virtual Floppy Drive с файлами определенного типа в качестве виртуальных «дискет» (хотя и не обязательно). Здесь можно выбрать из уже существующих типов или же даже создать свой собственный, нажав кнопку «New Extension»:

Еще одной опцией является вкладка «Shell». С ее помощью мы можем добавить новые записи в контекстное меню Windows, а также создать ярлыки для дисководов на рабочем столе. Первая опция нужна только для старых версий Windows, так как, начиная с XP, записи для отправки файлов на новый дисковод и другие создаются автоматически, поэтому здесь тоже можно ничего не отмечать (если только Вам не нужны ярлыки):

Работа с виртуальным дисководом

Теперь на практике поработаем с виртуальным приводом гибких дисков. Можно открыть образ дискеты и попробовать перетащить в открытое окно любой небольшой файл. Получилось? Поздравляю! Значит, поддержка функции Drag&Drop у Вас работает. Если же файл не скопировался, вернитесь на вкладку «Shell» и отметьте первый пункт.

Читайте также:  Какие оптические привода надежные

Следующий тест позволит нам проверить, можно ли обращаться к дисководу через контекстное меню. Выберем небольшой файл и, вызвав в контекстном меню пункт «Отправить», активируем пункт с названием нашего «флопика». Если файл не скопировался или соответствующая запись в меню отсутствует, Вам опят же надо активировать вышеупомянутый пункт в настройках:

Если все прошло успешно, то, открыв «дискету» Вы обнаружите на ней файл, который копировали:

Теперь Вы умеете все, кроме сохранения и смены виртуальных «дискет». Но перед тем как сохранять, нам нужен пустой файл, который будет использован в качестве образа. Создать его не составляет особой сложности. Зайдем в папку, где будут храниться наши «дискеты» и создадим любой файл (контекстное меню — пункт «Создать»).

Теперь просто изменим расширение файла на одно из перечисленных во вкладке «Association» (если расширение у Вас не отображается, зайдите в меню «Сервис» любой папки, выберите пункт «Свойства папки», в открывшемся окне перейдем на вкладку «Вид» и деактивируем пункт «Скрывать расширения для зарегистрированных типов файлов»). Все — будущий образ готов:

Теперь возвращаемся на вкладку управления дисководом (первая) и жмем кнопку «Save…». В открывшемся окошке указываем только что созданный файл образа, отмечаем пункт «Overwrite an existing file» и нажимаем «Save»:

Наша виртуальная дискета теперь сохранена, файлы с нее никуда не денутся, и их в любой момент можно будет считать.

Последнее, что нужно для работы — это уметь менять «дискеты». Как я уже говорил выше, чтобы «вынуть» ее достаточно нажать кнопку «Close», после чего опять загорится лишь кнопка «Open». Нажимаем ее и в уже знакомом нам окошке выбираем теперь при помощи кнопки «Browse…» сохраненный образ нужной «дискеты». Далее указываем «Тип диска» «File» и жмем «Open».

Поздравляю! «Дискета» загружена успешно!

Выводы

Конечно, Virtual Floppy Drive эмулирует флоппи привод только на программном уровне, поэтому работать с ним вне среды Windows (например, загружаться с него в BIOS) не получится :(.

Однако, если Вы столкнетесь с проблемой схожей с моей, когда «флопик» требуется для успешной работы конкретных приложений, то при помощи этой небольшой утилитки Вы сэкономите порядка 200 гривень (около 800 рублей) на покупку внешнего USB-FDD. Удачи Вам во всех начинаниях и пусть Ваши компьютеры приносят Вам поменьше хлопот ;).

P.S. Разрешается свободно копировать и цитировать данную статью при условии указания открытой активной ссылки на источник и сохранения авторства Руслана Тертышного.

P.P.S. В Windows можно эмулировать не только флоппи-дисководы, но даже создавать полноценные копии реальных CD/DVD-приводов. Если Вы нуждаетесь в таком, советую обратить внимание на одну из самых популярных утилит в этом роде:
Виртуальный диск https://www.bestfree.ru/soft/sys/virtualcd.php

P.P.P.S. Если у Вас уже стоит физический флоппи-дисковод и Вы решили установить эту программу, будьте готовы к тому, что физический дисковод у Вас пропадёт из списка логических дисков. Такое бывает, если виртуальному дисководу назначить букву уже имеющегося дисковода. То есть, происходит замена реального диска на виртуальный, а реальный пропадает.

Исправить ситуацию помогут вот такие действия:
1. Из диспетчера оборудования удалить:
а) Дисковод гибких дисков,
б) Контроллер гибких дисков.
2. Из реестра удалить ветку:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\ACPI\PNP0700\4&1e2bbe8d&0
3. Перезагрузиться.

Источник

Adblock
detector