Как да направите своя собствена стартиращ CD-ROM

Въпреки факта, че много големи компании са създаването на възможностите си за замяна на "дискета 3.5, флопи все още намира своето място в по-голямата част от персонални компютри, въпреки ниската скорост и малък обем (само за стартиране на файлове на Windows 98 заемат 25% от дискетата!). Днес, в ерата на мрежите и интернет, дискети, като носител на информация се използва по-малко. един от основните им цели се зарежда OS PC, в случай на нови инсталации с кола, тестване и определяне на специфични съоръжения, проверка за вируси, възстановяване на данни от повредени е Твърд диск.







За съжаление, дори и за най-простите от тях обем задачи дискета крайно липсва (например, анти-вирусната база данни отдавна пресече маркировката на 1.44). Обемът на тестови програми и дистрибуция също не искам да намалее. Разбира се можете да използвате тип съхранение Iomega ZIP, LS-120, обаче, е много по-често устройство е CD-ROM. И за щастие вече има три години стандартът, по който към това устройство, можете да изтеглите на компютъра.

Както се оказа, повечето от информацията за диск за първоначално зареждане в интернет е по-различно пълнота и строгост. Така че аз реших да се разбере на стандартите и да се опитаме да направим някои интересни диск. Още повече, че с CD-RW е безопасно достатъчно :).

Бърз старт

Какво ще ви трябва:
  • CD-R / RW устройство. Много е желателно да се използва в началния етап на CD-RW, това ще направи по-лесно да се коригират евентуални грешки. Въпреки това, за окончателното създаване на ДРК е за предпочитане, тъй като те се обучават в увеличаване на броя на дискове
  • празен диск за него
  • програма Adaptec Easy CD Creator (възможно е и CDRWIN, WinOnCD, Nero, и т.н.)
  • диск за зареждане на вашата операционна система (за предпочитане с шофьор за вашия CD-ROM диск)
  • Компютър, който може да се стартира от CD-ROM, за да тествате :)

Така че тя ще работи по следния начин:

За ATAPI устройства, определени в заповедта на BIOS обувка, като се започне от CD-ROM. Ако искате да се стартира от CD-ROM на ДКСИ, на SCSI BIOS за задаване на опцията "стартира от CD-ROM" на "Enable" (както в настройката за BIOS е задължително да са на първо "А", като "A, C"). Времето за PC обувка, един от споменатите BIOS-и ще се показва знак, че е намерил в стартиращ CD на устройството и се инсталира като кола А. Това започва процеса на изтегляне с това устройство. Ако устройството е инсталиран на машината, той ще бъде скрит зад буквата Б. Останалите дискове имената им не се променят.

При запис на CD-ROM и някои други файлове освен образа на дискета, достъпът до тях е възможен само след зареждане на правилния драйвер и MSCDEX.EXE. По този начин, можете да стартирате от CD за достъп до всичките капацитет за съхранение 640MB.

За да се постигне този ефект:
  1. отворите Adaptec Easy CD Creator (ECDC)
  2. създаване на основен диск с необходимите файлове (оставете минимум 1,44 за да поставите изображението на диска)
  3. Опции в CD Layout имоти - ISO9660, Режим 1: CDROM, поставят знак "стартиращ"
  4. след като кликнете върху ОК, програмата ще ви подкани да поставите на дисковото устройство в подготвената система дискетата, да се чете от образа й
  5. след като е прочел ние виждаме, че в списъка на записаните файлове ще бъдат две - BOOTCAT.BIN и BOOTIMG.BIN. Първият от тях е т.нар каталога на зареждане на изображения, а вторият - байт-копие на нашия дискета, с помощта на които в момента на изтеглянето ще бъде пример за подражание диск A:
  6. последен щрих - запис на CD. В режим TAO, дискът не може да се затвори

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

Въпреки своята простота, дори в това изпълнение, има клопки: тя е предназначена за наличието на само един компютър CD-ROM диск (с когото и натоварване). В противен случай е възможно, че след зареждане от дискета, не можете да получите достъп до останалата част от съдържанието на диска, от водачите на конфликта.

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

Моля, имайте предвид, че не се препоръчва да се използва изричните указания на начини, като например устройство = himem.sys вместо на устройството = а: \ himem.sys.

Така че, ако след това направих на компютъра да зареди от диска прави, първият етап е приключила. Следваща се вгледаме в същността на процеса на зареждане от компактдиска и описва начина за решаване на проблемите с достъпа до целия обем на диска без шофьори.

Как всъщност работи

Когато тази емулация включва излъчване и 4-байт 512 байта сектори 2048 в CD.







За да се изследва структурата на CD-ROM, използвайки своята ISO образ - (. За използвани за производство на своите програми, вижте в края на тази статия) секторен копие на диска.

Сектор 16 - PVD, ние не трябва да се промени. Нейното начало е както следва (вид изображение diskeditom диск):

Имайте предвид, че компенсира 0x8000 съответства на 16 * 2048.

Сектор 17 - Boot Volume дескриптори трябва да има следния вид:

Неговата структура подробности:

Индикатор за Boot Record 0

ISO-9660 ID, трябва да бъде "CD001"

А версия на тази ЕВРОВОК трябва да е 1

Стартиране на системата ID, трябва да бъде "EL Torito спецификация" под 0

не се използва, трябва да е 0

не се използва, трябва да е 0

На следващия сектор е индикатор края на масата за ЕВРОВОК. Аз не знам със сигурност, имате нужда от него или не, но със сигурност всичко работи и дискове, които пишат ECDC го има с него.

Следващият интересен сектор всъщност Стартирането каталог. В моя пример, той се намира в сектор 0x1D (0x1D * 2048 = 0xE800):

Тя се състои от два записа на 32 байта. Първият е Validation запис:

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

Boot Media Type

Този байт определя кой превозвач ще бъдат пример за подражание. За тази цел, битове 0-3 (остатъка трябва да бъде 0): 0 - няма емулация 1 - 1.2MB дискета, 2 - 1.44MB дискета, 3 - 2.88Mb дискета, 4 - твърд диск.

Този байт трябва да съответства на системата за байт тип в таблицата на дяловете на изображението на обувка. Например DOS-12 - 0x01, DOS-16 - 0x04, BIGDOS - 0x06 (> 32Mb). За флопи ECDC тя определя до 0, толкова по-вероятно е прав.

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

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

флопи изображение

Е, няма нищо сложно там. Всяка програма (същият diskedit примера) чете всички сектори на дискета във файл. Има постоянно Boot Record, мазнина1, FAT2, главната директория, самите файлове. За флопи формат (1.2, 1.44.) Се казва в зареждане каталог и по образа му в регистъра на Boot.

образ на диск Hard

Но това имаше много проблеми. Много трудни препратки ISO, призрак, diskedit, при подготовката на този образ. Разбира се, най-вече, ако ви отнеме не повече от 640MB диск, създаване на един дял на нея, постави на системата и т.н. и най-вероятно биха могли да използват като diskedit диск за извършване на дадено изображение, но къде да намерят такава малка кола днес и къде да го включите?

Структурата на такъв прост твърд диск изглежда така:
  • Първият сектор - MBR = код за зареждане + таблицата на дяловете
  • Първият сектор на втората страна - BootRecord първа част
  • След това отидете като в дискета две копия на FAT, данни главната директория.

В действителност, тя може да бъде разпознат от таблицата на дяловете. Ако приемем, че крайната част задължително попада в последния сектор на последната част на цилиндър, данните от MBR ще ни помогнат да знаете броя на секторите на пистата и страните в цилиндъра! Например (отново използва diskedit):

От таблицата се вижда, че последният сектор на всеки дял е номерът на сектор 63, че с оглед на сектора номерация 1 ни дава 63-те сектора на пистата. По подобен начин се получава фигура 255 (номерирани от 0!) За брой страни.

Между другото, след това можете да видите как да се реши проблема 8GB граница - поле по отношение на броя на секторите се използва вместо старт / края на секцията и броя на секторите в този дял, които са с двойно дума.

Така че, това ще доведе няколко експеримента (брой на цилиндрите в този случай няма значение; диска 270 върши работа в LBA):

Както можете да видите, всички тези трикове са насочени към провал за отбелязване на броя на цилиндрите е 1024. Това се дължи на факта, че MBR, BIOS и много други, са предназначени за номера на резервоара в 10 бита. И границата е само 8GB е 1024 * 255 * 63-сектори. Или можете да намерите границата на друга - само 3 байта в режим брой LBA сектор.

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

Въпреки това, като единственото изискване е споменат в стандарта, е използването на само един, и то само първия запис в таблицата на дяловете. За щастие това е лесно да се постигне.

Въз основа на всичко това е изобретен и тествани следния метод за получаване на изображение на твърдия диск:
  1. Създайте нов профил на необходимия размер на твърдия диск.
  2. Форматирайте (FAT12 / 16), което прави системата (може просто формат / и, но след това можете да сис).
  3. Ние използваме специално написана програма (getimg.zip), който според информацията в определен диск BootRecord пресъздава MBR и прочетете цялата информация в един файл.

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

Разбира се този метод има недостатък - за по-нататъшно създаване на CD-ROM ще трябва същото количество пространство за CD изображение ISO, но се надяваме, че днес се намери 3 * 640MB дисково пространство е достатъчно лесно, особено при наличието на компютър CDR :).

Що се отнася до геометрията на твърдия диск, а след това тук са резултатите от проведените експерименти чрез зареждане на компютъра с различни изображения:

Н S 32 63, DOS-16

Н 255 S 63, Windows 98

Н S 64 32, Windows 98 (Zip диск)

(1) в този тест след зареждане правилно вижда само раздел D: твърд диск (това е C :). Най-вероятно това се дължи на прилагането на SCSI BIOS, защото той прихваща Int 13 и не съвсем прозрачно я използва.

(2) дял естествено с твърд диск от FAT32 PC не се вижда, защото DOS 6.22 система

По този начин, не се наблюдават никакви проблеми с несъвместимост на геометрията на симулирана диск, и това може да се каже, че възлагането 4.51 BIOS и малко по-лошо Adaptec 7880 SCSI BIOS 1.32 справят с идентификационен дисково изображение.

Зареждане от твърдия диск емулация

Сега ние описваме как това може да се направи за вариант с твърд диск.

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

Единственото нещо, което аз не съвсем чисто реши да добави към описанието на обема на структурата изисква Boot Volume дескриптор. Проблемът е, че тя трябва да се намира в сектор 17. И в готов вид може да има нещо друго. Направих го, (цена Joilet, въпреки че така не GUI не работи) за изображението е посочено в Joilet тип файлова система, това е довело до това, което се появява в сектор 17 Joilet се справят с обема, а след това просто да го замени с описател Boot Volume. И в този сектор 18 - тъй като е необходимо да се завърши том дескриптори.

Стартирането каталог и стартиращ диск може да се намира навсякъде, така че ние просто ще добавите файловете (за предпочитане на първо място, така че да не изглежда за дълго време). За да се вземе само първия файл 2048 със запомняща съдържание (например, пълна с "BC **" линия). Вторият е образ на диска. Наречете го image.bin.

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

Сега създайте зареждане каталог (сектор 0x1D):

За пореден път, всичко се проверява, запишете ретуширани образ на компактдиск: отваряне на ECDC, File -> Създаване на CD от Disk изображение.

Това е всичко, което може да се намери, както и проверка по въпроса.

използва:

програма:
  1. Adaptec Easy CD Creator
  2. Symantec DISKEDIT
  3. Golden Hawk CDRWIN
  4. Жил 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)