Blok parametrów BIOS
W informatyce blok parametrów systemu BIOS , często skracany do BPB , to struktura danych w rekordzie rozruchowym woluminu (VBR) opisująca fizyczny układ woluminu do przechowywania danych . Na urządzeniach podzielonych na partycje, takich jak dyski twarde , BPB opisuje partycję woluminu, podczas gdy na urządzeniach bez partycji, 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 wykorzystują go również do opisywania podstawowych struktur systemu plików. Systemy plików korzystające z bloku 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ść danych, które zawierają, długość BPB jest różna 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óra opisuje FAT jak dla kaset elastycznych/dyskietek i dysków optycznych).
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 katalogu głównego |
0x013 |
0x08 |
SŁOWO | Całkowita liczba 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), już obsługiwany przez niektóre wersje MS-DOS 2.11:
Przesunięcie sektora | przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B |
0x00 |
13 BYTÓ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 BYTÓW | DOS 3.0 BPB |
0x01E |
0x13 |
SŁOWO | Łącznie sektory (niekompatybilne 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 BYTÓ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 z 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 BYTÓ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 BYTÓ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 BYTÓW | Etykieta woluminu |
0x036 |
0x2B |
8 BYTÓW | Typ systemu plików |
FAT32
DOS 7.1 EBPB
Format krótkiego rozszerzonego bloku parametrów BIOS-u DOS 7.1 (60 bajtów) dla FAT32 :
Przesunięcie sektora | przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B |
0x00 |
25 BYTÓW | DOS 3.31 BPB |
0x024 |
0x19 |
DWORD | Sektory logiczne na FAT |
0x028 |
0x1D |
SŁOWO | Lustrzane flagi itp. |
0x02A |
0x1F |
SŁOWO | Wersja |
0x02C |
0x21 |
DWORD | Klaster katalogu głównego |
0x030 |
0x25 |
SŁOWO | Lokalizacja sektora informacyjnego FS |
0x032 |
0x27 |
SŁOWO | Lokalizacja sektorów kopii zapasowych |
0x034 |
0x29 |
12 BYTÓ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 rozszerzonego systemu BIOS DOS 7.1 (79 bajtów) dla FAT32 :
Przesunięcie sektora | przesunięcie BPB | Długość pola | Opis |
---|---|---|---|
0x00B |
0x00 |
25 BYTÓW | DOS 3.31 BPB |
0x024 |
0x19 |
DWORD | Sektory logiczne na FAT |
0x028 |
0x1D |
SŁOWO | Lustrzane flagi itp. |
0x02A |
0x1F |
SŁOWO | Wersja |
0x02C |
0x21 |
DWORD | Klaster katalogu głównego |
0x030 |
0x25 |
SŁOWO | Lokalizacja sektora informacyjnego FS |
0x032 |
0x27 |
SŁOWO | Lokalizacja sektorów kopii zapasowych |
0x034 |
0x29 |
12 BYTÓW | Zarezerwowane (nazwa pliku rozruchowego) |
0x040 |
0x35 |
BAJT | Numer dysku fizycznego |
0x041 |
0x36 |
BAJT | Flagi itp. |
0x042 |
0x37 |
BAJT | Rozszerzona sygnatura rozruchu ( 0x29 ) |
0x043 |
0x38 |
DWORD | Numer seryjny woluminu |
0x047 |
0x3C |
11 BYTÓW | Etykieta woluminu |
0x052 |
0x47 |
8 BYTÓ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 BYTÓ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 |
QWORD | Sektory w objętości |
0x030 |
0x25 |
QWORD | Numer pierwszego klastra MFT |
0x038 |
0x2D |
QWORD | Numer pierwszego klastra lustrzanego MFT |
0x040 |
0x35 |
DWORD | Rozmiar rekordu MFT |
0x044 |
0x39 |
DWORD | Rozmiar bloku indeksu |
0x048 |
0x3D |
QWORD | Numer seryjny woluminu |
0x050 |
0x45 |
DWORD | Suma kontrolna |
exFAT BPB
exFAT nie używa BPB w klasycznym tego słowa znaczeniu. Niemniej jednak rekord rozruchowy woluminu w sektorze 0 jest zorganizowany podobnie do BPB.
Przesunięcie sektora | Długość pola (bajty) | Opis |
---|---|---|
0x000 |
3 | JumpBoot. Musi być 0xEB, 0x76, 0x90. |
0x003 |
8 | Nazwa systemu plików. Musi być „EXFAT” . |
0x00B |
53 | Pusty (tradycyjny obszar BPB). Musi być zero. |
Zobacz też
Dalsza lektura
- de Boyne Pollard, Jonathan. „Wszystko o blokach parametrów systemu BIOS” . Często udzielane odpowiedzi . Zarchiwizowane od oryginału w dniu 09.09.2017 . Źródło 2016-04-18 . — opis BPB, od wersji 2.0 do wersji 7.0
- Christopher, Ken W.; Feigenbaum, Barry A.; Saliga, Shon O. (1990). „9: Użycie dysku w systemie DOS” . Tworzenie aplikacji z wykorzystaniem systemu DOS . Wiley'a . ISBN 0-471-52231-7 . — W sekcji „przetwarzanie bloku parametrów BIOS-u” autorzy opisują ewolucję bloku parametrów BIOS-u od wersji MS-DOS 2.0 BPB do wersji PC DOS 4.0 BPB i oznaczają 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 . Howarda M. Samsa . 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 firmę Microsoft i może różnić się w zależności od różnych dostawców”. W czasach, gdy pisano tę książkę, było to prawdą. Firma Microsoft po raz pierwszy publicznie udokumentowała strukturę BPB w pakiecie OS/2 Developers' Toolkit.
-
Verstak, Alex (10.03.1998). „Sektor rozruchowy FAT” . Zarchiwizowane od oryginału w dniu 2016-07-30. — Verstak dokonuje inżynierii wstecznej bloku parametrów systemu BIOS. Artykuł zawiera kilka błędów. Jednym z takich jest stwierdzenie, że „obecność EBPB w FAT32 nie jest udokumentowana przez Microsoft”. Widzieć:
- Microsoftu . „Rozdział 10 - Dyski i systemy plików” . Zestaw zasobów systemu Microsoft Windows 98 . Zarchiwizowane od oryginału w dniu 09.09.2017 . Źródło 2017-09-09 . — 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ę do standardowego BPB” , ale to również „zawiera kilka dodatkowych pól”.
- Microsoftu . „Rozdział 32 — Pojęcia dotyczące dysków i rozwiązywanie problemów” . Zestaw zasobów systemu Microsoft Windows 2000 Professional . Zarchiwizowane od oryginału w dniu 2006-08-10 . Źródło 2006-06-01 . — Microsoft dokumentuje rozszerzone BPB na woluminach FAT16 i FAT32. Dokumentuje również BPB na woluminach NTFS.
- Microsoftu . „Jak działa NTFS” . Dokumentacja techniczna systemu Microsoft Windows Server 2003 NTFS . Zarchiwizowane od oryginału w dniu 2016-07-30. — Tabela „BPB i rozszerzone pola 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 użycie pola nazwy OEM w blokach rozruchowych woluminu” . Często udzielane odpowiedzi . Zarchiwizowane od oryginału w dniu 09.09.2017 . Źródło 2016-06-04 . — problem, który dotyczy BPB
- Paweł, Matthias R. (2004-08-25). "NOVOLTRK.REG" . www.drdos.org . Zarchiwizowane od oryginału w dniu 04.03.2016 . Źródło 2011-12-17 . [1]
- Paweł, Matthias R. (2002-02-20). „Potrzebujesz DOS 6.22 (nie OEM)” . Grupa dyskusyjna : alt.msdos.programmer . Zarchiwizowane od oryginału w dniu 09.09.2017 . Źródło 2006-10-14 . — w sprawie niewłaściwego wykorzystania etykiet OEM i narzędzia Volume Tracker firmy Microsoft
- Paweł, Matthias R. (2002-08-12). „Identyfikator systemu plików — „Komitet ds. standardów deskryptorów sektora rozruchowego alt.os.development” „ . Grupa dyskusyjna : alt.os.development . Zarchiwizowane od oryginału w dniu 2022-05-29 . Źródło 2019-07-29 .
- Bas, Wally (14.02.1994). „Rozmiar klastra” . Grupa dyskusyjna : comp.os.msdos.programmer . Zarchiwizowane od oryginału w dniu 09.09.2017 . Źródło 2006-10-14 .
- Elliott, John C. (17.04.2006) [18.06.2004]. „O 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.com . Zarchiwizowane od oryginału w dniu 2019-07-29 . Źródło 2019-07-29 .
-
Anonimowy (2004-06-15). „Mam nadzieję, że jest to pomocne w przypadku Microsoft i Caldera DR-DOS oraz identyfikatorów OEM” . Grokław . Źródło 2019-07-29 .
{{ cite web }}
: CS1 maint: stan adresu URL ( link ) - Kilmer, Jen (21.05.2013). „Zło :) DOS6 FAT” . Grupa dyskusyjna : comp.os.os2.misc . Zarchiwizowane od oryginału w dniu 2022-05-29 . Źródło 2019-07-29 .