Как создается виртуальный жесткий диск и виртуальный CD-ROM. Создание CD-ROM-области на USB-флэшке Что можно сделать из cd roma

USB Flash можно использовать не только традиционным способом "как большую дискету". Есть более интересные и в некоторых случаях более полезные варианты. В этой статье будет описано как из флешки сделать USB CD-ROM. Конечно флешка так и останется флешкой, но вот компьютер ее будет "видеть" как CD-ROM.

Такой трюк может понадобиться например для того, чтобы установить Windows XP или 7 на компьютер без CD-DVD привода. Конечно в подобном случае есть и другие способы, но такая вот CD-ROM флешка позволяет установить Windows на нетбук вообще без проблем и каких-либо лишних телодвижений.

Если вам нужно сделать установочную флешку Windows 7 есть другой способ, проще - Установка Windows 7 c USB-флешки .

Первое, что нужно сделать это обзавестись образом диска в виде файла в формате ISO. Это может быть образ установочного диска Windows XP или любого другого CD или DVD диска. Есть много программ, которые позволяют сохранить содержимое лазерного диска в виде файла в формате ISO. Например такие как UltraISO, InfraRecorder, ImgBurn и много других.

Затем, нужно точно выяснить какой котроллер используется в вашей флешке. Дело в том, что даже в одной модели флешек могут быть разные контроллеры, а программы при помощи которых можно сделать из флеш-диска CD-ROM, жестко привязаны к контроллерам, то есть для каждого контроллера своя программа.

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

После этого, на сайте flashboot.ru , находите программу для работы с контроллером вашей флешки. Через эту программу создаете на флеш-диске раздел CD-ROM и закачиваете туда ваш ISO файл.

Ниже будет описано как создать USB CD-ROM из флеш-диска Apacer AH325 4 Gb. В этой флешке используется контроллер Phison 2251-60. Программы для работы с этим контроллером называются Phison_MPALL. Они бывают разных версий. В этой статье в качестве примера будет использована версия 3.20.0B2.

Сначала нужно убедиться в том, что программа usbflashinfo не ошиблась и внутри действительно Phison, для этого нужно запустить GetInfo.exe и в ней вписать букву диска, под которой ваша флешка определилась в Windows, а затем нажать кнопку "Read":

Если внутри флешки котроллер Phison, тогда программа выдаст информацию о флешке:

Следующий шаг - создание конфигурационного файла для последующей записи флешки. Для этого нужно запустить программу MPParamEdit_F1.exe:

и затем в ней указать нужные опции начиная сверху, в поле "CD-Rom Image" нужно указать путь к файлу и сам ISO файл:

Примечание .

Возможно создание на флешке двух разделов, один будет эмулировать CD-ROM, а второй раздел будет обычной флешкой или эмулировать жесткий диск. В этом случае под раздел CD-ROM будет выделено столько, сколько необходимо для записи ISO образа, а остаток места на флешке будет выделен для раздела removable/fixed HDD. Однако если флешка будет использоваться для загрузки и особенно для установки Windows я советую делать только один раздел - CD-ROM. Вы "потеряете" часть общей емкости флешки, но зато избежите проблем совместимости на разных версиях BIOS.

В этой программе нужно открыть тот файл, который создали в редакторе настроек. Если все поля программы пусты, тогда нужно нажать кнопку "Update", после чего в одном из полей должна появиться запись о вашей флешке. После этого нужно нажать кнопку "Start" и ждать пока программа отработает:

Зеленый цвет поля означает, что все закончено. Нужно закрыть программу, а затем открыть диспетчер процессов Windows (taskmgr.exe) и в нем вручную убить программу MPALL. Дело в том, что после закрытия окна программы, ее процесс остается в памяти.

Теперь можно отключить флешку через "Безопасное извлечение устройств" и выдернуть из USB разъема. Затем снова воткнуть в разъем - но теперь Windows ее определит как CD- дисковод.

Несмотря на то, что многие крупные фирмы создают свои варианты замены 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 с Авророй

Данная статья взята с зарубежного сайта и переведена мною лично. Предоставил эту статью .

Этот проект описывает конструкцию 3D принтера очень низкой бюджетной стоимости, который в основном построен из переработанных электронных компонентов.

Результатом является небольшой формат принтера менее чем за 100 $.

Прежде всего, мы узнаем, как работает общая система ЧПУ (по сборке и калибровке, подшипники, направляющие), а затем научим машину отвечать на инструкции G-кода. После этого, мы добавляем небольшой пластиковый экструдер и даем команды на пластиковую экструзию калибровки, настройки питания драйвера и других операций, которые дадут жизнь принтеру. После данной инструкции вы получите небольшой 3D принтер, который построен с приблизительно 80% переработанных компонентов, что дает его большой потенциал и помогает значительно снизить стоимость.

С одной стороны, вы получаете представление о машиностроении и цифровом изготовлении, а с другой стороны, вы получаете небольшой 3D принтер, построенный из повторно используемых электронных компонентов. Это должно помочь вам стать более опытным в решении проблем, связанных с утилизацией электронных отходов.

Шаг 1: X, Y и Z.

Необходимые компоненты:

  • 2 стандартных CD / DVD дисковода от старого компьютера.
  • 1 Floppy дисковод.

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

Шаг 2: Подготовка моторчика

Компоненты:

3 шаговых двигателя от CD / DVD дисков.

1 NEMA 17 шаговый двигатель, что мы должны купить. Мы используем этот тип двигателя для пластикового экструдера, где нужны большие усилия, необходимые для работы с пластиковой нитью.

CNC электроника: ПЛАТФОРМЫ или RepRap Gen 6/7. Важно, мы можем использовать Sprinter / Marlin Open Firmware. В данном примере мы используем RepRap Gen6 электронику, но вы можете выбрать в зависимости от цены и доступности.

PC питания.

Кабели, розетка, термоусадочные трубки.

Первое, что мы хотим сделать, это как только у нас есть упомянутые шаговые двигатели, мы сможем припаять к ним провода. В этом случае у нас имеется 4 кабеля, для которых мы должны поддерживать соответствующую последовательность цветов (описано в паспорте).

Спецификация для шаговых двигателей CD / DVD: Скачать . .

Спецификация для NEMA 17 шагового двигателя: Скачать . .

Шаг 3: Подготовка источника питания

Следующий шаг заключается в подготовке питания для того, чтобы использовать его для нашего проекта. Прежде всего, мы соединяем два провода друг с другом (как указано на рисунке), чтобы было прямое питания с выключателем на подставку. После этого мы выбираем один желтый (12V) и один черный провод (GND) для питания контроллера.

Шаг 4: Проверка двигателей и программа Arduino IDE

Теперь мы собираемся проверить двигатели. Для этого нам нужно скачать Arduino IDE (физическая вычислительная среда), можно найти по адресу: http://arduino.cc/en/Main/Software .

Нам нужно, загрузить и установить версию Arduino 23.

После этого мы должны скачать прошивку. Мы выбрали Марлин (Marlin), который уже настроен и может быть загружен Marlin: Скачать . .

После того, как мы установили Arduino, мы подключим наш компьютер с ЧПУ контроллера Рампы / Sanguino / Gen6-7 с помощью кабеля USB, мы выберем соответствующий последовательный порт под Arduino инструментов IDE / последовательный порт, и мы будем выбирать тип контроллера под инструменты платы (Рампы (Arduino Mega 2560), Sanguinololu / Gen6 (Sanguino W / ATmega644P - Sanguino должен быть установлен внутри Arduino)).

Основное объяснение параметра, все параметры конфигурации находятся в configuration.h файла:

В среде Arduino мы откроем прошивку, у нас уже есть загруженный файл / Sketchbook / Marlin и мы увидим параметры конфигурации, перед тем, как загрузим прошивку на наш контроллер.

1) #define MOTHERBOARD 3, в соответствии с реальным оборудованием, мы используем (Рампы 1,3 или 1,4 = 33, Gen6 = 5, ...).

2) Термистор 7, RepRappro использует Honeywell 100k.

3) PID - это значение делает наш лазер более стабильным с точки зрения температуры.

4) Шаг на единицу, это очень важный момент для того, чтобы настроить любой контроллер (шаг 9)

Шаг 5: Принтер. Управление компьютером.

Управление принтером через компьютер.

Программное обеспечение: существуют различные, свободно доступные программы, которые позволяют нам взаимодействовать и управлять принтером (Pronterface, Repetier, ...) мы используем Repetier хост, который вы можете скачать с http://www.repetier.com/. Это простая установка и объединяет слои. Слайсер является частью программного обеспечения, которое генерирует последовательность разделов объекта, который мы хотим напечатать, связывает эти разделы со слоями и генерирует G-код для машины. Срезы можно настроить с помощью параметров, таких как: высота слоя, скорость печати, заполнения, и другие, которые имеют важное значение для качества печати.

Обычные конфигурации слайсера можно найти в следующих ссылках:

  • Skeinforge конфигурация: http://fabmetheus.crsndoo.com/wiki/index.php/Skeinforge
  • Конфигурация Slic3r: http://manual.slic3r.org/

В нашем случае мы имеем профиль configuret Skeinforge для принтера, которые можно интегрировать в принимающую пишущую головку программного обеспечения.

Шаг 6: Регулирование тока и интенсивность


Теперь мы готовы протестировать двигатели принтера. Подключите компьютер и контроллер машины с помощью кабеля USB (двигатели должны быть подключены к соответствующим гнездам). Запустите Repetier хостинг и активируйте связь между программным обеспечением и контроллером, выбрав соответствующий последовательный порт. Если соединение прошло успешно, вы сможете контролировать подключенные двигатели с использованием ручного управления справа.

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

Для этого мы будем подключать только один двигатель. Мы будем повторять эту операцию для каждой оси. Для этого нам понадобится мультиметр, прикрепленный последовательно между источником питания и контроллером. Мультиметр должен быть установлен в режиме усилителя (текущего) - смотри рисунок.

Затем мы подключим контроллер к компьютеру снова, включите его и измерьте ток при помощи мультиметра. Когда мы вручную активировали двигатель через интерфейс Repetier, ток должен возрасти на определенное количество миллиампер (которые являются текущими для активации шагового двигателя). Для каждой оси ток немного отличается, в зависимости от шага двигателя. Вам придется настроить небольшой потенциометр на управление шагового интервала и установить текущее ограничение для каждой оси в соответствии со следующими контрольными значениями:

Плата проводит ток около 80 мА

Мы подадим ток на 200 мА для Х и Y-оси степперы.

400 мА для Z-оси, это требуется из-за большей мощности, чтобы поднять пишущую головку.

400 мА для питания двигателя экструдера, поскольку он является мощным потребителем тока.

Шаг 7: Создание машины структуры

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

Лазерная настройка и примеры для программы Auto Cad: Скачать . .

Конструкция рамы дает возможность построить машину без клея: все части собраны с помощью механических соединений и винтов. Перед лазером вырезают части рамы, убедитесь, что двигатель хорошо закреплен в CD / DVD дисководе. Вам придется измерять и изменять отверстия в шаблоне САПР.

Шаг 8: Калибровка X, Y и оси Z

Хотя скачанная прошивка Marlin уже имеет стандартную калибровку для разрешения оси, вам придется пройти через этот шаг, если вы хотите точно настроить свой принтер. Здесь вам расскажут про микропрограммы которые позволяют задать шаг лазера вплоть до миллиметра, ваша машина на самом деле нуждается в этих точных настройках. Это значение зависит от шагов вашего двигателя и по размеру резьбы движущихся стержней ваших осей. Делая это, мы убедимся, что движение машины на самом деле соответствует расстояниям в G-кода.

Эти знания позволят вам построить CNC-машину самостоятельно в независимости от составных типов и размеров.

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

  • Радиуса шкива.
  • Шага на оборот нашего шагового двигателя.

Микро-шаговые параметры (в нашем случае 1/16, что означает, что за один такт сигнала, только 1/16 шага выполняется, давая более высокую точность в систему).

Мы устанавливаем это значение в прошивке (stepspermillimeter ).

Для оси Z:

Используя интерфейс Controller (Repetier) мы настраиваем ось Z, что позволяет двигаться на определенное расстояние и измерять реальное смещение.

В качестве примера, мы подадим команду, чтобы он двигался на 10 мм и измерим смещение 37.4 мм.

Существует N количество шагов, определенных в stepspermillimeter в прошивке (X = 80, Y = 80, Z = 2560, EXTR = 777,6).

N = N * 10 / 37,4

Новое значение должно быть 682,67.

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

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

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

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

Для калибровки, поток пластика должен соответствовать кусочку пластиковой нити и расстоянию (например 100 мм), положить кусочек ленты. Затем перейдите к Repetier Software и нажмите выдавливать 100 мм, реальное расстояние и повторить Шаг 9 (операцию).

Шаг 10: Печатаем первый объект


Теперь аппарат должен быть готов для первого теста. Наш экструдер использует пластиковую нить диаметром 1.75 мм, которую легче выдавливать и более она более гибкая, чем стандартная диаметром 3 мм. Мы будем использовать PLA пластик, который является био-пластиком и имеет некоторое преимущество по сравнению с ABS: он плавится при более низкой температуре, что делает печать более легкой.

Теперь, в Repetier, мы активируем нарезки профилей, которые доступны для резки Skeinforge. Скачать .

Мы печатаем на принтере небольшой куб калибровки (10x10x10 мм), он будет печатать очень быстро, и мы сможем обнаружить проблемы конфигурации и моторный шаг потери, путем проверки фактического размера печатного куба.

Так, для начала печати, открыть модель STL и нарезать его, используя стандартный профиль (или тот, который вы скачали) с резки Skeinforge: мы увидим представление нарезанного объекта и соответствующий G-код. Мы подогреваем экструдер, и когда он нагреется до температуры плавления пластика (190-210C в зависимости от пластической марки) выдавим немного материала (пресс выдавливания), чтобы увидеть, что все работает должным образом.

Мы устанавливаем начало координат относительно экструзионной головки (х = 0, у = 0, z = 0) в качестве разделителя используем бумагу, головка должна быть как можно ближе к бумаге, но не касалась ее. Это будет исходное положение для экструзионной головки. Оттуда мы можем начать печать.

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

Давайте приступим!

Шаг 1: Поиск будущей жертвы

Вы можете найти мертвые CD и DVD приводы в старых компьютерах , возможно один из таких «динозавров» стоит у вас дома. Но если у вас такого нет, не расстраивайтесь. Вы можете найти такой привод в ближайшей к вашему дому мастерской .

Шаг 2: Инструменты

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

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

Шаг 3: Начинаем операцию

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

Шаг 4: Удаление остальных металлических частей

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

Шаг 5: Удаление электрической платы

В своих проектах я не использую электрическую плату из приводов, смотрите на изображения как ее изъять.


Шаг 6: Лоток с мотором

На изображения показано, как можно снять лоток мотора .

Вам необходимы определенные знания при распайке и извлечении частей с платы.

  • Зеленый светодиод
  • Электромотор постоянного напряжения
  • Простая кнопка
  • Странная кнопка

Шаг 7: Механизм лотка

Здесь есть несколько шестеренок , которые вы можете использовать с мотором.

Шаг 8: Вещь, что не имеет имени

Даа… я не знаю, есть ли у этого предмета название. Давайте назовем это «механизм движения лазера».

Для меня, это настоящие сокровище внутри этих приводов, потому что я видел людей которые использовали их, для того чтобы сделать самодельный лазерный резак, гравер, 3D принтер и графопостроитель. (Прим. от sTs)

Шаг 9: Бесщеточный двигатель

Моторы, что используются для вращения CD или DVD являются бесщёточными, то есть вы не сможете запустить мотор, просто подсоединив два провода к батарее питания, поэтому вам необходим электрический контроллер скорости и возможно несколько модификаций.

Шаг 10: Шаговый двигатель

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

Шаговые двигатели в приводах биполярные и потому используются вместе с Н образными мостами. Я использую чип L239D, двойной мост Н для управление ими.

(Прим. от sTs) Так же, разобрав движек можно сделать необычные украшения с катушек. Например и .

Шаг 11: Лазер

У DVD/CD приводов есть два лазера, в то время как у CD приводов всего один. Лазер, что используется для записи, может быть достаточно сильным, что бы поджигать спички и другие вещи.

Не направляйте лазер в глаза! Не направляйте лазер налюдей и животных, это может привести к серьезным
повреждениям глаз или привести к ожогу кожи, это не весело!

Особенно спаяв пару стенок.

Теперь мы можем остановится. Я надеюсь вам понравилась эта статья. Экспериментируйте, творите новое и делитесь советами.

Всем спасибо за внимание.

Иногда перед пользователями ПК остро ставится вопрос, как создать виртуальный жесткий диск или CD-ROM. Изучим процедуру выполнения данных задач в Windows 7.

Методы создания виртуального диска, прежде всего, зависят от того, какой именно вариант вы желаете получить в итоге: образ жесткого носителя или CD/DVD. Как правило, файлы жесткого накопителя имеют расширение VHD, а для монтирования CD или DVD используются образы ISO. Для того чтобы осуществить данные операции, можно использовать встроенные инструменты Виндовс или же обратиться к помощи сторонних программ.

Способ 1: DAEMON Tools Ultra

Прежде всего, рассмотрим вариант создание виртуального жесткого диска при помощи сторонней программы для работы с накопителями — DAEMON Tools Ultra .

  1. Запустите приложение с правами администратора. Переходите во вкладку «Инструменты» .
  2. Открывается окно с перечнем доступных инструментов программы. Выбирайте пункт «Добавить VHD» .
  3. Открывается окно добавления VHD, то есть создания условного жесткого носителя. Прежде всего, нужно прописать директорию, где будет размещен данный объект. Для этого жмите по кнопке справа от поля «Сохранить как» .
  4. Открывается окошко сохранения. Войдите в нем в тот каталог, где хотите расположить виртуальный накопитель. В поле «Имя файла» можно сменить название объекта. По умолчанию это «NewVHD» . Далее жмите «Сохранить» .
  5. Как видите, выбранный путь теперь отображается в поле «Сохранить как» в оболочке программы DAEMON Tools Ultra. Теперь необходимо указать размер объекта. Для этого путем переключения радиокнопки установите один из двух типов:
    • Фиксированный размер ;
    • Динамическое расширение .

    В первом случае объем диска будет точно задан вами, а при выборе второго пункта по мере наполнения объект будет расширяться. Фактическим его пределом станет размер пустого места в том разделе HDD, где будет помещен файл VHD. Но даже при выборе такого варианта, все равно в поле «Размер» требуется установить начальный объем. Вписывается просто число, а единица измерения выбирается справа от поля в выпадающем списке. Имеются следующие единицы измерения:

    • мегабайты (по умолчанию);
    • гигабайты ;
    • терабайты .

    Внимательно отнеситесь к выбору нужного пункта, ведь при ошибке разница в размерах в сравнении с желаемым объемом будет на порядок больше или меньше. Далее при необходимости можно поменять наименование диска в поле «Метка» . Но это не обязательное условие. Произведя описанные действия, для запуска формирования файла VHD жмите «Старт» .

  6. Выполняется процесс формирования файла VHD. Его динамика отображается с помощью индикатора.
  7. После того как процедура окончится, в оболочке DAEMON Tools Ultra отобразится следующая надпись: «Процесс создания VHD успешно завершен!» . Жмите «Готово» .
  8. Таким образом, виртуальный жесткий накопитель при помощи программы DAEMON Tools Ultra создан.

Способ 2: Disk2vhd

Если DAEMON Tools Ultra является универсальным инструментом для работы с носителями, то Disk2vhd — это узкоспециализированная утилита, предназначенная только для создания файлов VHD и VHDX, то есть виртуальных жестких дисков. В отличие от предыдущего способа, применив данный вариант действий, нельзя сделать пустой виртуальный носитель, а только создать слепок уже существующего диска.


Способ 3: Инструменты Windows

Условный жесткий носитель можно сформировать и при помощи штатных инструментов системы.

  1. Жмите «Пуск» . Правой кнопкой мыши (ПКМ ) щелкайте по наименованию «Компьютер» . Открывается перечень, где выбирайте «Управление» .
  2. Появляется окошко управления системой. В левом его меню в блоке «Запоминающие устройства» переходите по позиции «Управление дисками» .
  3. Запускается оболочка инструмента управления накопителями. Щелкаете по позиции «Действие» и выберите вариант «Создать виртуальный жесткий диск» .
  4. Открывается окошко создания, где следует указать, в какой директории разместится диск. Жмите «Обзор» .
  5. Открывается окно просмотра объектов. Переместитесь в ту директорию, где планируете размещать файл накопителя в формате VHD. Желательно, чтобы этот каталог располагался не на том разделе HDD, на котором установлена система. Обязательным условием является то, чтобы раздел не был сжат, иначе выполнить операцию не получится. В поле «Имя файла» обязательно укажите наименование, под которым вы будете идентифицировать данный элемент. Затем жмите «Сохранить» .
  6. Происходит возврат в окно создания виртуального диска. В поле «Расположение» мы видим путь к выбранной на предыдущем шаге директории. Далее необходимо назначить размер объекта. Выполняется это практически так же, как и в программе DAEMON Tools Ultra. Прежде всего, выберите один из форматов:
    • Фиксированный размер (установлено по умолчанию);
    • Динамическое расширение .

    Значения данных форматов соответствуют значениям типов дисков, которые мы ранее рассматривали в DAEMON Tools.

    • мегабайты (по умолчанию);
    • гигабайты ;
    • терабайты .

    После выполнения указанных манипуляций жмите «OK» .

  7. Вернувшись в основное окно управления разделами, в его нижней области можно наблюдать, что теперь появился нераспределенный накопитель. Жмите ПКМ по его наименованию. Типовой шаблон этого наименования «Диск №» . В появившемся меню выберите вариант «Инициализировать диск» .
  8. Открывается окошко инициализации дисков. Тут просто следует нажать «OK» .
  9. После этого в списке у нашего элемента отобразится статус «В сети» . Щелкайте ПКМ по пустому месту в блоке «Не распределен» . Выбирайте «Создать простой том…» .
  10. Запускается приветственное окошко «Мастера создания тома» . Жмите «Далее» .
  11. В следующем окошке указывается размер тома. Он автоматически вычисляется из тех данных, которые мы заложили при создании виртуального диска. Так что тут ничего изменять не нужно, просто жмите «Далее» .
  12. А вот в следующем окне нужно из выпадающего списка выбрать букву названия тома. Важно, чтобы на компьютере тома, имеющего такое же обозначение, не было. После того, как буква выбрана, жмите «Далее» .
  13. В следующем окне вносить изменения не обязательно. Но в поле «Метка тома» вы можете заменить стандартное наименование «Новый том» на любое другое, например «Виртуальный диск» . После этого в «Проводнике» данный элемент будет выступать под названием «Виртуальный диск K» или с другой буквой, которую вы выбрали на предыдущем шаге. Жмите «Далее» .
  14. Затем откроется окошко с теми суммарными данными, которые вы ввели в поля «Мастера» . Если вы желаете что-то изменить, то жмите «Назад» и проводите изменения. Если же вас все устраивает, то тогда щелкайте «Готово» .
  15. После этого созданный виртуальный накопитель отобразится в окне управления компьютером.
  16. В него перейти можно при помощи «Проводника» в разделе «Компьютер» , где находится список всех дисков, подсоединенных к ПК.
  17. Но на некоторых компьютерных устройствах после перезагрузки в указанном разделе данный виртуальный диск может не отобразится. Тогда запускайте инструмент «Управление компьютером» и снова переходите в отдел «Управление дисками» . Щелкайте в меню «Действие» и выбирайте позицию .
  18. Запускается окошко присоединения накопителя. Щелкайте «Обзор…» .
  19. Появляется инструмент просмотра файлов. Перейдите в ту директорию, где вы ранее сохранили объект VHD. Выделите его и жмите «Открыть» .
  20. Путь к выбранному объекту отобразится в поле «Расположение» окна «Присоединить виртуальный жесткий диск» . Щелкайте «OK» .
  21. Выбранный диск будет снова доступен. К сожалению, на некоторых компьютерах приходится проделывать данную операцию после каждого перезапуска.

Способ 4: UltraISO

Иногда требуется создать не жесткий виртуальный диск, а виртуальный CD-привод и запустить в нем файл образа ISO. В отличие от предыдущей, эту задачу нельзя выполнить исключительно с помощью инструментов операционной системы. Для её решения требуется использовать стороннее ПО, например, UltraISO .


Мы разобрались, что виртуальные диски могут быть двух типов: жесткие (VHD) и образы CD/DVD (ISO). Если первую категорию объектов можно создать как при помощи стороннего ПО, так и воспользовавшись внутренним инструментарием Windows, то с задачей монтирования ISO можно справиться только путем использования сторонних программных продуктов.

В продолжение темы:
Apple

Информация о марке, модели и альтернативных названиях конкретного устройства, если таковые имеются. ДизайнИнформация о размерах и весе устройства, представленная в разных...

Новые статьи
/
Популярные