Cum sa faci propriul dvs. boot-abil cd-rom

În ciuda faptului că multe companii mari sunt crearea de opțiunile pentru înlocuirea 3.5 „dischetă, un floppy încă își găsește locul în marea majoritate a PC-uri, în ciuda vitezei reduse și cu volum mic (numai fișierele de pornire Windows 98 ocupă 25% din floppy disk!). Astăzi, în epoca rețelelor și a internetului, dischete, ca un purtător de informații utilizate mai puțin. Una dintre utilizările lor principale se încarcă sistemul de operare PC-ul în cazul unei noi instalații de acționare, testarea și setarea specifice echipamentelor, verificarea virușilor, recuperarea datelor de la corupt Ei bine Hard Disk.







Din păcate, chiar și pentru cele mai simple dintre aceste sarcini de volum dischetă extrem lipsește (de exemplu, baze de date anti-virus a trecut mult timp marca de 1,44). Volumul programelor și distribuției de testare, de asemenea, nu doresc să se diminueze. Desigur, puteți utiliza tipul de stocare Iomega ZIP, LS-120, cu toate acestea, este mult mai frecvent dispozitiv este un CD-ROM. Și din fericire, există deja trei ani, standardul prin care la acest aparat, puteți descărca PC-ul.

După cum sa dovedit, de cele mai multe informații despre CD-ul boot-abil pe Internet nu este complet și rigoare diferite. Asa ca m-am decis să înțeleagă standardele și să încerce să facă unele unitate interesante. Cu atât mai mult cu CD-RW este suficient de sigur :).

Pornire rapidă

Ce veți avea nevoie de:
  • Dispozitiv CD-R / RW. Este foarte de dorit să se folosească la etapa inițială de CD-RW, acesta va face mai ușor pentru a corecta orice erori. Cu toate acestea, pentru crearea finală a CDR este de preferat, deoarece acestea sunt predate într-un număr tot mai mare de unități
  • disc gol pentru el
  • Programul Adaptec Easy CD Creator (este posibil și CDRWIN, WinOnCD, Nero, etc.)
  • disc de încărcare a sistemului de operare (de preferință, cu un driver pentru unitatea CD-ROM)
  • PC-ul, care poate porni de pe un CD-ROM, pentru a testa :)

Deci, va lucra așa:

Pentru dispozitivele ATAPI stabilite în ordinea de boot BIOS, începând cu CD-ROM-ul. Dacă doriți să porniți de pe CD-ROM SCSI, SCSI BIOS-ul pentru a seta opțiunea "Boot de pe CD-ROM-ul" la "Enable" (ca în BIOS Setup veni în mod necesar mai întâi "A", cum ar fi "A, C"). Timpul de PC-uri de boot, unul dintre cele menționate se vor afișa BIOS-uri un semn, că el a găsit în dispozitivul CD-ul de boot și este instalat ca unitate de A. Aceasta începe procesul de descărcare cu acest aparat. Dacă unitatea este instalată pe mașină, acesta va fi ascuns în spatele literei B. drive-urile numele lor nu se schimba rămase.

La înregistrarea pe CD-ROM și alte fișiere în afară imaginea unui floppy disk, accesul la acestea este posibilă numai după încărcarea driverului corect și MSCDEX.EXE. Astfel, puteți porni de pe CD-ul pentru a accesa toate capacitatea de stocare 640MB.

Pentru a obține acest efect:
  1. deschideți Adaptec Easy CD Creator (ECDC)
  2. a crea un disc de bază cu fișierele necesare (lăsa un minim de 1,44 pentru a plasa imaginea de disc)
  3. Opțiunile din CD Layout Properties - ISO9660, Modul 1: CD-ROM, a pus marca „bootabil“
  4. după ce faceți clic pe OK, programul vă solicită să introduceți unitatea de disc în discheta sistem pregătit, pentru a citi din imaginea ei
  5. după ce a citit vedem că în lista de fișiere înregistrate vor fi două - BOOTCAT.BIN și BOOTIMG.BIN. Prima este așa-numitul catalog de imagini de boot, iar al doilea - octet-copie a discului nostru floppy, prin care, la momentul descărcării va fi imitat în unitatea A:
  6. final atingere - înregistrarea pe CD. În modul TAO, discul nu se poate închide

Unele observații cu privire la planul. Postul 3 - de fapt, puteți crea un CD bootabil cu Joilet, doar ECDC nu pune o căpușă în acest caz, la „bootabil“. Dar alegerea „Mode 1“ este probabil necesară. Postul 4 - înainte de a utiliza floppy de dorit să se stabilească eficiența: încercați să-l protejeze de înregistrarea de încărcare, și din acestea. Este important să rețineți că accesul la fișiere comune pe CD-ROM (fără fișiere de pe o dischetă), trebuie să rulați CDROM-ul șoferului și MSCDEX. Desigur, acestea trebuie să fie utilizate pe o dischetă în CONFIG.SYS / AUTOEXEC.BAT totul ar trebui să fie precizate. Un exemplu bun în acest sens poate servi ca o dischetă de disc de pornire Windows 98. Acesta are un CD cu drivere-ROM pentru mai multe controlere, care permite utilizarea de CD-ROM și dispozitive ATAPI, și multe SCSI. Ați putea fi capabil de a corecta discheta pentru nevoile specifice. Am făcut acest lucru:

În ciuda simplității sale, chiar și în acest exemplu de realizare, există capcane: este conceput pentru a prezenta doar un singur PC unitate CD-ROM (cu care și încărcare). În caz contrar, este posibil ca, după pornirea de pe dischetă, nu poate avea acces la restul conținutului CD-ului de la driverele de conflict.

Pentru a verifica toate detaliile, asigurați-vă că pentru a verifica înainte de a scrie abilitatea de a porni un PC cu o dischetă pregătită, conexiunea corectă driverul CD-ROM. În general, cel mai bine este de a lăsa un singur conducător auto CONFIG.SYS (care, desigur, reduce flexibilitatea), sau de a face din meniul pentru a selecta la pornire. Într-un vârf de cuțit, puteți apăsa F8 și includ modul pas de încărcare, apoi selectați doar driver-ul.

Vă rugăm să rețineți că este recomandat să nu utilizeze instrucțiunile explicite de moduri, cum ar fi dispozitivul = himem.sys în locul dispozitivului = a: \ himem.sys.

Deci, dacă după ce a făcut PC-ul să pornească de pe disc a făcut, prima etapă este de peste. În continuare ne uităm la esența procesului de boot de pe CD-ROM-ul și să descrie modul de a rezolva problemele cu acces la întregul volum disc fără drivere.

Cum funcționează de fapt

Când această emulație implică difuzare și 4-byte 512 sectoare octet 2048 în CD.







Pentru a studia structura CD-ROM-ul folosind imaginea ISO - (. Despre programele sale utilizate pentru producție, a se vedea la sfârșitul acestui articol) o copie sectorială a discului.

Sector 16 - PVD, nu avem nevoie să se schimbe. începutul ei este următoarea (aspect imagine de disc diskeditom):

Rețineți că diferența 0x8000 corespunde la 16 * 2048.

Sector 17 - Boot Volumul Descriptorul va avea următoarea formă:

Structura sa detaliu:

Boot Record Indicator 0

ISO-9660 ID-ul, trebuie să fie "CD001"

O versiune a acestui descriptor trebuie să fie 1

Boot System ID, trebuie să fie "EL Torito SPECIFICAȚII" sub 0

nu este folosit, ar trebui să fie 0

nu este folosit, ar trebui să fie 0

Sectorul următor este un indicator la sfârșitul tabelului descriptor. Nu știu sigur, aveți nevoie de ea sau nu, dar pentru că totul funcționează și drive-uri care au scris ECDC avea cu el.

Următorul sector interesant este Bootarea de fapt catalog. În exemplul meu, este situat în sectorul 0x1D (0x1D * 2048 = 0xE800):

Se compune din două intrări de 32 de octeți. Primul este Intrare de validare:

În cazul imaginilor de boot multiple după înregistrare poate fi urmată de altele, dar această opțiune nu va fi luate în considerare.

Boot Tip media

Acest octet determină purtător care va fi emulat. În acest scop, biții 0-3 (restul trebuie să fie 0): 0 - no emulație 1 - 1.2MB discheta, 2 - 1,44 dischetă, 3 - 2.88Mb floppy disk, 4 - hard disk.

Acest octet trebuie să se potrivească cu sistemul de tip octet în tabela de partiții a imaginii de boot. De exemplu DOS-12 - 0x01, DOS-16 - 0x04, BIGDOS - 0x06 (> 32Mb). Pentru floppy ECDC stabilește la 0, cu atât mai probabil el are dreptate.

Acest câmp specifică numărul de sectoare (emulat - pe 512 bytes pe sector), care sunt considerate în segmentul menționat la pornire. În cazul nostru, un singur sector.

Apoi, aveți nevoie pentru a pregăti o imagine de boot.

imagine floppy

Ei bine, nu e nimic complicat acolo. Orice program (același exemplu diskedit) citește toate sectoarele de dischetă într-un fișier. Există în mod constant Boot Record, FAT1, FAT2, directorul rădăcină, fișierele reale. Despre formatul de dischetă (1,2, 1,44.) A spus în Catalogul Bootare și în imaginea de boot record.

imagine de pe hard disk

Dar acest lucru a avut multe probleme. referințe tulburat ISO, fantoma, diskedit, în pregătirea acestei imagini. Desigur, mai presus de toate, dacă luați mai mult pe disc 640MB, creați o partiție de pe ea, a pus sistemul, etc. și, probabil, ar putea folosi un astfel de diskedit de disc pentru a face o imagine, dar în cazul în care pentru a obține o astfel de unitate de mic astăzi și unde să-l conectați?

Structura unui astfel de hard disk simplu arata ca acest lucru:
  • Primul sector - MBR = codul de boot + tabelă de partiții
  • Primul sector al doilea partid - BootRecord prima secțiune
  • Apoi, du-te ca într-o dischetă două copii ale FAT, date directorul rădăcină.

De fapt, acesta poate fi recunoscut de către tabela de partiții. Dacă presupunem că secțiunea de capăt intră în mod necesar pe ultimul sector al ultimei parte a unui cilindru, datele din MBR-ul ne va ajuta să cunoască numărul de sectoare pe pistă și părțile în cilindru! De exemplu (folosiți din nou diskedit):

Tabelul arată că ultimul sector al fiecărei partiție este numărul sectorului 63, că, având în vedere sectorul de numerotare 1 ne oferă cele 63 de sectoare pe pistă. În mod similar obținem cifra 255 (numerotate de la 0!) Pentru numărul de laturi.

Apropo, atunci puteți vedea cum pentru a rezolva problema limita de 8 GB - domeniu în ceea ce privește numărul de sectoare sunt utilizate în loc de start / sfârșitul secțiunii și numărul de sectoare din partiție, care au un cuvânt dublu.

Deci, aceasta va conduce mai multe experimente (număr de cilindri, în acest caz, nu contează, discul 270 funcționează în LBA):

După cum puteți vedea, toate aceste trucuri au ca scop eșecul de a marca numărul de cilindri este 1024. Acest lucru se datorează faptului că MBR, BIOS-ul și multe altele, sunt proiectate pentru numărul cilindrului de stocare în 10 biți. Și granița este doar 8 GB este de 1024 * 255 * 63 sectoare. Sau puteți găsi granița unui alt - doar 3 bytes pe modul numeric LBA sector.

Formal, BIOS-ul să se pornească toți ar trebui să cred, dar se pare că nu se întâmplă întotdeauna. Multe testeri au observat că există o anumită regularitate în faptul cu o unitate - IDE sau SCSI imagine și pe ceea ce CD-ROM-ul pentru boot.

Cu toate acestea, singura cerință este menționată în standard, este utilizarea unei singure și numai prima înregistrare în tabelul de partiții. Din fericire, acest lucru este ușor de realizat.

Bazat pe toate acestea au fost inventat și testat următoarea metodă pentru producerea unei imagini pe hard disk:
  1. Crearea unui profil de mărimea necesară a hard disk.
  2. Formatați (FAT12 / 16), ceea ce face sistemul (puteți doar formatul / s, dar puteți apoi sys).
  3. Noi folosim programul (getimg.zip), care în conformitate cu informațiile din unitatea specificată BootRecord recreează MBR-ul și citiți toate informațiile într-un fișier special în scris.

Nu uitați să pregătească spațiul necesar pe o altă unitate sau partiție.

Desigur, această metodă are un dezavantaj - pentru a favoriza crearea de CD-ROM-ul va avea nevoie de aceeași cantitate de spațiu pentru imaginea ISO CD-ul, dar sperăm că astăzi găsi un spațiu pe disc 3 * 640MB destul de ușor, mai ales în prezența unui PC CDR :).

În ceea ce privește geometria hard disk, atunci aici sunt rezultatele experimentelor efectuate prin încărcarea PC-ul cu diferite imagini:

H S 32 63, DOS-16

H 255 S 63, Windows 98

H S 64 32, Windows 98 (unitate Zip)

(1), în acest test după încărcarea corespunzătoare vizibile numai secțiunea D: hard disk (era C :). Cel mai probabil acest lucru se datorează punerea în aplicare a SCSI BIOS, deoarece el intercepteaza Int 13 și nu-l folosește destul de transparent.

(2) partiție în mod natural de hard disk din FAT32 PC-ul nu este vizibil, deoarece DOS sistem 6,22

Astfel, nu a fost observat nici o problema cu incompatibilitatea geometria discului simulate, și se poate spune că de atribuire 4.51 BIOS-ul și un pic mai rău Adaptec SCSI 7880 BIOS-ul 1.32 face față cu identificarea imaginii de disc.

Bootarea de emulare pe hard disk

Acum vom descrie modul în care acest lucru poate fi făcut pentru varianta cu un hard disk.

Principiul general este aceasta: utilizați programul de formare ECDC pentru imaginea de disc ISO. Apoi, un pic de drepturile sale diskeditom și scrie pe CD.

Singurul lucru pe care eu nu fac destul de pur a decis să adauge la descrierea volumului structurii necesare Boot Volum descriptorul. Problema este că ar trebui să fie localizat în sectorul 17. Și într-o manieră pregătită nu poate fi altceva. Am făcut acest lucru (prețul Joilet, deși astfel încât nici un GUI nu funcționează) pentru imaginea indicată în tipul Joilet de sistem de fișiere, acest lucru a dus la ceea ce a apărut în sectorul 17 Joilet ocupa volumul, apoi pur și simplu la înlocuit cu un Descriptor Boot Volum. Și în sectorul 18 - așa cum este necesar să finisare Volum Descriptor.

Bootarea de catalog și disc de încărcare poate fi localizată oriunde, așa că vom adăuga fișiere (de preferință, în primul rând, astfel încât să nu caute o lungă perioadă de timp). Pentru a lua doar primul fișier de 2048, cu un conținut de neuitat (de exemplu, umplut cu „BC **“ linie). Al doilea este o imagine de disc. Sună-l image.bin.

După crearea unei imagini (File -> Creare imagine CD, scris ca .ISO), determinăm în ce sector ECDC a înregistrat bootcat.bin și image.bin noastre. Pentru a face acest lucru, deschideți fișierul în diskedit și căutați „BC **“. Se va bootcat.bin. Cel mai probabil el este de a sectorului 0x1D, compensat în fișierul 0xE800 în spatele lui (0xF000) vezi imaginea noastră MBR-ul pe hard disk. O altă opțiune pentru a găsi locația acestor fișiere bazate pe directorul ISO caută numele în imaginea ISO și să ia un cuvânt dublu de 31 de octeți înainte de numele:

Acum, creați Bootare Catalog (sectorul 0x1D):

Încă o dată, totul este verificat, înregistrează imaginea retușate pe un CD: deschide ECDC, File -> Creare CD de imagine de disc.

Asta e tot ce am putut găsi, și să verifice în această privință.

utilizat:

Program:
  1. Adaptec Easy CD Creator
  2. DISKEDIT Symantec
  3. Aur Hawk CDRWIN
  4. Gilles Vollant WinImage
Echipament:
  1. MB Chaintech 6BTS (cu AHA7880), PREMIUL BIOS 4,51
  2. ASUS SD-S400 (ATAPI CD-ROM)
  3. Yamaha CRW6416S (SCSI CD-ROM / CD-RW)