Делаем генератор из CD привода. Как сделать CD-ROM на флешке Что можно сделать из моторчика dvd привода

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

Для регулировки скорости вращения, питание на электродвигатель подаётся через реостат, для того чтобы замедлить скорость вращения. На вращающейся части устанавливается аккуратная подставка круглой формы, и устройство готово.

В качестве корпуса для приспособления может послужить китайская указка, а из DVD или CD-RW-привода (более слабый вариант – CD-R-привод) извлекается лазерный диод. Визуально он напоминает схематическое изображение шляпы. Понадобятся верхний и средний контакты диода, в качестве плюса и минуса соответственно. Питание подаётся с двух пальчиковых батарей. Внимание! Категорически запрещено светить указкой в глаза людям и животным!

Мысль простая, как и все гениальное – из корпуса неисправного CD-привода извлекается вся начинка, переднюю панель при этом не снимают, и следят, чтобы с неё не выпадали кнопки. Тайник получается достаточно внушительный, и металлоискатель его не выявит.

Точильный станок

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

Для создания вентилятора понадобится 6-вольтный электродвигатель, крыльчатка, держатель для двигателя, а также источник постоянного тока, например, блок питания или пальчиковые батарейки.

Ещё идеи…

Как ещё использовать отжившее своё устройство? Из движущего механизма лазера делают гравёры, резаки, графопостроители. Линзу – применить в самодельном микроскопе. О применении корпуса, лазера и двигателя речь шла выше. Если устройство ещё работает – можно подсоединить к нему колонки и блок питания, получится проигрыватель. В крайнем случае, можно подарить или продать его на запчасти.

CD-ROM на флешке очень удобная штука. Это 100% совместимость с ISO образами и гарантия работы из BIOS компьютера. Что позволит загрузиться с флешки как с обычного CD-ROM. То есть компьютер никогда не узнает, что его «обманывают».

Эпоха оптических приводов уходит. В современных компьютерах привод CD-ROM (DVD, DVD-ROM, DVD-RW, CD-RW) становится редкостью. Поэтому пользователям приходится всячески «выкручиваться», когда необходимо установить операционную систему. Чтобы не искать внешний оптический привод USB, уже давно существует возможность загрузиться с флешки. И все современные компьютеры имеют такую поддержку в BIOS. Но нет нет, да возникает ситуация как в песне Виктора Цоя «все на месте, но что-то не так». Я много раз сталкивался с ситуацией, когда компьютер загружался лишь с одной флешки из пяти. И единственным выходом из такой ситуации является создание (эмуляция) CD-ROM на шлешке. То есть когда компьютер видит USB флеш-накопитель как реальный оптический привод.
В сети много решений по этому поводу. Все они представляют из себя некоторую головоломку. В которой сначала необходимо узнать тип контроллера на флешке, организацию и модель (марку) памяти. Потом под это железо надо найти специальную программу по перепрограммированию контроллера и заливке ISO образа. При этом возможностью эмуляции CD-ROM обладают далеко не все контроллеры используемые во флешках. То есть не факт, что Ваша флешка вообще это умеет. И самое печальное, что даже выполняя в точности все инструкции велик шанс угробить флешку.
Идеальным вариантом в такой ситуации является покупка флешки для которой сам производитель предусмотрел возможность создания CD-ROM. Однажды мне в руки попалась флешка Transcend JetFlash 620 8Gb

Отличительной особенностью которой является наличие встроенного виртуального CD-ROM. А это значит, что контроллер поддерживает создание CD-ROM и мы на пол пути к успеху.

Как создать CD-ROM на флешке Transcend JetFlash 620 8Gb

Чтобы создать CD-ROM на флешке Transcend JetFlash 620 8Gb необходимо скачать с официального сайта утилиту диагностики и восстановления для этой модели USB накопителя JetFlash Online Recovery . На момент написания статьи для флешки Transcend JetFlash 620 8Gb актуальная версия программы для Windows v9.0.0.8 (JetFlash 620). Размер программы 5,7 МБ.
После скачивания архива Вам будет необходимо распаковать находящийся в нем EXE файл. У меня это OnLineRecovery_JF620_v9.0.0.8.exe. Это самораспаковывающийся архив, внутри которого находится утилита OnLineRecovery_620.exe и файл образ CD-ROM security_f.iso.
Так вот, самый главный секрет этой статьи. Для того, чтобы создать виртуальный CD-ROM на флешке Transcend JetFlash 620 необходимо переименовать необходимый Вам файл ISO образа, к примеру установочный дистрибутив операционной системы, в security_f.iso и положить его рядом с утилитой восстановления OnLineRecovery_620.exe. После этого запускаете утилиту и она создаст на флешке два раздела, в один из которых запишет Ваш ISO образ, который и будет определяться компьютеров как USB-CD-ROM, а оставшееся место будет обычной флешкой. Вот так все просто.
Надеюсь не стоит предупреждать, что в результате работы утилиты восстановления JetFlash Online Recovery все данные с флешки исчезнут.

CD -разделы на флэшке позволяют загружаться без проблем на ПК, где загрузка с обычной флэшки Public -раздела флэшки) невозможна. Загрузка с CD -области флэшки, как правило, работает везде.

Но стоит понимать, что использование флэшки как загрузочного устройства из BIOS , не является прямым предназначением этой функции контроллера.

А главная функция CDROM -области в том, чтобы конкретный производитель флэшки мог разместить там необходимое ПО для шифрования, защиты от вирусов или просто некую рекламную информацию.

Поэтому успешный исход загрузки какого-либо компонента как с обычного CD -привода, в основном зависит от совместимости конкретного контроллера с конкретной материнской платой , на которой вы грузитесь.

КАКИЕ КОНТРОЛЛЕРЫ ПОДХОДЯТ БОЛЬШЕ ВСЕГО

Я лично, для использования в качестве LiveUSB и переустановки Windows , рекомендую только контроллеры SMI и Phison , т.к. они наиболее совместимы со старыми материнскими платами.

У SMI -чипов, наиболее высокую загружаемость из под BIOS проявили модели SM3257AA и те, что старше (например SM3257ENAA и SM3257ENLT ) .

С Phison , проблемы немного другого порядка, которые лишь косвенно связанны с эффективностью загрузки. Все контроллеры, можно условно разбить на две группы, в первой так называемые PS2XXX (например PS2232 и PS2239 ) , а во второй PS2251-XX (например PS2251-38 и PS2251-03 ). Так вот, чипы из первой группы, нельзя преобразовать в MODE30 , а только в MODE21 , который содержит в себе дополнительный flash -раздел, негативно влияющий на уровень совместимости.

Если же у вас не старый компьютер, то подойдут и другие модели, но всё же не все. К примеру, контроллеры Alcor , никогда не отличались хорошей загружаемость и вообще это не их тема.

А вот чипы Innostor , которые прославились своими USB3.0 моделями, хотя и кривоваты на загрузку, но зато могут нести одновременно на себе до 6 ISO -образов дисков!

Ниже, будут рассматриваться утилиты под производителей USB -контроллеров, способные работать с CD -разделом. Там же, вы сможете ознакомиться с полным списком, подходящих под это дело железяк флешек.

НЕСКОЛЬКО CDROM-РАЗДЕЛОВ НА ОДНОЙ ФЛЕШКЕ

Если говорить конкретно об одновременно работающих CD-ROM областях на флешке, то обуздать я смог всего несколько производителей контроллеров. Это мои любимые SMI контроллеры, некоторые флешки на Phison и применяемые в китайских подделках чипы Chipsbank .

На портале USBDev, вы можете ознакомиться с подробной инструкцией по созданию до 7 одновременно работающих СДРОМов . При этом, образы дисков можно менять в пару кликов, минуя процедуры перепрошивки, что минимизирует до предела последующие риски!

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

С чипами от Phison , всё хоть и делается на порядок проще, только под MODE32 подходят далеко не все флешки. Из тех что я пробовал, немного больше половины, оказались пригодны для работы в этом специфичном режиме. Да и MODE32 ограничивается всего двумя одновременно работающих СДРОМ ами.

Контроллеры Chipsbank , меньше всего мне понравились в этом плане. И процесс создания более долгий и муторный. И вероятность найти флешку подходящего объёма на нём, крайне мала. Да и возможность прошить два CDROM -раздела, имеется только и последних чипов, линейки CBM2098 и CBM2099 .

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

У Innostor , хоть и один раздел под CD-Rom , но туда можно записать до 6 ISO образов и через специальную Windows-программу под названием Innostor AI-Burn , выбирать необходимый из них в данный момент времени.

Сама операция по изменению флэшки немного рискованная, поэтому её лучше не производить с флэшками в нестандартных корпусах (монолиты , флэшки с монетку размером, …). То есть, чтоб в случае некорректного завершения прошивки контроллера, была возможность разобрать корпус и перевести флэшку в тестовый режим .

В принципе при условии, что вы все делаете правильно, утилита к вашей флешке подходит и создаёте на флешке только CD-ROM-область , то шанс что флешка зависнет очень мала. Я не зря выделил жирных то, что на флешке желательно не создавать другие области, кроме как CD-ROM . Хотя некоторые пишут, что лучше создавать помимо CDROM -раздела еще и флеш-область, на которую можно будет скидывать файлы. Но я отношусь к этому крайне скептически.

Какие же могут быть проблемы, когда вы создаёте на флешке две или более области:

Очень вероятно, что при попытке вернуть флешку в первоначальное состояние или перезаписать ISO -файл, прошивальщик завершит работу с ошибкой и вашу флешку придется перепрошивать еще раз или вообще она “зависнет”. В таком случае, её придется переводить в тестовый режим и уже оттуда прошивать. Т.е. если у вас монолитная флешка , вы довольно сильно рискуете и я думаю, что игра не стоит свеч.

Не на всех компьютерах будет доступен из Windows флеш-раздел, хотя вероятность этого очень и очень мала.

Из-под BIOS , с приличной вероятностью, нельзя будет загрузить через загрузчик (типа GRUB4DOS ), элементы с флеш -области флешки. Т.е. в Windows у Вас всё пучком, а здесь облом, к примеру на моём компьютере такая батва.

Возможно, такое, что даже с CDROM -области не идёт никакой загрузки, что проявляется на очень большом проценте старых компьютеров. Такая проблема особенно остра для контроллеров компании Innostor .

Флешка заметно дольше инициализируется компьютером.

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

КАК ПРОШИТЬ В CDROM

Для создания CD -области на USB -флэшке необходимо подобрать утилиту для конкретного контроллера, установленного в конкретной флэшке. Иногда при подборе в качестве главного параметра нужно рассматривать микросхему памяти, но это уже оффтоп для данной статьи. Затем настроить на работу утилиты с конкретной связкой (контроллер + память), активизировать настройки связанные с CDROM-областью и далее указать путь к самому образу диска (про особенности конкретных утилит смотрите ниже в комментариях рядом с восклицательным знаком [!]). После такой операции флэшка в BIOS будет определяется (в зависимости от настроек производственной утилиты и возможностей контроллера) либо как CDROM -устройство, либо как два устройства (CDROM + обычный раздел ).

Также качество результата, как не странно зависит от используемой утилиты. К примеру, у Алькора старыми версиями утилит не создавалась CDROM -область более 4ГБ или у Skymedi от версии может зависеть загружаемость в режиме LUN2.

Проясню ситуацию с как бы ограничением в 4ГБ на размер ISO -образа диска – так никакого ограничения в 4ГБ нет и никогда не было. Всё зависит от возможностей доступных версий программного обеспечения для того или иного железа (контроллер + память). Так для некоторых очень старых контроллеров, а также для некоторых не очень продвинутых, я вообще не знаком с такими. А тот бред (про 4ГБ и прочие), который частенько гуляет по интернету связан лишь с умственной отсталостью тех кто его пишет. Зачастую такие люди никогда не имели больше 1-2 флешек и при этом пытаются учить других. Также отличительной чертой этих болванов, являются рекомендации по поиску программного обеспечения с помощью VID-PID , которые тоже являются полнейшим бредом.

Подробные руководства с картинками, для основных контроллеров, будут написаны и выложены отдельными статьями. Так что Вам нужно набраться терпения, а мне наскрести желание и дело в шляпе.

КАКИЕ КОНКРЕТНО УТИЛИТЫ МОГУТ СОЗДАВАТЬ CD-ROM РАЗДЕЛ

Список утилит позволяющих создать CDROM-область и их особенностей для основных контроллеров:

Alcor: AlcorMP_UFD, ALCOR Recovery Tool, FC MpTool, Transcend AlcorMP JF620 Online Recovery, Transcend AlcorMP V15 Online Recovery.
!: Для создания Generic Autorun Disk с помощью ‘Transcend AlcorMP JF620 Online Recovery’ достаточно переименовать необходимый образ для создания CD-раздела в security_f.iso, положить его рядом с OnLineRecovery_620.exe и выполнить процедуру восстановления флешки, запустив OnLineRecovery_620.exe. После исполнения OnLineRecovery_620.exe всегда создаются два раздела: CD-раздел с содержимым security_f.iso и обычный раздел, определяемый в Windows как съёмный диск в формате FAT32.
!: Для создания Generic Autorun Disk с помощью ‘Transcend AlcorMP V15 Online Recovery’ достаточно переименовать необходимый образ для создания CD-раздела в TMUS.iso, положить его рядом с OnLineRecovery_TMUS.exe и выполнить процедуру восстановления флешки, запустив OnLineRecovery_TMUS.exe. После исполнения OnLineRecovery_TMUS.exe всегда создаются два раздела: CD-раздел с содержимым TMUS.iso и обычный раздел, определяемый в Windows как съёмный диск в формате FAT32 с меткой Trend Micro.
!: На флэшках с контроллерами Alcor до модели AU6982 включительно пока не удалось создать раздел ‘Autorun’.

ChipsBank: Chipsbank APTool, Chipsbank CBM2093 UMPTool, Chipsbank UMPTool, Chipsbank V88 UMPTool, FlashDiskManager.

Innostor: Innostor MP Tool, AI-Burn, AI Partition.
!: AI-Burn – только перезаписывает CD-область созданную с помощью Innostor MP Tool или AI Partition.
!: AI Partition – только создает CD-область, на которую потом с помощью AI-Burn можно записать образ диска.

iTE Tech. Inc. : MPTool, DtMPTool, UFDUtility, CDROM Tool.

Phison: Phison ModeConverter, Phison MPALL, Phison USB MPTool.
!: Phison ModeConverter v1.0.1.5 наиболее простой и безопасный способ создания, для современных контроллеров от Фисон.
!: Mode = 30 (CDROM Only); Mode = 21 (CDROM + Public).
!: Возможны некоторые проблемы с последующим определением флэшки в утилитах при создании ‘CDROM\Public + Fixed Disk ‘.

Skymedi: Skymedi PDT, Skymedi SK6213 ISO Update Tool.
!: Параметр ‘Autorun Counter’ означает то количество раз, которое CDROM-раздел будет появляться в системе. Для того чтобы раздел работал бесконечно, в это поле прописываем значение 255 (==unlimited).

SMI: SMI MPTool, DYNA MPTool, uDiskToolBar, MySDKTest, UFDisk Utilities.

SSS: 3S USB MP Utility, 3S USB OnCardSorting.
!: В окнах утилит нету настроек отвечающих за CD-область флэшки, поэтому необходимо отредактировать используемый конфигурационный файл (например – 6691_CM_T32D2 TSOP 32Gb x 2.INI) следующим образом: приблизительно после секции добавить секцию в которую добавить строку CDROM_ISO=j:\LIVECD\_2K10\MultiBoot_2k10_2.6.1_conty9.iso (где MultiBoot_2k10_2.6.1_conty9.iso файл, который Вы хотите записать на CD-область).

Возможность перезаписать CDROM-область без создания заново других разделов флэшки имеется далеко не у всех контроллеров. К примеру, я достоверно знаю только о двух фирмах контроллеров, с которыми можно осуществить данную операцию, а именно:
Innostor: с помощью утилиты AI-Burn.

SMI: с помощью программы MySDKTest . Несмотря на то, что данная софтина полноценно поддерживает только контроллеры до модели SM3255AB включительно. Выполнять процедуру замены образа диска, способна с любым, даже самым современным SMI-чипом.

Вернуть флэшку в исходное состояние, как правило, можно с помощью тех же самых утилит, а также некоторых других утилит, которые вы сможете найти на моем сайте.

Пользователи, заставшие ранние «нулевые», наверняка помнят те времена, когда фильмы, компьютерные игры, программы и музыка доставлялись на наши компьютеры только с помощью распространённых в то время CD/DVD дисков. О свободном скачивании данных в интернете, торрентах и youtube еще знать никто не знал. Ситуацию спасали оптические приводы, с помощью которых информация передавалась на жесткий диск компьютера.

Стремительное развитие интернет-технологий поставило под вопрос необходимость иметь такое комплектующее как «дисковод». В нынешних стационарных системах и ноутбуках редко встретишь наличие привода. Всё из-за виртуальных дисков, которые вытеснили «болванки» и стали распространенным явлением. Однако, не всем удался комфортный переход на новую технологию. В этой статье мы постараемся исправить данную ситуацию и подробно объяснить суть процесса создания, нюансы использования и прочие вопросы, которые неоднократно возникали у всех, кто не знает, как использовать виртуальный CD ROM.

Когда это может понадобиться

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

  • Отсутствие или неисправность дисковода. Любая деталь не имеет вечный срок эксплуатации. Рано или поздно, может возникнуть неполадка, и хорошо если случится она не в самый необходимый момент (что по «закону подлости» происходит часто). Кроме того, у «системника», принимающего от вас диск с информацией, может просто не быть оптического дисковода. А вот виртуальный CD-ROM есть на любом современном ПК (если посвятить некоторое время его созданию).
  • Многоканальность. Мне редко когда попадались компьютеры, в которых имелось сразу несколько дисководов. Юзерам, часто работающим с записью и чтением дисков, приходилось постоянно переставлять CD/DVD. С виртуальными дисками таких проблем нет, а значит вы можете одновременно работать сразу с несколькими.
  • Удобство передачи данных. Для обмена информацией, записанной на «болванку», вам необходимо лично передать носитель принимающей стороне. В случае с виртуально записанными образами – передача осуществляется онлайн, по интернету.

Создание виртуального CD-ROM

Для чтения виртуальных образов (файлов iso; mdf, bwi, mds и прочих), необходимо создать виртуальный CD-ROM, который, подобно оптическому приводу, воспроизводит (эмулирует) данные с накопителя. Сделать виртуальный диск можно с помощью специального софта, такого как Daemon Tools, Virtual Drive, Их принцип работы идентичен, а функционал во многом схож. Для примера мы взяли последний из перечисленных, так как с его возможностями и инструментарием очень легко справиться даже далекому от подобных процессов пользователю.

  1. Вначале скачиваем установщик программы Alcohol 120% по ссылке с Яндекс диска, или на официальном сайте разработчика. Устанавливаем на свой компьютер.
  2. Запускаем программу. В первую очередь нам необходимо создать виртуальный CD-привод. Для этого в секции «Настройки» выбираем опцию «Виртуальный диск» .
  1. В открывшемся меню, вручную выбираем к-во создаваемых виртуальных дисков. Подтверждаем результат нажатием на кнопку ОК.

Привод успешно создан, что мы можем наблюдать в панели «Устройство» или в папке «Мой компьютер» .

  1. Теперь откроем готовый образ. Для этого выбираем вкладку «Файл» , а в открывшемся меню нажимаем на «Открыть…» (или просто воспользуемся комбинацией клавиш Ctrl + O ).
  1. Находим необходимый нам файл-образ, выделяем его ЛКМ и кликаем на кнопку «Открыть» .

Образ добавлен в библиотеку для обработки.

  1. Теперь необходимо считать добавленный ранее файл. Для этого выделяем образ ПКМ, и в выпавшем меню выбираем опцию «Смонтировать на устройство» .

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

После проведенных операций с образом, необходимо его извлечь из виртуального привода. Для этого, используя программу Alcohol 120%, в меню имеющихся приводов выделяем наш BD-ROM правой кнопкой мыши и выбираем в списке функцию «Демонтировать образ» . Диск вновь опустеет.

Если же вы хотите убрать виртуальный привод вовсе, необходимо повторить схожие действия, как при его создании:

  1. В доступных устройства кликаем на DVD/CD накопитель ПКМ. В появившемся списке нажимаем «Свойства» .
  1. Обратно ставим значение «0» , в секции выбора к-ва виртуальных дисков и нажимаем «ОК» .

Добавление виртуального жесткого диска

Вышеперечисленные возможности доступны многим вот уже десятилетие. Популярность использования виртуального устройства считывания информации стала причиной появления схожего явления, под названием виртуальный жесткий диск. Эта технология позволяет создать файл (имеющий расширение VHD), который в проводнике отображается как стандартный раздел на жестком диске. Рациональность использования virtual-накопителя каждый решает для себя: некоторые таким образом реорганизуют свободное пространство на томах, другие даже устанавливают ОС. Не стоит забывать о возможности создать защищенный файловый контейнер, таким образом ограничив информацию от посягательств других пользователей.

Мы будем создавать виртуальный жесткий диск с помощью стандартных средств Windows (эта функция доступна в системах Windows 7, 8.1, 10). Однако, и с помощью специального софта можно добиться подобного результата. Наиболее эффективно с этой задачей справляется Daemon Tools Ultra, а также Disk2vhd. В этих программах имеются отдельные разделы, посвященные созданию виртуальных дисков (как приводов, так и накопителей подобных HDD).

  1. Открываем службу «Выполнить» , одновременным нажатием на клавиши Win + R . В пустую строку вводим команду diskmgmt.msc и нажимаем «ОК» .
  1. Откроется служба «Управление дисками» . В меню управления активируйте вкладку «Действие» , а в нем выберите «Создать виртуальный жесткий диск» .
  1. В появившемся окне вам необходимо указать месторасположение создаваемого файла, выбрать формат (VHD/VHDX ), а также определить возможность расширения файла.
  1. Файл создан, однако диск пока не инициализирован. Нажатием на диск ПКМ, выбираем опцию «Инициализировать диск» .
  1. В следующем окне необходимо указать стиль раздела (советуем GUID , если вы намерены ограничиться стандартными возможностями работы с выделенным пространством).

Подключение диска после перезагрузки ПК

К сожалению, работа с виртуальным жестким диском требует повторного подключения файла VHD/VHDX, после завершения каждого сеанса. К счастью создавать новый диск, инициализировать раздел и создавать том нам не придется. Чтобы вернуть виртуальный диск к работе (эмулировать данные), необходимо выполнить следующие действия:


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

А также смотрим видео

Несмотря на то, что многие крупные фирмы создают свои варианты замены 3.5" дискет, обычный дисковод все же находит свое место в подавляющем числе ПК, несмотря на низкую скорость и маленький объем (только загрузочные файлы Windows 98 занимают 25% дискеты!). Сегодня, в эпоху сетей и Интернета, дискеты, как переносчик информации используются все реже. Одним из основных их применений остается загрузка ОС ПК в случае установки нового диска, тестирования и настройки специфичного оборудования, проверки на вирусы, восстановления информации с испорченного жесткого диска.

К сожалению даже для простейших из этих задач объема дискеты катастрофически не хватает (например, базы антивирусов уже давно перевалили отметку в 1.44Мб). Объем тестовых программ и дистрибутивов также не хочет уменьшаться. Конечно можно использовать накопители типа IOmega ZIP, LS-120, однако гораздо более распространенным устройством является CD-ROM. И к счастью уже года три существует стандарт, по которому с этого устройства можно загрузить ПК.

Варианты применения: загрузочный диск для диагностики, проверки на вирусы, установки системы "с нуля"; backup системного раздела для быстрого восстановления системы; диски с демо версиями ПО, презентациями, видео, слайд шоу. В последнем варианте ПК может даже не иметь жесткого диска!

Как оказалось, большинство информации по теме загрузочных CD в Internet не отличается полнотой и строгостью. Поэтому я решил сам разобраться в стандартах, и попробовать сделать какой-нибудь интересный диск. Тем более что с CD-RW это достаточно безопасно:) .

Quick Start

Что нам понадобится:

  • устройство CD-R/RW. Очень желательно использовать на начальном этапе CD-RW, это позволит легко исправить возможные ошибки. Тем не менее, для окончательного создания предпочтительнее CDR, поскольку они читаются на большем числе приводов
  • чистый диск для него
  • программа Adaptec Easy CD Creator (можно и CDRWIN, WinOnCD, Nero, etc)
  • загрузочная дискета Вашей ОС (желательно с драйвером для используемого устройства CD-ROM)
  • ПК, который может загружаться с CD-ROM, для проверки:)

Итак, все будет работать так:

Для устройства ATAPI установить в BIOS порядок загрузки, начинающийся с CD-ROM. Если нужно загрузиться со SCSI CD-ROMа, то установить в SCSI BIOS опцию "Boot from CD-ROM" в "Enable" (а в BIOS SETUP обязательно на первом месте "A", например "A,C"). В момент загрузки ПК, один из упоминавшихся BIOSов выдаст на экран надпись, о том, что он обнаружил в устройстве загрузочный CD и он установлен как диск A: . После этого начнется процесс загрузки с этого устройства. Если при этом на машине установлен дисковод, то он станет скрываться за буквой B:, остальные диски своих имен не поменяют.

При записи на CD-ROM еще какие-то файлов кроме образа дискеты, доступ к ним возможен только после загрузки правильного драйвера и MSCDEX.EXE. Таким образом можно при загрузке с CD получить доступ ко всем 640Мб емкости диска.

Для того, чтобы добиться такого эффекта:

  1. открываем Adaptec Easy CD Creator (ECDC)
  2. создаем обычный диск с необходимыми файлами (оставляем как минимум 1.44Мб места для образа дискеты)
  3. параметры в CD Layout Properties - ISO9660, Mode 1: CDROM, ставим отметку "Bootable"
  4. после нажатия на Ok, программа попросит вставить в дисковод заранее подготовленную системную дискету, для того чтобы считать с нее образ
  5. после считывания видим, что в списке записываемых файлов появилось еще два - BOOTCAT.BIN и BOOTIMG.BIN. Первый это так называемый каталог загрузочных образов, а второй - побайтовая копия нашей дискеты, с помощью которой в момент загрузки будет эмулироваться дисковод A:
  6. последний штрих - запись на CD. В режиме TAO диск можно не закрывать

Некоторые замечания к плану. Пункт 3 - на самом деле можно создать загрузочный диск и с Joilet, просто ECDC не дает в этом случае поставить галочку у "Bootable". А вот выбор "Mode 1" скорее всего обязателен. Пункт 4 - перед использованием дискеты желательно удостовериться в ее работоспособности: попробуйте защитить ее от записи и загрузиться с нее. Очень важно помнить, что для доступа к обычным файлам на CD-ROM (не файлам с дискеты) необходимо запустить драйвер CDROM и MSCDEX. Естественно они должны быть на используемой дискете и в CONFIG.SYS/AUTOEXEC.BAT все должно быть прописано. Одним из хороших примеров такой дискеты может служить Startup Disk от Windows 98. На нем есть драйвера CD-ROM под множество контроллеров, что дает возможность использовать CD-ROM и на ATAPI устройствах и на многих SCSI. Можно немного подправить эту дискету под конкретные нужды. Я сделал так:

Список файлов:

AUTOEXEC.BAT DRVSPACE.BIN COMMAND.COM FORMAT.COM KEYB.COM MODE.COM SYS.COM VC.COM EGA3.CPI EMM386.EXE FDISK.EXE MSCDEX.EXE VC.INI ASPI2DOS.SYS ASPI4DOS.SYS ASPI8DOS.SYS ASPI8U2.SYS ASPICD.SYS BTCDROM.SYS BTDOSM.SYS CONFIG.SYS COUNTRY.SYS DISPLAY.SYS FLASHPT.SYS HIMEM.SYS IO.SYS KEYBRD3.SYS MSDOS.SYS OAKCDROM.SYS

Files=10 buffers=10 dos=high,umb stacks=9,256 lastdrive=z device=himem.sys /testmem:off device=emm386.exe ram device=display.sys con=(ega,1) country=007,866,country.sys device=oakcdrom.sys /D:MSCD001 device=btdosm.sys device=flashpt.sys device=btcdrom.sys /D:MSCD001 device=aspi2dos.sys device=aspi8dos.sys device=aspi4dos.sys device=aspi8u2.sys device=aspicd.sys /D:MSCD001 install=mscdex.exe /D:MSCD001 /L:R

@echo off set temp=c:\ set tmp=c:\ mode.com con cp prepare=((866) ega3.cpi) mode.com con cp select=866 keyb.com ru,keybrd3.sys path=a:\;r:\

Несмотря на простоту, даже в этом варианте есть подводные камни: он рассчитан на наличие в ПК только одного устройства CD-ROM (с которого и идет загрузка). Иначе возможно, что после загрузки с дискеты Вы не сможете получить доступ к остальному содержимому CD из-за конфликта драйверов.

Для проверки всех тонкостей, обязательно проверьте перед записью возможность загрузки ПК с подготовленной дискеты, правильность подключения драйвера CD-ROM. Вообще лучше оставить с CONFIG.SYS единственный драйвер (что конечно снижает универсальность) или сделать меню для выбора его при загрузке. В крайнем случае можно нажать F8 и включить пошаговый режим загрузки, потом выбрать только необходимый драйвер.

Итак, если после этого ПК смог загрузиться со сделанного диска, первый этап пройден. Далее мы рассмотрим суть процесса загрузки с CD-ROM и опишем путь решения проблемы с доступом ко всему объему диска без драйверов.

Как это на самом деле работает

Благодаря стараниям фирм Phoenix и IBM на свет появился “El Torito” Bootable CD-ROM Format Specification, версия 1.0 которого датирована 25 января 1995г. Хотя спецификация допускает наличие множественных загрузочных образов (и выбор их из меню при загрузке) на одном диске, мы рассмотрим для простоты вариант с единственным образом.

Этот стандарт определяет возможность эмуляции CD-ROMом диска A: или C: во время загрузки ПК. При этом возможны такие варианты:

  • CD-ROM эмулирует диск A: . Установленный на ПК дисковод A: становится B:, остальные диски своих имен не меняют. Доступ ко всему (до 640Мб) содержимому CD-ROM возможен через загрузку с эмулированного A: драйвера CD-ROM (который может отличаться на разных ПК!) и MSCDEX.EXE .
  • CD-ROM эмулирует диск C: . При этом нумерация установленных на ПК дисков смещается. Такой вариант позволяет получить доступ к 640Мб информации независимо от устройства CD-ROM, т.к. загрузка его (возможно специфичного) драйвера необязательна.
  • Без эмуляции. Это, означает, что при загрузке просто считывается программа по указанному адресу указанной длинны и ей передается управление. Что происходит дальше с ПК, это ее личное дело. Такой вид имеет например установочный диск Microsoft Windows NT.

CD-ROM представляет собой устройство с последовательной адресацией секторов с 0 до (обычно) 335249, которые имеют размер 2048 байт (в Mode 1). Интересная для нас часть логической структуры включает в себя:

Сектор
0-15
16 Primary Volume Descriptor
17 Boot Record Volume
...
BC Booting Catalog
...
BI_1-BI_m Bootable Disk Image
...

При этом эмуляция включает в себя и трансляцию 4-х 512 байтных секторов в 2048 байтные на CD.

Для работы технологии загрузки используется возможность иметь на одном диске несколько описаний томов. Например при записи в формате Joilet используется просто два дескриптора - для ISO9660 и для Joilet, что повышает совместимость диска очень незначительной ценой объема. Сравните с длинными именами в Windows 95 - там в каждом элементе каталога располагается две записи - стандартная MS-DOS 8.3 и длинное имя Windows 95. На CD немного по другому, там есть два разных каталога, один ISO9660 с короткими именами, а второй Joilet - с длинными в unicode. А сами файлы занимают одно и тоже место. Просто на них есть ссылки из обоих каталогов. И если система (ее драйвер cdfs) умеет читать Joilet, то он это и делает, а если нет, то читает стандартный ISO9660.

Для исследования структуры CD-ROM используем его ISO образ - посекторную копию диска (об используемых для его получения программах см. в конце статьи).

Сектор 16 - PVD, нам менять не надо. Его начало имеет такой вид (смотрим образ диска diskeditом) :

Обратите внимание, что смещение 0x8000 соответствует 16*2048.

Сектор 17 - Boot Volume Descriptor должен иметь такой вид:

Его структура подробно:

В следующем секторе находится индикатор окончания таблицы дескрипторов. Я не знаю наверняка, нужен он или нет, но с ним точно все работает и диски, которые пишет ECDC его имеют.

Следующий интересный сектор, это собственно Booting Catalog. В моем примере он располагается в секторе 0x1D (0x1D * 2048 = 0xE800):

Состоит он из двух записей по 32 байта. Первая это Validation Entry:

В принципе можно в любом случае (для 80x86) использовать приведенную на картинке. А вот если Вы захотите поменять ID string, то не забудьте исправить и контрольную сумму, так, чтобы сумма всех слов в этой 32 байтной записи была равна 0.

Следующая запись называется Initial/Default Entry:

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

Boot Media Type

Этот байт определяет, какой носитель будет эмулироваться. Для этого используются биты 0-3 (остальные должны быть 0): 0 - без эмуляции, 1 - дискета 1.2Мб, 2 - дискета 1.44Мб, 3 - дискета 2.88Мб, 4 - жесткий диск.

Load Segment

В этом слове содержится адрес сегмента, в который будет загружен MBR/Boot Sector образа. Для IBM PC это 0x7C0. (Если в этом поле 0, то также используется традиционный 0x7C0).

System Type

Этот байт должен соответствовать байту типа системы в таблице разделов загрузочного образа. Например DOS-12 - 0x01, DOS-16 - 0x04, BIGDOS - 0x06 (>32Мб). Для дискеты ECDC устанавливает его в 0, скорее всего он прав.

Sector Count

Это поле задает число секторов (эмулированных - в расчете 512 байт на сектор), которые считаются в вышеуказанный сегмент при загрузке. В нашем случае достаточно одного сектора.

Load RBA

Адрес первого сектора образа диска на CD.

Образ дискеты

Ну с этим ничего сложного нет. Любой программой (тем же diskedit например) считываем все сектора дискеты в файл. В нем последовательно находятся Boot Record, FAT1, FAT2, корневая директория, собственно файлы. Про формат дискеты (1.2, 1.44 ...) сказано и в Booting Catalog и в самом образе в Boot Record.

Образ жесткого диска

А вот с этим пришлось сильно повозиться. Сильно смущали упоминания ISO, ghost, diskedit, при подготовке этого образа. Конечно, скорее всего, если взять диск не более 640Мб, создать на нем один раздел, поставить систему и т.д., то наверное и можно было использовать diskedit для приготовления образа такого диска, но где взять сегодня такой маленький диск и куда его подключить?

Структура такого простого жесткого диска выглядит так:

  • Первый сектор - MBR = загрузочный код + таблица разделов
  • Первый сектор второй стороны - BootRecord первого раздела
  • Затем идут как и в дискете две копии FAT, корневая директория, данные.

Таким образом, видно, что единственное отличие от дискеты это использование таблицы разделов. Однако за ним скрывается гораздо более глубокая проблема - как определить геометрию диска по данным на нем? Ведь без этого любая работа с диском становится проблематичной. Тем более, что у самого CD-ROMа используется обычная линейная адресация и в рассмотренных структурах загрузочного CD-ROM нигде нет места такой информации.

На самом деле это можно узнать по таблице разделов. Если предположить, что конец раздела обязательно приходится на последний сектор последней стороны некоторого цилиндра, то данные из MBR помогут нам узнать количество секторов в дорожке и сторон в цилиндре! Например (снова используем diskedit):

Из этой таблицы видно, что последним сектором каждого раздела является сектор номер 63, что с учетом нумерации секторов с 1 дает нам 63 сектора на дорожку. Аналогично для количества сторон получается цифра 255 (нумерация с 0!).

Кстати, тут же видно как решается проблема 8Гб предела - вместо начала/конца раздела используются поля относительного числа секторов и количества секторов в разделе, которые имеют размер двойного слова.

Напомню, что в режиме LBA адресация через CHS происходит так:
LBA 0 = Cylinder 0, Head 0, Sector 1
LBA X = ((Cylinder * Maximum Heads + Head) * Sector per Track) + Sector -1

Как известно SCSI всегда работает в LBA режиме - с прямой адресацией секторов. Просто ему приходится эмулировать CHS для стандартного вида MBR и совместимости. Часто при этом в SCSI BIOS можно выбрать режим трансляции из CHS для дисков до 1Гб и больше 1Гб. (Кстати именно с различной трансляцией у разных контроллеров может быть связана неработа SCSI диска, отформатированного на одном контроллере при установке на другой).

Итак, было поведено несколько опытов (количество циллиндров в нашем случае не важно; диск на 270 действительно работает в LBA):

IDE (Award 4.51)

Объем Мб Heads Sectors Cylinders
270 32 63 262
540 32 63 524
1200 64 63 847
3500 128 63 621
13400 255 63 1650

SCSI (Tekram DC-390)

Объем Heads Sectors
<1G 64 32
>1G 255 63

Как Вы видите, все эти ухищрения направлены на недостижение количества цилиндров отметки 1024. Это связано с тем, что MBR, BIOS и многие другие, рассчитаны на хранение номера цилиндра в 10 битах. И граница 8Гб как раз и идет от 1024*255*63 секторов. Или можно посчитать эту границу по другому - только 3 байта на номер сектора в режиме LBA.

Формально, BIOS для загрузки должен сам обо всем догадаться, однако похоже это происходит не всегда. Многие испытатели отмечали, что есть некоторая закономерность в том, с какого диска - IDE или SCSI делать образ, и на каком CD-ROM он сможет загрузиться.

Тем не менее единственное требование, упомянутое в стандарте, это использование только одной и только первой записи в Partition Table. К счастью этого легко добиться.

Исходя из всего этого был придуман и опробован следующий способ получения образа жесткого диска:

  1. Создаем раздел необходимого размера на жестком диске.
  2. Форматируем (FAT12/16), делаем системным (можно сразу format /s, а можно и sys потом).
  3. Используем специально написанную программу (getimg.zip), которая по информации в BootRecord указанного диска воссоздает MBR и считывает всю информацию в один файл.

Не забудьте только приготовить необходимое место на другом диске или разделе.

Конечно у этого способа есть недостаток - для дальнейшего создания CD-ROM потребуется еще столько же места для ISO образа CD, однако будем надеяться, что сегодня найти 3*640Мб на диске достаточно легко, тем более при наличии в ПК CDR:).

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

тест SCSI ATAPI
H 32 S 63, DOS-16 Yes (1) Yes (2)
H 255 S 63, Windows 98 Yes (1) Yes
H 64 S 32, Windows 98 (Zip drive) Yes (1) Yes

(1) в этом тесте после загрузки правильно виден только раздел D: жесткого диска (был C:). Скорее всего это связано с реализацией SCSI BIOS, т.к. он перехватывает Int 13 и не совсем прозрачно его использует.

(2) естественно раздел жесткого диска ПК с FAT32 не виден, т.к. система DOS 6.22

Таким образом никаких проблем с несовместимостью геометрии эмулируемого диска отмечено не было и можно сказать, что AWARD 4.51 BIOS и немного хуже Adaptec 7880 SCSI BIOS 1.32 справляются с идентификацией образа диска.

Загрузка с эмуляцией жесткого диска

Теперь опишем, как все это можно сделать для варианта с жестким диском.

Общий принцип такой: используем программу ECDC для подготовки ISO образа диска. Потом немного его правим diskeditом и записываем на CD.

Единственное, что я не совсем чисто решил, как добавить в структуру описаний томов, необходимый Boot Volume Descriptor. Проблема в том, что он должен располагаться в секторе 17. А в подготовленном образе там может быть что-то еще. Я сделал так (ценой Joilet, хотя она и так без GUI не работает): для образа указал в тип файловой системы Joilet, это привело к тому, что в секторе 17 оказался дескриптор тома Joilet, потом просто заменил его на Boot Volume Descriptor. А в 18 секторе - как и надо завершающий Volume Descriptor.

Booting Catalog и образ загрузочного диска могут располагаться в любом месте, поэтому мы их просто добавляем как файлы (желательно первыми, чтобы потом долго не искать). Для первого берем просто файл длинны 2048 с запоминающимся содержимым (например заполненный строчкой "BC**"). Второй и есть образ диска. Назовем его image.bin.

После создания образа (File -> Create CD image, записываем как.ISO), определяем, в какие сектора ECDC записал наш bootcat.bin и image.bin. Для этого открываем файл в diskedit и ищем по "BC**". Это будет bootcat.bin. Скорее всего он находится в секторе 0x1D, смещение в файле 0xE800, следом за ним (0xF000) видим MBR нашего образа жесткого диска. Еще один вариант поиска местоположения этих файлов, основанный на ISO каталоге, это поискать их имена в ISO образе и взять двойное слово на 31 байт раньше названия:

В 17 сектор (смещение 0x8800) записываем Boot Volume Descriptor, как указано выше, проверяем, что в байтах 0x47-0x4A правильная ссылка на Booting Catalog (у нас 0x0000001D):

0008800: 00 43 44 30 30 31 01 45 - 4C 20 54 4F 52 49 54 4F 0008810: 20 53 50 45 43 49 46 49 - 43 41 54 49 4F 4E 00 00 0008820: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 0008830: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 0008840: 00 00 00 00 00 00 00 1D - 00 00 00 00 00 00 00 00

Остальные нули. Такой файл можно скачать здесь - bootvd.bin . В адреса 47-4A для наглядности записано 0x12345678.

Теперь создаем Booting Catalog (сектор 0x1D):

000E800: 01 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00 000E810: 00 00 00 00 00 00 00 00 - 00 00 00 00 AA 55 55 AA 000E820: 88 04 C0 07 04 00 01 00 - 1E 00 00 00 00 00 00 00 000E830: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00

Здесь указаны такие параметры: загрузочный образ (88), эмуляция жесткого диска (04), адрес 0x7C0, раздел DOS-16, загружать один сектор, начало образа диска - сектор 0x0000001E. Вот этот файл bootcat.bin .

Еще раз все проверив, записываем подправленный образ на CD: открываем ECDC, File -> Create CD from Disk image.

Вот собственно и все что удалось найти и проверить по этому вопросу.

Использовались:

Программы:

  1. Adaptec Easy CD Creator
  2. Symantec DISKEDIT
  3. Golden Hawk CDRWIN
  4. Gilles Vollant WinImage

Оборудование:

  1. MB Chaintech 6BTS (с AHA7880), AWARD BIOS 4.51
  2. ASUS SD-S400 (ATAPI CD-ROM)
  3. Yamaha CRW6416S (SCSI CD-ROM/CD-RW)
  1. Phoenix PC Industry Specifications http://www.ptltd.com/products/specs.html
  2. Andy McFadden CDR FAQ www.fadden.com
  3. Создание загрузочного CD с Авророй
mob_info