Blok parametrów BIOS - BIOS parameter block
W obliczeniowej The Blok parametrów systemu BIOS , często skracany do BPB , to struktura danych w rekordzie rozruchowym objętość (VBR) opisującej Fizyczny układ przechowywania danych objętości . Na urządzeniach podzielonych na partycje, takich jak dyski twarde , BPB opisuje partycję woluminu, podczas gdy na urządzeniach niepartycjonowanych, takich jak dyskietki , opisuje cały nośnik. Podstawowy BPB może pojawić się i być używany na dowolnej partycji, w tym na dyskietkach, gdzie jego obecność jest często konieczna; jednak niektóre systemy plików również używają go do opisywania podstawowych struktur systemu plików. Systemy plików wykorzystujące blok parametrów BIOS obejmują FAT12 (z wyjątkiem DOS 1.x), FAT16 , FAT32 , HPFS i NTFS . Ze względu na różne typy pól i ilość zawartych w nich danych długość BPB jest inna dla sektorów rozruchowych FAT16, FAT32 i NTFS. (Szczegółowe omówienie różnych wersji FAT BPB i ich wpisów można znaleźć w artykule FAT .) W połączeniu z 11-bajtową strukturą danych na samym początku rekordów rozruchowych woluminu bezpośrednio poprzedzających BPB lub EBPB, jest to również nazywane FDC deskryptor lub rozszerzony deskryptor FDC w ECMA-107 lub ISO/IEC 9293 (który opisuje FAT jako elastyczne/dyskietki i kasety z dyskami optycznymi).
FAT12 / FAT16
DOS 2.0 BPB
Format standardowego DOS 2.0 BPB dla FAT12 (13 bajtów):
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | SŁOWO | Bajty na sektor logiczny |
0x00D | 0x02 | BAJT | Sektory logiczne na klaster |
0x00E | 0x03 | SŁOWO | Zarezerwowane sektory logiczne |
0x010 | 0x05 | BAJT | Liczba FAT |
0x011 | 0x06 | SŁOWO | Wpisy w katalogu głównym |
0x013 | 0x08 | SŁOWO | Suma sektorów logicznych |
0x015 | 0x0A | BAJT | Deskryptor mediów |
0x016 | 0x0B | SŁOWO | Sektory logiczne na FAT |
DOS 3.0 BPB
Format standardowego DOS 3.0 BPB dla FAT12 i FAT16 (19 bajtów), obsługiwany już przez niektóre wersje MS-DOS 2.11:
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | 13 bajtów | DOS 2.0 BPB |
0x018 | 0x0D | SŁOWO | Sektory fizyczne na ścieżkę |
0x01A | 0x0F | SŁOWO | Liczba głów |
0x01C | 0x11 | SŁOWO | Ukryte sektory (niekompatybilne z DOS 3.31 BPB ) |
DOS 3.2 BPB
Format standardowego DOS 3.2 BPB dla FAT12 i FAT16 (21 bajtów):
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | 19 bajtów | DOS 3.0 BPB |
0x01E | 0x13 | SŁOWO | Całkowita liczba sektorów (niezgodna z DOS 3.31 BPB ) |
DOS 3.31 BPB
Format standardowego DOS 3.31 BPB dla FAT12 , FAT16 i FAT16B (25 bajtów):
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | 13 bajtów | DOS 2.0 BPB |
0x018 | 0x0D | SŁOWO | Sektory fizyczne na ścieżkę (identyczne z DOS 3.0 BPB ) |
0x01A | 0x0F | SŁOWO | Liczba głowic (identyczna jak w DOS 3.0 BPB) |
0x01C | 0x11 | DWORD | Ukryte sektory (niekompatybilne z DOS 3.0 BPB) |
0x020 | 0x15 | DWORD | Duża łączna liczba sektorów logicznych |
DOS 3.4 EBPB
Format PC DOS 3.4 i OS/2 1.0-1.1 Extended BPB dla FAT12 , FAT16 i FAT16B (32 bajty):
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | 25 bajtów | DOS 3.31 BPB |
0x024 | 0x19 | BAJT | Numer dysku fizycznego |
0x025 | 0x1A | BAJT | Flagi itp. |
0x026 | 0x1B | BAJT | Rozszerzona sygnatura rozruchowa ( 0x28 aka "4.0") (podobna do DOS 4.0 EBPB i NTFS EBPB ) |
0x027 | 0x1C | DWORD | Numer seryjny woluminu |
FAT12 / FAT16 / HPFS
DOS 4.0 EBPB
Format DOS 4.0 i OS/2 1.2 Extended BPB dla FAT12 , FAT16 , FAT16B i HPFS (51 bajtów):
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | 25 bajtów | DOS 3.31 BPB |
0x024 | 0x19 | BAJT | Numer dysku fizycznego (identyczny z DOS 3.4 EBPB ) |
0x025 | 0x1A | BAJT | Flagi itp. (identyczne z DOS 3.4 EBPB) |
0x026 | 0x1B | BAJT | Rozszerzona sygnatura rozruchowa ( 0x29 aka „4.1”) (podobna do DOS 3.4 EBPB i NTFS EBPB ) |
0x027 | 0x1C | DWORD | Numer seryjny woluminu (identyczny z DOS 3.4 EBPB) |
0x02B | 0x20 | 11 bajtów | Etykieta woluminu |
0x036 | 0x2B | 8 bajtów | Typ systemu plików |
FAT32
DOS 7.1 EBPB
Format krótkiego rozszerzonego bloku parametrów BIOS DOS 7.1 (60 bajtów) dla FAT32 :
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | 25 bajtów | DOS 3.31 BPB |
0x024 | 0x19 | DWORD | Sektory logiczne na FAT |
0x028 | 0x1D | SŁOWO | Flagi lustrzane itp. |
0x02A | 0x1F | SŁOWO | Wersja |
0x02C | 0x21 | DWORD | Klaster katalogu głównego |
0x030 | 0x25 | SŁOWO | Lokalizacja Sektora Informacji FS |
0x032 | 0x27 | SŁOWO | Lokalizacja sektorów kopii zapasowych |
0x034 | 0x29 | 12 bajtów | Zarezerwowane (nazwa pliku rozruchowego) |
0x040 | 0x35 | BAJT | Numer dysku fizycznego |
0x041 | 0x36 | BAJT | Flagi itp. |
0x042 | 0x37 | BAJT | Rozszerzona sygnatura rozruchowa ( 0x28 ) |
0x043 | 0x38 | DWORD | Numer seryjny woluminu |
Format pełnego bloku parametrów BIOS DOS 7.1 Extended (79 bajtów) dla FAT32 :
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | 25 bajtów | DOS 3.31 BPB |
0x024 | 0x19 | DWORD | Sektory logiczne na FAT |
0x028 | 0x1D | SŁOWO | Flagi lustrzane itp. |
0x02A | 0x1F | SŁOWO | Wersja |
0x02C | 0x21 | DWORD | Klaster katalogu głównego |
0x030 | 0x25 | SŁOWO | Lokalizacja Sektora Informacji FS |
0x032 | 0x27 | SŁOWO | Lokalizacja sektorów kopii zapasowych |
0x034 | 0x29 | 12 bajtów | Zarezerwowane (nazwa pliku rozruchowego) |
0x040 | 0x35 | BAJT | Numer dysku fizycznego |
0x041 | 0x36 | BAJT | Flagi itp. |
0x042 | 0x37 | BAJT | Rozszerzona sygnatura rozruchowa ( 0x29 ) |
0x043 | 0x38 | DWORD | Numer seryjny woluminu |
0x047 | 0x3C | 11 bajtów | Etykieta woluminu |
0x052 | 0x47 | 8 bajtów | Typ systemu plików |
NTFS
Format rozszerzonego BPB dla NTFS (73 bajty):
Przesunięcie sektora | Przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B | 0x00 | 25 bajtów | DOS 3.31 BPB |
0x024 | 0x19 | BAJT | Numer dysku fizycznego (identyczny z DOS 3.4 EBPB ) |
0x025 | 0x1A | BAJT | Flagi itp. (identyczne z DOS 3.4 EBPB) |
0x026 | 0x1B | BAJT | Rozszerzona sygnatura rozruchowa ( 0x80 aka „8.0”) (podobna do DOS 3.4 EBPB i DOS 4.0 EBPB ) |
0x027 | 0x1C | BAJT | Skryty |
0x028 | 0x1D | QSŁOWO | Sektory w wolumenie |
0x030 | 0x25 | QSŁOWO | Numer pierwszego klastra MFT |
0x038 | 0x2D | QSŁOWO | Numer pierwszego klastra lustrzanego MFT |
0x040 | 0x35 | DWORD | Rozmiar rekordu MFT |
0x044 | 0x39 | DWORD | Rozmiar bloku indeksu |
0x048 | 0x3D | QSŁOWO | Numer seryjny woluminu |
0x050 | 0x45 | DWORD | Suma kontrolna |
exFAT BPB
exFAT nie używa BPB w klasycznym sensie. Niemniej jednak rekord rozruchowy woluminu w sektorze 0 jest zorganizowany podobnie do bloków BPB.
Przesunięcie sektora | Długość pola (w bajtach) | Opis |
---|---|---|
0x000 | 3 | Skocz do startu. Musi być 0xEB, 0x76, 0x90. |
0x003 | 8 | Nazwa systemu plików. Musi być „EXFAT” . |
0x00B | 53 | Puste (tradycyjny obszar BPB). Musi być zero. |
Zobacz też
Bibliografia
Dalsza lektura
- de Boyne Pollard, Jonathan. "Wszystko o blokach parametrów BIOS" . Często udzielane odpowiedzi . Zarchiwizowane od oryginału w dniu 2017-09-09 . Pobrano 2016-04-18 . — opis BPB od wersji 2.0 do wersji 7.0
- Christopher, Ken W.; Feigenbaum, Barry A.; Saliga, Shon O. (1990). „9: Wykorzystanie dysku DOS”. Tworzenie aplikacji w systemie DOS . Wiley . Numer ISBN 0-471-52231-7. — W sekcji „przetwarzanie bloku parametrów BIOS” autorzy opisują ewolucję bloku parametrów BIOS od wersji MS-DOS 2.0 BPB do wersji PC DOS 4.0 BPB i opisują każde pole wersją DOS, która go wprowadziła.
- Townsend, Carl (1989). „4: Organizacja i zarządzanie dyskami”. Zaawansowane techniki eksperckie MS-DOS dla programistów . Howard M. Sams . Numer ISBN 0-672-22667-7.— Rysunek 4.3 zawiera diagram BPB w wersji 4.0 i stwierdza, że układ BPB „nie jest zdefiniowany przez Microsoft i może różnić się w zależności od dostawcy”. W momencie pisania książki było to prawdą. Microsoft po raz pierwszy publicznie udokumentował strukturę BPB w zestawie OS/2 Developers' Toolkit.
-
Verstak, Alex (1998-03-10). „Sektor rozruchowy FAT” . Zarchiwizowane od oryginału w dniu 2016-07-30.— Verstak wykonuje inżynierię wsteczną bloku parametrów BIOS. Artykuł zawiera kilka błędów. Jednym z nich jest stwierdzenie, że „obecność EBPB w FAT32 nie jest udokumentowana przez Microsoft”. Widzieć:
- Microsoft . „Rozdział 10 – Dyski i systemy plików” . Zestaw zasobów systemu Microsoft Windows 98 . Zarchiwizowane od oryginału w dniu 2017-09-09 . Pobrano 09.09.2017 . — Microsoft dokumentuje wersję 4.0 BPB i nowy „FAT32 BIOS Parameter Block (BPB)” (wersja 7.0 BPB) dla DOS-Windows 98, który jest „większy niż standardowy BPB”, ma „identyczną strukturę jak standardowy BPB” , ale to również „zawiera kilka dodatkowych pól”.
- Microsoft . „Rozdział 32 – Pojęcia dotyczące dysków i rozwiązywanie problemów” . Zestaw zasobów Microsoft Windows 2000 Professional . Zarchiwizowane od oryginału w dniu 2006-08-10 . Pobrano 2006-06-01 .— Dokumenty firmy Microsoft rozszerzyły BPB na woluminach FAT16 i FAT32. Dokumentuje również BPB na woluminach NTFS.
- Microsoft . „Jak działa NTFS” . Dokumentacja techniczna systemu Microsoft Windows Server 2003 NTFS . Zarchiwizowane od oryginału w dniu 2016-07-30.— Tabela „Pola BPB i rozszerzonego BPB na woluminach NTFS” opisuje BPB na woluminach NTFS. Opisy kilku pól są sprzeczne z opisami zawartymi w zestawie Windows 2000 Resource Kit.
- de Boyne Pollard, Jonathan. „Znaczenie i zastosowanie pola Nazwa OEM w blokach rozruchowych woluminów” . Często udzielane odpowiedzi . Zarchiwizowane od oryginału w dniu 2017-09-09 . Pobrano 2016-06-04 . — problem, który wpływa na BPB
- Paul, Matthias R. (2004-08-25). "NOVOLTRK.REG" . www.drdos.org . Zarchiwizowane od oryginału w dniu 2016-03-04 . Źródło 2011-12-17 . [1]
- Paul, Matthias R. (2002-02-20). "Potrzebujesz DOS 6.22 (nie OEM)" . Grupa dyskusyjna : alt.msdos.programmer . Zarchiwizowane od oryginału w dniu 2017-09-09 . Źródło 2006-10-14 . — w sprawie nadużywania etykiet OEM i narzędzia Volume Tracker firmy Microsoft
- Paul, Matthias R. (2002-08-12). „System File ID -«Komitet standardy deskryptorów sektora startowego alt.os.development » ” . Grupa dyskusyjna : alt.os.development . Źródło 2019-07-29 .
- Bas, Wally (1994.02.14). „Rozmiar klastra” . Grupa dyskusyjna : comp.os.msdos.programmer . Zarchiwizowane od oryginału w dniu 2017-09-09 . Źródło 2006-10-14 .
- Elliott, John C. (2006-04-17) [2004-06-18]. „Na identyfikatorach OEM” . Seasip.info . 1.3. Zarchiwizowane od oryginału w dniu 08.04.2019 . Źródło 2019-07-29 .
- Barwnik, Charles E. (1999-03-20). "Problemy FDISK" . delorie.pl . Zarchiwizowane od oryginału dnia 2019-07-29 . Źródło 2019-07-29 .
- Anonimowy (2004-06-15). „Mam nadzieję, że jest to pomocne w przypadku identyfikatorów DR-DOS i OEM firmy Microsoft i Caldera” . Groklaw . Źródło 2019-07-29 .
- Kilmer, Jen (2013-05-21). "Zło :) DOS6 FAT" . Grupa dyskusyjna : comp.os.os2.misc . Źródło 2019-07-29 .