Bukas
Isara

Paano mabawi ang boot sector at boot record

Hindi mahalaga kung gaano ka advanced ang operating system, imposibleng i-boot ito nang walang dalawang sektor sa hard drive na naglalaman ng code na kinakailangan upang patakbuhin ang anumang operating system. Ang unang sektor ay tinatawag na Master Boot Record (MBR); ito ay palaging matatagpuan sa address: sektor 1/silindro 0/head1 at ito ang pinakaunang sektor ng hard drive. Ang pangalawang pinakamahalagang sektor ay ang Boot Sector, na matatagpuan sa unang sektor ng bawat volume.

Master boot record

Ang Master Boot Record ay ang pinakamahalagang istraktura ng disk; ang sektor na ito ay nilikha kapag ang isang disk ay nahati. Ang sektor ng MBR ay naglalaman ng isang maliit na code na tinatawag na Master Boot Code, pati na rin ang disk signature at partition table. Sa dulo ng sektor ng MBR ay may dalawang-byte na istraktura na nagpapahiwatig ng pagtatapos ng sektor. Ito ay may halaga na 0x55AA. Ang isang disk signature ay isang natatanging numero na matatagpuan sa offset 0x01B8 at nagbibigay-daan sa operating system na natatanging makilala ang disk na ito.

Ang code na matatagpuan sa sektor ng MBR ay gumagawa ng sumusunod:

  • naghahanap ng aktibong partisyon sa partition table;
  • paghahanap para sa panimulang sektor ng aktibong partisyon;
  • naglo-load ng isang kopya ng sektor ng boot mula sa aktibong partisyon sa memorya;
  • naglilipat ng kontrol sa executable code mula sa boot sector.

Kung hindi makumpleto ang mga function na ito para sa ilang kadahilanan, ibibigay ang isa sa mga sumusunod na mensahe ng error sa system:

  • Di-wastong talahanayan ng partisyon;
  • Nawawalang operating system.

Tandaan na walang konsepto ng MBR para sa mga floppy disk. Ang sektor ng boot ay ang unang sektor sa disk. Tandaan din na ang bawat hard drive ay naglalaman ng isang MBR sector, ngunit ang boot code ay ginagamit lamang sa mga drive na may aktibong primary partition.

talahanayan ng partisyon

Ang partition table ay isang 64-byte na istraktura na ginagamit upang matukoy ang uri at lokasyon ng mga partisyon sa isang hard drive. Ang mga nilalaman ng istrukturang ito ay pinag-isa at independiyente sa operating system. Ang impormasyon tungkol sa bawat partition ay tumatagal ng 16 bytes - kaya, hindi hihigit sa apat na partisyon sa disk.

Ang impormasyon tungkol sa bawat partition ay nagsisimula sa isang tiyak na offset mula sa simula ng sektor, tulad ng ipinapakita sa talahanayan. 1 .

Tandaan na ang mga volume lang na may field ng System ID na 0x01, 0x04, 0x05 o 0x06 ang maa-access sa ilalim ng MS-DOS. Ngunit ang mga volume na may ibang System ID para sa field na ito ay maaaring tanggalin gamit ang FDISK utility.

Cylinder, Head at Sector field

Ang Starting Cylinder, Ending Cylinder, Starting Head, Ending Head, Starting Sector at Ending Sector (karaniwang kilala bilang CHS) ay mga karagdagang elemento ng partition table. Ginagamit ng boot code ang mga halaga ng mga field na ito upang mahanap ang boot sector at paganahin ito. Ang Starting CHS na mga patlang ng mga hindi aktibong partisyon ay tumuturo sa mga sektor ng boot ng mga pangunahing partisyon at ang pinalawig na sektor ng boot ng unang lohikal na drive sa pinalawig na partisyon.

Hindi mahalaga kung gaano ka advanced ang operating system, imposibleng i-boot ito nang walang dalawang sektor sa hard drive na naglalaman ng code na kinakailangan upang patakbuhin ang anumang operating system. Ang unang sektor ay tinatawag na Master Boot Record (MBR); ito ay palaging matatagpuan sa address: sektor 1/silindro 0/head1 at ito ang pinakaunang sektor ng hard drive. Ang pangalawang pinakamahalagang sektor ay ang Boot Sector, na matatagpuan sa unang sektor ng bawat volume.

Master boot record

Ang Master Boot Record ay ang pinakamahalagang istraktura ng disk; ang sektor na ito ay nilikha kapag ang isang disk ay nahati. Ang sektor ng MBR ay naglalaman ng isang maliit na code na tinatawag na Master Boot Code, pati na rin ang disk signature at partition table. Sa dulo ng sektor ng MBR ay may dalawang-byte na istraktura na nagpapahiwatig ng pagtatapos ng sektor. Ito ay may halaga na 0x55AA. Ang isang disk signature ay isang natatanging numero na matatagpuan sa offset 0x01B8 at nagbibigay-daan sa operating system na natatanging makilala ang disk na ito.

Ang code na matatagpuan sa sektor ng MBR ay gumagawa ng sumusunod:

  • naghahanap ng aktibong partisyon sa partition table;
  • paghahanap para sa panimulang sektor ng aktibong partisyon;
  • naglo-load ng isang kopya ng sektor ng boot mula sa aktibong partisyon sa memorya;
  • naglilipat ng kontrol sa executable code mula sa boot sector.
Kung hindi makumpleto ang mga function na ito para sa ilang kadahilanan, ibibigay ang isa sa mga sumusunod na mensahe ng error sa system:
  • Di-wastong talahanayan ng partisyon;
  • Nawawalang operating system.
Tandaan na walang konsepto ng MBR para sa mga floppy disk. Ang sektor ng boot ay ang unang sektor sa disk. Tandaan din na ang bawat hard drive ay naglalaman ng isang MBR sector, ngunit ang boot code ay ginagamit lamang sa mga drive na may aktibong primary partition.

talahanayan ng partisyon

Ang partition table ay isang 64-byte na istraktura na ginagamit upang matukoy ang uri at lokasyon ng mga partisyon sa isang hard drive. Ang mga nilalaman ng istrukturang ito ay pinag-isa at independiyente sa operating system. Ang impormasyon tungkol sa bawat partition ay tumatagal ng 16 bytes - kaya, hindi hihigit sa apat na partisyon sa disk.

Ang bawat impormasyon ng partition ay nagsisimula sa isang partikular na offset mula sa simula ng sektor, tulad ng ipinapakita sa mesa 1.

Offset

| |

Ibig sabihin

|

paglalarawan

0x01BE| 1 byte| 0x80| Boot Indicator - Nagpapahiwatig kung ang volume ay isang aktibong partition. Maaaring may mga sumusunod na halaga: 00 - hindi ginagamit para sa paglo-load; 80 - aktibong seksyon
0x01BF| 1 byte| 0x01| Panimulang Ulo
0x01C0| 6 bit| 0x01| Panimulang Sektor - bits 0-5 ang ginagamit. Ang mga bits 6 at 7 ay ginagamit ng sumusunod na field
0x01C1| 10 bits| 0x00| Panimulang Cylinder - 10-bit na numero na may pinakamataas na halaga na 1023
0x01C2| 1 byte| 0x07| System ID - tinutukoy ang uri ng volume
0x01C3| 1 byte| 0xFE| Pangwakas na Ulo
0x01C4| 6 bit| 0xBF| Pangwakas na Sektor - ginagamit ang mga bit 0-5. Ang mga bits 6 at 7 ay ginagamit ng sumusunod na field
0x01C5| 10 bits| 0x09| Ending Cylinder - 10-bit na numero na may pinakamataas na halaga na 1023
0x01C6| Dobleng salita| 0x3F000000| Mga Kamag-anak na Sektor - offset mula sa simula ng disk hanggang sa simula ng volume, na ipinahayag sa bilang ng mga sektor
0x01CA| Dobleng salita| 0x4BF57F00| Kabuuang Mga Sektor - ang bilang ng mga sektor sa volume na ito


Ngayong napagmasdan na natin kung paano gumagana ang isang partition record, tingnan natin ang ilan sa mga field sa record na iyon.

Patlang ng Boot Indicator

Ang unang elemento ng partition table, ang Boot Indicator field, ay nagpapahiwatig kung ang volume ay isang aktibong partition. Ipinapaalala namin sa iyo na ang pangunahing disk partition lamang ang maaaring maging aktibo. Posibleng mag-install ng iba't ibang operating system at iba't ibang file system sa iba't ibang volume. Gamit ang mga utility gaya ng FDISK (MS-DOS), Disk Management (Windows 2000) o mga third-party na utility, maaari mong i-activate ang primary partition at itakda ang naaangkop na value para sa field na ito.

Field ng System ID

Ang patlang na ito ay naglalaman ng system ID at nagpapahiwatig kung aling file system - FAT16, FAT32 o NTFS - ang ginamit upang i-format ang volume, at pinapayagan ka ring malaman ang ilang mga katangian ng file system. Bilang karagdagan, ang patlang na ito ay nagpapakita kung ang isang pinahabang partisyon ay umiiral sa disk. Ang mga posibleng halaga para sa field ng System ID ay ipinapakita sa mesa 3.

Uri ng partisyon

|

Mga paliwanag

0x01| Pangunahing partition o logical drive FAT12. Ang dami ay may mas mababa sa 32,680 na sektor
0x04| FAT16 partition o logical drive. Ang volume ay may 32,680 hanggang 65,535 na sektor, o may sukat na 16 hanggang 33 MB
0x05| Advanced na seksyon
0x06| BIGDOS FAT16 partition o logical drive. Sukat mula 33 MB hanggang 4 GB
0x07| NTFS partition o logical drive. Nai-install na File System
0x0B| FAT32 partition o logical drive
0x0C| FAT32 partition o logical drive gamit ang BIOS INT 13h extensions
0x0E |BIGDOS FAT16 partition o logical drive gamit ang BIOS INT 13h extension
0x0F| Extended partition gamit ang BIOS INT 13h extensions
0x12| Seksyon ng EISA
0x42 |Dynamic na dami ng disk (Windows 2000)


Tandaan na ang mga volume lang na may field ng System ID na 0x01, 0x04, 0x05 o 0x06 ang maa-access sa ilalim ng MS-DOS. Ngunit ang mga volume na may ibang System ID para sa field na ito ay maaaring tanggalin gamit ang FDISK utility.

Cylinder, Head at Sector field

Ang Starting Cylinder, Ending Cylinder, Starting Head, Ending Head, Starting Sector at Ending Sector (karaniwang kilala bilang CHS) ay mga karagdagang elemento ng partition table. Ginagamit ng boot code ang mga halaga ng mga field na ito upang mahanap ang boot sector at paganahin ito. Ang Starting CHS na mga patlang ng mga hindi aktibong partisyon ay tumuturo sa mga sektor ng boot ng mga pangunahing partisyon at ang pinalawig na sektor ng boot ng unang lohikal na drive sa pinalawig na partisyon.

Naka-on kanin. 2 ay nagpapakita ng Master Boot Record (naglalaman ng code, partition table at signature) at boot sectors para sa isang disk na may apat na partition.


kanin. 2
Ang Ending Cylinder field sa partition table ay may sukat na 10 bits at nagbibigay-daan sa iyong ilarawan ang mga cylinder na may mga numero mula 0 hanggang 1023. Ang Starting Head at Ending Head na field ay may sukat na 1 bit at maaaring maglaman ng mga numero ng head mula 0 hanggang 255. Dahil ang mga patlang ng Panimulang Sektor at Pangwakas na Sektor ay sumasakop ng 6 na bit bawat isa, maaari silang maglaman ng mga halaga mula 0 hanggang 63. Dahil ang pagnunumero ng sektor ay nagsisimula sa 1 (at hindi mula sa 0, tulad ng para sa iba pang mga patlang), ang maximum na bilang ng mga sektor sa isang track ay 63.

Ang mababang antas na pag-format ay nagtatakda ng lahat ng mga disk sa isang karaniwang laki ng sektor na 512 bytes, kaya ang maximum na laki ng disk na inilarawan sa talahanayan ng partisyon ay maaaring kalkulahin bilang mga sumusunod:

Code:

Pinakamataas na laki = Laki ng sektor x Bilang ng mga silindro x Bilang ng mga ulo x x Bilang ng mga sektor sa bawat track.

Gamit ang pinakamataas na pinahihintulutang halaga ng mga dami na ito, nakukuha namin:

Code:

512 x 1024 x 256 x 63 (o 512 x 224) = = 8,455,716,864 byte, o 7.8 GB.

Samakatuwid, nang walang paggamit ng mga extension ng INT 13h, na kilala bilang Logical Block Addressing (LBA), ang laki ng aktibong primaryang partition ay hindi maaaring lumampas sa 7.8 GB, anuman ang file system na ginamit.

Ang maximum na laki ng volume sa ilalim ng FAT16 ay nakasalalay sa geometry ng disk at ang maximum na mga halaga sa talahanayan ng partisyon. Ang mga posibleng value na may at walang LBA ay ipinapakita sa mesa 4. Ang bilang ng mga cylinder sa parehong mga kaso ay 1024 (0-1023). Sa kaso kung saan ang pangunahing partition o lohikal na aparato ay sumasakop sa isang lugar na lampas sa 1023rd cylinder, ang lahat ng mga field ng partition table ay magkakaroon ng maximum na pinapayagang mga halaga.

LBA mode

|

Bilang ng mga ulo

|

Mga Sektor/Track

|

Max. laki ng partisyon

Pinagbawalan| 64| 32| 1 GB
Pinapayagan| 255| 63| 4 GB


Upang malampasan ang 7.8 GB na limitasyon na inilarawan sa itaas, binabalewala ng Windows 2000 ang mga halaga ng field ng Starting Sector at Ending Sector at sa halip ay ginagamit ang mga value ng field na Relative Sectors at Total Sectors.

Mga patlang ng Mga Kaugnay na Sektor at Kabuuang Sektor

Ang field ng Relative Sectors ay naglalaman ng offset mula sa simula ng disk hanggang sa simula ng volume, na ipinahayag sa bilang ng mga sektor. Ang field na Kabuuang Mga Sektor ay nagpapahiwatig ng kabuuang bilang ng mga sektor sa volume.

Gamit ang mga halaga ng dalawang patlang na ito (na kung saan magkasama ay isang 32-bit na numero), nakakakuha kami ng karagdagang 8 bit upang maiimbak ang kabuuang bilang ng mga sektor kumpara sa CHS scheme na inilarawan sa itaas. Sa kasong ito, ang bilang ng mga sektor ay maaaring katawanin bilang 232. Gamit ang karaniwang laki ng sektor (512 bytes) at ang 32-bit na representasyon ng bilang ng mga sektor, ang maximum na laki ng partition ay limitado sa 2 TB (o 2,199,023,255,552 bytes). Ang scheme na ito ay ginagamit lamang sa Windows 2000 na may NTFS at FAT32 file system.

Tandaan na kapag gumagawa ng mga partisyon sa ilalim ng Windows 2000, ang tamang data ay ipinasok sa Starting Cylinder, Ending Cylinder, Starting Head, Ending Head, Starting Sector at Ending Sector na mga field. Nagbibigay-daan ito sa pagiging tugma sa MS-DOS, Windows 95 at Windows 98, gayundin sa mga function ng INT 13h na ginagamit ng BIOS kapag nag-boot ang computer.

Pinalawak na Boot Record

Ang Extended Boot Record (EBR) ay binubuo ng isang extended partition table at isang signature - isang two-byte na istraktura na may value na 0x55AA. Ang isang pinahabang boot record ay umiiral para sa bawat lohikal na aparato sa isang pinahabang partition. Naglalaman ito ng impormasyon tungkol sa unang bahagi ng unang silindro para sa bawat lohikal na aparato. Ang sektor ng boot ng isang lohikal na disk ay karaniwang matatagpuan sa mga kamag-anak na sektor na may bilang na 32 o 63. Kung ang disk ay walang pinahabang partisyon, kung gayon walang pinalawig na rekord ng boot at walang mga lohikal na aparato.

Ang unang elemento ng extended partition table para sa unang logical device ay tumuturo sa boot sector nito, ang pangalawang elemento ay tumuturo sa EBR ng susunod na logical device. Kung ang susunod na lohikal na aparato ay hindi umiiral, kung gayon ang pangalawang elemento ay hindi ginagamit - naglalaman ito ng isang hanay ng mga zero. Ang ikatlo at ikaapat na elemento ng extended partition table ay hindi ginagamit.

Naka-on kanin. 3 ay nagpapakita kung paano gumagana ang pinalawig na boot record. Ipinapakita ang tatlong lohikal na aparato sa pinahabang partisyon.


kanin. 3
Maliban sa huling lohikal na aparato sa pinahabang partisyon (tingnan kanin. 3), ang pinahabang format ng partition table na inilarawan sa mesa 5, ay paulit-ulit para sa bawat lohikal na aparato: ang unang elemento ay naglalarawan sa boot sector ng lohikal na device, ang pangalawang elemento ay nagpapahiwatig ng susunod na pinalawig na boot record. Para sa huling lohikal na aparato, ang mga elemento dalawa hanggang apat ay hindi ginagamit.

Extended Partition Table Element

|

Mga nilalaman

Unang elemento| Impormasyon tungkol sa kasalukuyang lohikal na aparato sa pinahabang partition, kasama ang panimulang address para sa data
Pangalawang elemento| Impormasyon tungkol sa susunod na lohikal na aparato sa pinalawig na partisyon, kabilang ang address ng sektor na naglalaman ng EBR para sa susunod na lohikal na aparato. Hindi ginagamit ang field na ito kung walang sumusunod na mga lohikal na device
Ikatlong elemento| Hindi ginagamit
Ikaapat na elemento| Hindi ginagamit


Ang mga field ng bawat elemento sa extended partition table ay katulad ng mga field ng regular na partition table na inilarawan sa itaas.

Tinutukoy ng field na Relative Sectors sa extended partition table, sa bytes, ang offset mula sa simula ng extended partition hanggang sa unang sektor ng logical device. Ang numero sa field na Kabuuang Mga Sektor ay nagbibigay-daan sa iyo upang malaman ang bilang ng mga sektor na inilalaan para sa lohikal na aparato. Ang halaga ng field na Kabuuang Mga Sektor ay katumbas ng bilang ng mga sektor mula sa simula ng boot sector hanggang sa dulo ng logical partition.

Dahil sa pambihirang kahalagahan ng impormasyong nakaimbak sa mga sektor ng MBR at EBR, inirerekomenda na pana-panahong i-scan ang disk gamit ang naaangkop na mga kagamitan at lumikha ng mga backup na kopya ng data.

Boot sector

Ang sektor ng boot, na matatagpuan sa sektor 1 ng bawat volume, ay ang istraktura na nagpapahintulot sa computer na magsimula. Ang sektor na ito ay naglalaman ng executable code at ang data na kailangan ng code, kabilang ang impormasyon tungkol sa file system na ginamit sa volume. Nagagawa ang boot sector kapag na-format ang volume. Sa dulo ng boot sector ay isang two-byte na istraktura na tinatawag na dulo ng sector marker. Palaging naglalaman ang istrukturang ito ng value na 0x55AA.

Sa mga computer na nagpapatakbo ng Windows 2000, ang boot sector ng aktibong partition ay na-load sa memorya at tinatawag ang operating system loader - NTLDR, na nagsasagawa ng lahat ng kinakailangang hakbang upang i-boot ang Windows 2000.

Sa Windows 2000, ang boot sector ay naglalaman ng mga sumusunod na elemento:

  • pagtuturo ng pagpupulong ng JMP;
  • tagatukoy ng tagagawa (OEM ID);
  • isang istraktura ng data na tinatawag na BIOS Parameter Block (BPB);
  • pinalawak na istraktura ng BPB;
  • executable code na nagpapatakbo ng operating system.
Tandaan na ang mga boot sector para sa NTFS, FAT16 at FAT32 ay iba ang format.

Ang istraktura ng BPB ay naglalaman ng mga pisikal na parameter ng lakas ng tunog, ang pinalawig na istraktura ng BPB ay nagsisimula kaagad pagkatapos ng karaniwang BPB. Ang haba ng istraktura ng BPB at ang impormasyong nilalaman nito ay depende sa uri ng sektor ng boot - NTFS, FAT16 o FAT32.

Ang impormasyong nakaimbak sa BPB at ang pinahabang istraktura ng BPB ay ginagamit ng mga driver ng device upang basahin at i-configure ang mga volume.

Kaagad na sumusunod sa pinahabang istraktura ng BPB ay ang boot code.

Proseso ng boot

Ang proseso ng pag-boot ng computer ay binubuo ng mga sumusunod na pangunahing hakbang:

  1. Kapag naka-on ang power, isasagawa ang pagsubok sa pag-verify ng BIOS at processor - POST.
  2. Ang BIOS ay naghahanap ng isang boot device (karaniwan ay isang disk).
  3. Nilo-load ng BIOS ang unang pisikal na sektor mula sa boot disk patungo sa memorya at inililipat ang kontrol sa address kung saan na-load ang sektor na ito.
Kung ang boot device ay isang hard drive, nilo-load ng BIOS ang MBR. Ang code na matatagpuan sa MBR ay naglo-load sa boot sector ng aktibong partition at naglilipat ng kontrol sa address kung saan na-load ang sektor na ito. Sa mga Windows 2000 na computer, hinahanap ng executable code sa boot sector ang NTLDR file, nilo-load ito sa memorya, at naglilipat ng kontrol dito.

Kung mayroong disk sa drive A, nilo-load ng BIOS ang unang sektor (boot sector) ng disk na iyon sa memorya. Kung ang disk ay bootable (naglalaman ng mga base file ng operating system), ang boot sector ay na-load sa memorya at gumagamit ng code upang ilipat ang kontrol sa file na IO.SYS - ang base file ng MS-DOS operating system. Kung ang disk ay hindi bootable, ang executable code sa boot sector ay gumagawa ng sumusunod na mensahe:

  • Non-System disk o disk error
  • Palitan at pindutin ang anumang key kapag handa na
Ang paunang proseso ng pag-boot ay hindi nakasalalay sa format ng disk at operating system. Ang mga natatanging katangian ng operating at file system ay ginagamit pagkatapos magsimulang mag-execute ang code mula sa boot sector.

Mga uri ng mga sektor ng boot

Tulad ng alam na natin, inililipat ng MBR ang kontrol sa sektor ng boot. Samakatuwid, ang unang tatlong byte ng sektor na ito ay dapat maglaman ng wastong pagtuturo para sa CPU. Ang pagtuturo na ito ay isang jump instruction na nagre-redirect ng code execution. Ang pagtuturo ng JMP ay sinusundan ng isang 8-byte na OEM ID, isang string na naglalarawan sa pangalan at numero ng bersyon ng operating system na ginamit upang i-format ang volume.

Upang mapanatili ang pagiging tugma sa MS-DOS, itinatala ng Windows 2000 ang identifier na "MSDOS5.0" para sa FAT16 at FAT32 file system. Para sa NTFS file system, ang identifier ay naglalaman ng mga character na "NTFS".

Ginagamit ng Windows 95 ang "MSWIN4.0" identifier, habang ginagamit ng Windows 95 OSR2 at Windows 98 ang "MSWIN4.1" identifier.

Kaagad na sumusunod sa manufacturer ID ay isang istraktura ng data na tinatawag na BIOS Parameter Block (BPB). Naglalaman ito ng impormasyong kailangan upang mahanap ang NTLDR file. Dahil ang BPB ay karaniwang matatagpuan sa parehong offset, ang mga karaniwang parameter ay madaling matukoy. Dahil nilalampasan ng pagtuturo ng JMP ang istraktura ng BPB, maaaring madagdagan ang laki nito sa hinaharap kung kailangang mag-imbak dito ng anumang karagdagang impormasyon.
Ngayon tingnan natin kung ano ang hitsura ng mga sektor ng boot para sa tatlong pangunahing file system - FAT16, FAT32 at NTFS.

FAT16 boot sector

SA mesa 6 Ang isang paglalarawan ng boot sector para sa FAT16 file system ay ibinigay.

Offset

| |

0x00| 3 byte| pagtuturo ng JMP
0x03| 2 x HABA| OEM ID
0x0B| 25 byte| BPB
0x24| 26 byte| Pinalawig na BPB
0x3E| 448 byte| Boot code
0x01FE| 2 byte| Marker ng pagtatapos ng sektor (0x55AA)


Ang isang partikular na halimbawa ay nagpapakita ng mga nilalaman ng FAT16 boot sector. Mayroong tatlong mga seksyon dito:
  • Ang mga byte 0x00-0x0A ay naglalaman ng pagtuturo ng JMP at OEM ID (naka-highlight sa font);
  • Ang mga byte 0x0B-0x3D ay naglalaman ng BPB at pinalawig na BPB;
  • ang natitirang mga byte ay naglalaman ng boot code at ang dulo ng sector marker (naka-highlight sa font).
Ang sumusunod na dalawang talahanayan ay nagpapakita ng mga nilalaman ng BPB ( mesa 7) at pinalawig na BPB ( mesa 8) para sa FAT16. Ang mga halagang ibinigay ay tumutugma sa sektor ng boot na ipinapakita sa Fig. 4.

Offset

| |

Ibig sabihin

|

paglalarawan


0x0D| 1 byte| 0x40| Bilang ng mga sektor sa cluster. Dahil sinusuportahan ng FAT16 ang limitadong bilang ng mga kumpol (hanggang 65,536), ang mas malalaking volume ay nangangailangan ng mas maraming sektor na gagamitin sa cluster. Ang default na halaga ng field na ito ay depende sa laki ng volume. Ang mga wastong halaga ay: 1, 2, 4, 8, 16, 32, 64, at 128. Mga halaga na nagpapataas ng laki ng kumpol sa higit sa 32 KB (ang bilang ng mga byte bawat sektor na pinarami ng bilang ng mga sektor sa ang cluster) ay maaaring magdulot ng mga error
0x0E| 2 byte| 0x0100| Mga reserbang sektor - ang bilang ng mga sektor bago ang unang talahanayan ng FAT, kabilang ang sektor ng boot. Ang halaga ng field na ito ay palaging 1

0x11| 2 byte| 0x0002| Ang kabuuang bilang ng 32-byte na file at mga pangalan ng direktoryo na maaaring maimbak sa root directory ng volume. Karaniwan ang halaga ng field na ito ay 512. Ang isang elemento ay palaging ginagamit upang mag-imbak ng label ng volume, kaya ang maximum na bilang ng mga file at direktoryo ay hindi lalampas sa 511
0x13| 2 byte| 0x0000| Ang bilang ng mga sektor sa volume, na ipinahayag bilang isang 16-bit na halaga. Para sa mga volume na may higit sa 65,536 na sektor, ang field na ito ay hindi ginagamit at ang halaga nito ay 0

0x16| 2 byte| 0xFC00| Ang bilang ng mga sektor sa bawat kopya ng FAT. Ang halaga ng field na ito, ang bilang ng mga kopya ng FAT, at ang bilang ng mga nakareserbang sektor ay ginagamit upang kalkulahin ang lokasyon ng root directory. Ang pag-alam sa maximum na bilang ng mga entry sa root directory ay maaari ding sabihin sa iyo kung saan magsisimula ang data ng user

0x1A| 2 byte| 0x4000| Bilang ng mga ulo. Ginagamit para sa mababang antas ng pag-format ng disk
0x1C| 4 byte| 0x3F000000| Ang bilang ng "nakatagong" sektor ay ang bilang ng mga sektor bago ang boot sector. Ginagamit sa oras ng boot upang kalkulahin ang ganap na offset ng root directory at data
0x20| 4 byte| 0x01F03E00| Ang bilang ng mga sektor sa volume, na ipinahayag bilang isang 32-bit na halaga. Ginagamit para sa mga volume na mayroong higit sa 65,536 na sektor


Offset

| |

Ibig sabihin

|

paglalarawan

0x24| 1 byte| 0x80| Numero ng pisikal na device. Naglalaman ng 0x00 para sa mga floppy disk at 0x80 para sa mga hard disk. Gamitin ang INT 13h para ma-access ang disk. Ang halaga ng field na ito ay makabuluhan lamang para sa boot device
0x25| 1 byte| 0x00| Nakareserba. Para sa FAT16, ang halaga ng field na ito ay palaging 0
0x26| 1 byte| 0x29| Pinalawak na lagda ng sektor ng boot. Para sa Windows 2000 ang field na ito ay dapat na 0x28 o 0x29
0x27| 4 byte| 0xA88B3652| Dami ng serial number. Random na numero na nabuo kapag na-format ang disk
0x2B |11 byte| WALANG PANGALAN| Label ng volume. Sa Windows 2000, ang volume label ay naka-imbak sa isang espesyal na file
0x36| 2 x HABA| FAT16| Uri ng file system. Depende sa format ng disc, ang field na ito ay maaaring maglaman ng mga character na FAT, FAT12 o FAT16



kanin. 4
FAT32 boot sector

Ang sektor ng boot ng FAT32 ay may maraming pagkakatulad sa sektor ng boot ng FAT16, ngunit naglalaman ang BPB ng mga karagdagang field, at ang mga field na iyon na ginamit sa FAT16 ay matatagpuan sa iba't ibang mga address. Kaya, ang mga drive na naka-format sa FAT32 ay hindi mababasa ng mga operating system na hindi tugma sa FAT32.

SA mesa 9 ipinapakita ang mga nilalaman ng boot sector para sa FAT32 file system.

Offset

| |

Ibig sabihin

|

paglalarawan

0x0B| 2 byte| 0x0002| Ang bilang ng mga byte sa isang sektor ay ang laki ng sektor. Ang mga wastong halaga ay 512, 1024, 2048, at 4096. Para sa karamihan ng mga drive, ang field na ito ay 512
0x0D| 1 byte| 0x40| Bilang ng mga sektor sa cluster. Dahil sinusuportahan ng FAT32 ang isang limitadong bilang ng mga kumpol (hanggang 4,294,967,296), ang napakalaking volume ay nangangailangan ng paggamit ng mas maraming sektor sa bawat kumpol. Ang default na halaga ng field na ito ay depende sa laki ng volume. Ang mga wastong halaga ay 1, 2, 4, 8, 16, 32, 64, at 128. Sa Windows 2000, sinusuportahan ng FAT32 ang mga volume hanggang sa maximum na laki na 32 GB. Ang mas malalaking volume na ginawa gamit ang Windows 95 OSR2 at Windows 98 ay naa-access mula sa Windows 2000
0x0E| 2 byte| 0x0200| Mga reserbang sektor - ang bilang ng mga sektor bago ang unang talahanayan ng FAT, kabilang ang sektor ng boot. Ang halaga ng field na ito para sa FAT32 ay karaniwang 32
0x10| 1 byte| 0x02| Ang bilang ng mga kopya ng FAT table para sa volume na ito. Ang halaga ng field na ito ay palaging 2
0x11| 2 byte| 0x0000| Ang kabuuang bilang ng 32-byte na file at mga pangalan ng direktoryo na maaaring maimbak sa root directory ng volume (FAT12/FAT16 lang). Para sa mga volume ng FAT32, dapat na 0 ang field na ito
0x13| 2 byte| 0x0000| Ang bilang ng mga sektor sa volume, na ipinahayag bilang isang 16-bit na halaga (FAT12/FAT16 lang). Para sa mga volume ng FAT32, dapat na 0 ang field na ito
0x15| 1 byte| 0xF8| Uri ng media. Ang halaga ng 0xF8 ay nagpapahiwatig ng isang hard drive, ang 0xF0 ay nagpapahiwatig ng isang high-density na floppy drive. Ang field na ito ay hindi ginagamit sa Windows 2000
0x16| 2 byte| 0x0000| Bilang ng mga sektor sa bawat kopya ng FAT (FAT12/FAT16 lang). Para sa mga volume ng FAT32, dapat na 0 ang field na ito
0x18| 2 byte| 0x3F00| Bilang ng mga sektor sa isang track. Ginagamit para sa mababang antas ng pag-format ng disk
0x1A| 2 byte| 0xFF00| Bilang ng mga ulo. Ginagamit para sa mababang antas ng pag-format ng disk
0x1C| 4 byte| 0xEE39D700| Ang bilang ng "nakatagong" sektor ay ang bilang ng mga sektor bago ang boot sector. Ginagamit sa oras ng boot upang kalkulahin ang ganap na offset ng root directory at data
0x20| 4 byte| 0x7F324E00| Ang bilang ng mga sektor sa volume, na ipinahayag bilang isang 32-bit na halaga. Ginagamit para sa mga volume na mayroong higit sa 65,536 na sektor
0x24| 4 byte| 0x83130000| Bilang ng mga sektor sa FAT (FAT32 lang)
0x28| 2 byte| 0x0000| Mga pinahabang flag (FAT32 lang). Ang mga indibidwal na piraso ng salitang ito ay may sumusunod na kahulugan: bits 0-3 - bilang ng mga aktibong FAT; bits 4-6 - nakalaan; Ang bit 7 ay katumbas ng 0 kung ang FAT "mirroring" ay ginanap; katumbas ng 1 kung isang FAT lamang ang aktibo; bits 8-15 - nakalaan
0x2A| 2 byte| 0x0000| Bersyon ng file system (FAT32 lang)
0x2C| 4 byte| 0x02000000| Ang cluster number para sa unang cluster ng root directory (FAT32 lang). Karaniwan ang halaga ng field na ito ay 2
0x34| 2 byte| 0x0600| Numero ng sektor na may backup na boot sector (FAT32 lang). Karaniwan ang halaga ng field na ito ay 6
0x36| 12 byte| 0x0000000000000000000000000| Nakareserba (FAT32 lang)

mesa 10


Offset

| |

Ibig sabihin

|

paglalarawan

0x40| 1 byte| 0x80| Numero ng pisikal na device. Naglalaman ng mga value na 0x00 para sa mga floppy disk at 0x80 para sa mga hard disk. Gamitin ang INT 13h para ma-access ang disk. Ang halaga ng field na ito ay makabuluhan lamang para sa talahanayan ng boot device. 12 0x0D| 1 byte| 0x08| Bilang ng mga sektor sa isang cluster
0x0E| 2 byte| 0x0000| Mga reserbang sektor
0x10| 3 byte| 0x000000| Laging 0
0x13| 2 byte| 0x0000| Hindi ginagamit sa NTFS
0x15| 1 byte| 0xF8| Uri ng media
0x16| 2 byte| 0x0000| Laging 0
0x18| 2 byte| 0x3F00| Bilang ng mga sektor sa bawat track
0x1A| 2 byte| 0xFF00| Bilang ng mga ulo
0x1C| 3 byte| 0x3F000000| Bilang ng mga "nakatagong" sektor
0x20| 4 byte| 0x00000000| Hindi ginagamit sa NTFS
0x24| 4 byte| 0x80008000| Hindi ginagamit sa NTFS
0x28 |2 x LONG| 0x4AF57F0000000000| Kabuuang bilang ng mga sektor
0x30| 2 x HABA| 0x0400000000000000| Logical cluster number para sa file na $MFT
0x38| 2 x HABA| 0x54FF070000000000| Logical cluster number para sa file na $MFTMirr
0x40 |4 byte| 0xF6000000| Bilang ng mga sektor sa isang bahagi ng pagsulat ng file
0x44| 4 byte | 0x01000000| Bilang ng mga kumpol sa index block
0x48| 2 x HABA| 0x14A51B74C91B741C| Dami ng serial number
0x50| 4 byte| 0x00000000| Suriin ang kabuuan

Ang MBR (sa Russian - master boot record) ay isang tiyak na hanay ng data, mga linya ng code, partition table at mga lagda. Kinakailangang i-load ang operating system ng Windows pagkatapos i-on ang computer. May mga kaso kapag, bilang isang resulta ng iba't ibang mga pagkabigo ng hardware at system, ang MBR ay nasira o nabura, na ginagawang imposibleng simulan ang Windows. Ang pagpapanumbalik ng Windows 7 MBR boot record ay malulutas ang mga naturang problema. Tinatalakay ng artikulong ito ang ilang simpleng paraan kung saan maaari mong ibalik ang mga record.

Isang maliit na teorya

Pagkatapos i-on ang computer, pipiliin ng BIOS ang storage medium kung saan mag-boot. Sa yugtong ito, kailangang malaman ng device kung aling partition ng hard drive ang naglalaman ng mga file ng Windows system. Ang MBR ay isang maliit na programa na nakaimbak sa unang sektor ng HDD at itinuturo ang computer sa tamang partition upang simulan ang system.

Kung hindi mo na-install nang tama ang pangalawang operating system, maaaring masira ang partition table at hindi makakapagsimula ang unang Windows. Ganun din minsan ang nangyayari kapag biglang nawalan ng kuryente. Kung nangyari ito, huwag mawalan ng pag-asa; ang nasira na data ay maaaring ganap na maibalik.

Boot Record Recovery

Upang maibalik ang MBR, kakailanganin mo ang disk sa pag-install kung saan mo na-install ang Windows (o anumang iba pa). Kung walang disk, maaari kang lumikha ng isang bootable USB flash drive na may Win7. Algoritmo ng pagkilos:

Awtomatikong pagbawi

Upang magsimula, sulit na iwanan ang pag-aayos ng MBR sa karaniwang mga tool ng Microsoft. Piliin ang Startup Repair. Hindi na kailangang gumawa ng anupaman, lilipas ang ilang oras at ipapahiwatig ng computer na kumpleto na ang proseso. Subukang simulan ang Windows. Kung walang gumagana, kailangan mong ibalik nang manu-mano ang ICBM.

Command line

Ang landas na ito ay nangangailangan sa iyo na magpasok ng ilang mga command sa Windows Command Prompt.

  • Mula sa menu ng pagbawi ng system, piliin ang Command Prompt.
  • Ngayon ay kailangan mong ipasok ang "bottrec/fixmbr". Ang utos na ito ay ginagamit upang magsulat ng bagong MBR na katugma sa Win 7. Aalisin ng command ang mga hindi karaniwang bahagi ng code, ayusin ang katiwalian, ngunit hindi makakaapekto sa umiiral na talahanayan ng partisyon.
  • Susunod na ilagay ang "bootrec/fixboot". Ginagamit ang command na ito upang lumikha ng bagong sektor ng boot para sa Windows.
  • Susunod na "bootrec/nt60 sys". I-update ng command na ito ang MBR boot code.
  • Isara ang console, i-restart ang iyong computer at subukang simulan ang system. Kung hindi pa rin naresolba ang problema, kailangan mong magpasok ng ilang karagdagang command.
  • Ilunsad muli ang console at ipasok ang "bootrec/Scanos" at "bootrec/rebuildbcd". Gamit ang mga utility na ito, i-scan ng iyong computer ang iyong hard drive para sa mga operating system at pagkatapos ay idagdag ang mga ito sa boot menu.
  • Pagkatapos ay ipasok muli ang "bootrec/nt60 sys" at i-restart ang computer.

Utility ng TestDisk

Kung wala kang bootable USB flash drive o disk, maaari mong ibalik ang nasirang recording gamit ang isang third-party na program. Upang gawin ito, kailangan mong magpatakbo ng isa pang (gumagana) OS. Kung ang iyong makina ay mayroon lamang isang Windows, kakailanganin mong ikonekta ang hard drive sa isa pang computer. Ang pagtatrabaho sa TestDisk ay medyo kumplikado, kaya inirerekomenda na maging pamilyar ka sa mga manual na partikular na nakatuon sa program na ito.

Minsan nangyayari na dahil sa crankiness o isang virus sa computer, ang mga boot sector at, natural, ang OS ay maaaring lumipad Ang WinXP ay hindi boots, na nagbibigay ng mensahe ng system na ang bootloader ay nasira Windows, o nasira ang registry Windows, o ang mga file ng system ay nasira, o mas masahol pa, walang na-load maliban sa impormasyon ng virus na nakasulat sa iyong boot sector ng virus. Sa lahat ng ito, hindi posible na ma-access ang restore point, o i-load ang huling matagumpay na config, o mag-boot sa safe mode. Sa karamihan ng mga kaso, agad na sinusubukan ng mga user na muling i-install ang Windows, bagaman, bilang panuntunan, maaari mong ibalik ang pag-andar nito sa loob ng 5-10 minuto gamit ang tinatawag na recovery console.

Una kailangan mong magkaroon ng boot disk/flash drive na may package sa pag-install Windows XP Pro.
1. Pagkatapos ay pumunta sa BIOS (kapag binuksan mo ang computer, pindutin ang bawat kalahating segundo F2 o Sinabi ni Del o F10- depende sa tagagawa ng motherboard)
2. SA BIOS i-install ang pangunahing boot mula sa CD-ROM/Flash drive, ilagay ang disk sa drive o, nang naaayon, isang flash drive sa USB connector. I-reboot.
3. Kapag ang installer Windows XP ay maglo-load ng mga file nito sa RAM PC, lalabas ang dialog box ng Pag-install. Windows XP Professional"na naglalaman ng menu ng pagpili kung saan kami interesado sa item

Upang ibalik Windows XP gamit ang recovery console, i-click R

I-click R. Maglo-load ang Recovery Console. Kung ang iyong computer ay may isang operating system na naka-install, at ito ay (bilang default) na naka-install sa C: drive, makikita mo ang sumusunod na mensahe:

1: C:\WINDOWS
Sa aling kopya ng Windows ako dapat mag-sign in?

Ipasok ang 1, pindutin ang Pumasok
May lalabas na mensahe:

Ipasok ang password ng administrator:

Ipasok ang iyong password, pindutin Pumasok(kung walang laman ang password, i-click lang Pumasok).

Lumilitaw ang isang prompt ng system:

Pumasok fixboot

May lalabas na mensahe:

Tapusin ang seksyon: C:.
Gusto mo bang magsulat ng bagong boot sector sa C: partition?

Pumasok y(ibig sabihin 'oo').

May lalabas na mensahe:

File system sa boot partition: NTFS(o FAT32).
Koponan FIXBOOT nagsusulat ng bagong boot sector.
Matagumpay na naisulat ang bagong sektor ng boot.

Sa lalabas na prompt ng system C:\WINDOWS>
pumasok fixmbr

May lalabas na mensahe:

**BABALA**
Ang computer na ito ay may hindi karaniwan o di-wastong Master Boot Record. Ang paggamit ng FIXMBR ay maaaring makapinsala sa iyong kasalukuyang partition table. Magreresulta ito sa pagkawala ng access sa lahat ng partisyon ng kasalukuyang hard drive.
Kung walang mga problema sa pag-access sa disk, inirerekomenda na i-abort ang utos FIXMBR.
Kumpirmahin ang iyong bagong entry MBR?

Pumasok y(ibig sabihin 'oo').

May lalabas na mensahe:

Ang isang bagong master boot record ay nilikha sa pisikal na disk \Device\Harddisk0\Partition0.
Ang bagong master boot record ay matagumpay na nagawa.

Sa prompt ng system C:\WINDOWS>
pumasok, mag-sign in Pag-setup ng BIOS at ilagay ang paunang boot mula sa hard drive o alisin lamang ang lahat ng bootable SD disk mula sa computer.

Sa 95% ng mga kaso, posible na ibalik ang pag-andar sa ganitong paraan. OS Windows XP.

MGA TALA:
1. Kung hindi mo alam kung ano ito Pagpapatala Windows at ang recovery console, sa mga ganitong kritikal na sitwasyon - upang maiwasan ang paglala ng sitwasyon! - huwag subukang ayusin ang lahat sa iyong sarili - mas mahusay na humingi ng tulong mula sa mga espesyalista.

2. Kung higit sa isang OS ang naka-install sa iyong PC, huwag gamitin ang mga rekomendasyon sa artikulong ito - makipag-ugnayan kaagad sa isang espesyalista!

3. Ang mga rekomendasyon sa artikulong ito ay HINDI isang panlunas sa lahat! POSIBLE (ngunit kailangan ba, magpasya para sa iyong sarili!) na gamitin ang mga ito kapag imposibleng pumunta sa system restore point o i-load ang huling kilalang magandang configuration (ang PC ay hindi nag-boot kahit sa safe mode), at ikaw ay nagpaplano na muling i-install ang OS.