Запис за начално зареждане: Разлика между версии

Изтрито е съдържание Добавено е съдържание
без вандализми
Ред 2:
 
{{Обработка|превеждане на термините на български}}
== Общо описание ==
Master Boot Record - Главен Зареждащ Запис (съкратено MBR). Термин използван за първият сектор на носители на информация (медия), които са разделни на дялове (Partitioned). Характерен предимно за хард дискови устройства, наличен и при USB FLASH драйв устройства. Състои се от изпълнима част и информационна част. Изпълнимата част представлява код/програма която намира активният дял върху устройството, прочита съответстващият му зареждащ сектор (Boot Sector) в паметта и предава управлението на последния. Ако не бъде намерен активен дял процесът на зареждане се прекратява. Ако не бъде намерен зареждащ сектор върху активният дял зареждането отново се прекратява. Главният зареждащ запис се прочита от BIOS веднага след изпълнението на главната процедура по проверка на паметта, дисковете и периферните устройства. Информационната част се състои от идентификатор на диска (сериен номер) и таблица на дяловете. Таблицата на дяловете съдържа четири записа с дялова информация. В края на описаната структура се намира сигнатурата 0xAA55 (в шестнадесетична бройна система), която валидира че това е зареждащ запис/сектор. При грешка в таблицата на дяловете зареждането се преустановява и се изписва съответстващо съобщение на екрана.
Master Boot Record - Главен Зареждащ Запис (съкратено MBR). Термин използван за първият сектор на носители на информация (медия), които са разделни на дялове (Partitioned). Характерен предимно за хард дискови устройства, наличен и при USB FLASH драйв устройства. Състои се от изпълнима част и информационна част. Изпълнимата част представлява код/програма която намира активният дял върху устройството, прочита съответстващият му зареждащ сектор (Boot Sector) в паметта и предава управлението на последния. Ако не бъде намерен активен дял процесът на зареждане се прекратява. Ако не бъде намерен зареждащ сектор върху активният дял зареждането отново се прекратява. Главният зареждащ запис се прочита от [[BIOS]] веднага след изпълнението на главната процедура по проверка на паметта, дисковете и периферните устройства. Информационната част се състои от идентификатор на диска (сериен номер) и таблица на дяловете. Таблицата на дяловете съдържа четири записа с дялова информация. В края на описаната структура се намира сигнатурата <b style='color:#6a7eaf'>0xAA55</b> (в шестнадесетична бройна система), която валидира че това е зареждащ запис/сектор. При грешка в таблицата на дяловете зареждането се преустановява и се изписва съответстващо съобщение на екрана.
== Структура ==
{| {{prettytable}}
! colspan="2" | Адрес
! rowspan="2" valign="top" colspan="2" | Функционалност / Съдържание
! rowspan="2" valign="top" | Размер<br />(Байтове)
|-
! шестнадесетично || десетично
|-
| 0x0000 || align="right" | 0 || colspan="2" | Зареждащ код || align="right" | макс. 440
|-
| 0x01B8 || align="right" | 440 || colspan="2" | Сериен номер на диска<br />(Използван от [[Windows 2000]] и по-нови) || align="right" | 4
|-
| 0x01BC || align="right" | 444 || colspan="2" | Нули<br />(0x0000) || align="right" | 2
|-
| 0x01BE || align="right" | 446 || Запис на дялова инф || rowspan="4" | Таблица на дяловете||align="right" | 16
|-
| 0x01BE || align="right" | 462 || Запис на дялова инф || align="right" | 16
|-
| 0x01DE || align="right" | 478 || Запис на дялова инф || align="right" | 16
|-
| 0x01EE || align="right" | 494 || Запис на дялова инф || align="right" | 16
|-
| 0x01FE || align="right" | 510 ||0x55|| rowspan="2" | MBR сигнатура<br />(0xAA55) || rowspan="2" align="right" | 2
|-
| 0x01FF || align="right" | 511 ||0xAA
|}
Общ размер 512 [[байт]]а
==== MBR Сигнатура ====
Тази сигнатура представлява ''магическо число'' състоящо се от 2 [[байт|Байта]] 55<sub>hex</sub> и AA<sub>hex</sub>. За Little Endian системи това се интерпретира като 16-битово число AA55<sub>hex</sub>
 
== Позиция ==
==== Позиция върху устройството ====
----
цилиндър: 0; глава: 0; сектор: 1; ([[CHS]]: 0/0/1).
==== Позиция на зареждане в паметта ====
----
0000:7C00
== Прочитане ==
==== Код за прочитане ([[Асемблер]],[[x86]]) ====
----
<pre>
mov ah,0x02 ; Функция за четене
mov al,0x01 ; Брой сектори за прочитане
mov bx,0x0000 ; Относителен адрес на буфера за четене
mov cx,0x0001 ; Начална позиция за четене (сектор,цилиндър)
mov dh,0x00 ; Номер на главата
mov dl,0x80 ; Номер на устройството/диска
int 0x13 ; Прекъсване за четене
ret ; Връщане на управлението
</pre>
Съдържанието на MBR ще бъде прочетено в паметта на адрес es:0000
 
==== Команда за прочитане под [[Linux|Linux]] ====
----
<pre>dd if=/dev/hdX of=DEST bs=512 count=1</pre>
където: "X" = a,b,c,d; "DEST" = пътя и име на файл в който да се прочете
 
Пример:
<pre>
dd if=/dev/hda of=/hda-mbr.img bs=512 count=1</pre>
При изпълнение на горната команда в главната директория ще бъде създаден файл с име <i>hda-mbr.img</i>, размер 512 байта, който е идентично копие на съдържанието на MBR на първия диск (ide0/channel0). Този файл може да бъде редактиран или изучен с подходящ шестнадесетичен редактор.
 
== Съобщения от MBR за грешки при зареждане ==
* <b>"Invalid partition table"</b> - Невалидна таблица на дяловете
* <b>"Error loading operating system"</b> - Грешка при зареждане на операционната система
* <b>"Missing operating system"</b> - Липсваща операционна система
 
== Поправяне на MBR ==
Под Windows XP е възможно да поправите MBR чрез DOS командата <code>fixmbr</code>. По този начин може да се елиминират някои boot вируси или пък да се възстанови оригиналния boot сектор вследствие на инсталиран друг сектор за начално зареждане, който не работи (например GRUB, lilo). За да използвате тази команда може да заредите Windows XP чрез неговото CD и да изберете R за поправяне на системата.
 
Под Windows Vista командата за възстановяване на MBR e <code>bootrec /FixMbr</code>.
 
== Вижте също ==
 
* [[BIOS]] Basic Input Output System - Основна Входно Изходна Система
* [[HDD]] Hard Disk Drive - Твърд Диск / Дисково Устройство
* [[Запаметяващо устройство на гъвкав магнитен диск|FDD]] Floppy Disk Drive - Запаметяващо устройство на гъвкав магнитен диск
* [[Гъвкав магнитен диск|FD]] Floppy Disk - Гъвкав магнитен диск
* [[BSC]] Boot Sector - Зареждащ Сектор
* [[Първи цилиндър на диска]] Какво още съществува в първият цилиндър на диска
 
[[Категория:Системен софтуер]]
[[Категория:Памети]]
 
[[cs:Master boot record]]
[[da:Master boot record]]
[[de:Master Boot Record]]
[[en:Master boot record]]
[[es:Master Boot Record]]
[[eu:MBR]]
[[fr:Master boot record]]
[[he:Master boot record]]
[[hu:Master Boot Record]]
[[id:Master boot record]]
[[it:Master boot record]]
[[ja:マスターブートレコード]]
[[ko:마스터 부트 레코드]]
[[nl:Master boot record]]
[[no:Master boot record]]
[[pl:Master boot record]]
[[pt:Master Boot Record]]
[[ru:Главная загрузочная запись]]
[[sv:Master Boot Record]]
[[uk:Головний завантажувальний запис]]
[[vi:Boot record]]
[[zh:主引导记录]]