Rozszerzony rekord rozruchowy - Extended boot record

Rozszerzony rekord rozruchowy ( EBR ) lub rozszerzony rekord rozruchowy partycji ( EPBR ), to deskryptor dla partycji logicznej w ramach wspólnego systemu partycjonowania dysków twardych DOS. W tym systemie, gdy jedna (i tylko jedna) pozycja rekordu partycji w głównym rekordzie rozruchowym (MBR) jest oznaczona jako partycja rozszerzona , wówczas partycję tę można podzielić na kilka partycji logicznych. Faktyczna struktura tej rozszerzonej partycji jest opisana przez jeden lub więcej zewnętrznych EBR, które znajdują się wewnątrz rozszerzonej partycji. Pierwszy (i czasami jedyny) EBR będzie zawsze znajdował się w pierwszym sektorze partycji rozszerzonej.

W przeciwieństwie do partycji podstawowych, które są wszystkie opisane przez pojedynczą tablicę partycji w MBR, a zatem ich liczba jest ograniczona, każdy EBR poprzedza opisaną przez siebie partycję logiczną. Jeśli nastąpi kolejna partycja logiczna, pierwszy EBR będzie zawierał wpis wskazujący na następny EBR; w ten sposób wiele zewnętrznych relacji biznesowych tworzy połączoną listę . Oznacza to, że liczba dysków logicznych, które można utworzyć w ramach partycji rozszerzonej, jest ograniczona jedynie ilością dostępnego miejsca na dysku w danej partycji rozszerzonej.

Podczas gdy w wersjach Windows do XP partycje logiczne w rozszerzonej partycji były wyrównane zgodnie z konwencjami zwanymi „geometrią dysku” lub „CHS” , od Windows Vista są one wyrównane do granicy 1-MB. Ze względu na tę różnicę w wyrównaniu Menedżer dysków logicznych XP (Zarządzanie dyskami) może usunąć te rozszerzone partycje bez ostrzeżenia.

Struktura i wartości EBR

Zewnętrzne relacje biznesowe mają zasadniczo taką samą strukturę jak MBR; z wyjątkiem tego, że mają być używane tylko pierwsze dwa wpisy tabeli partycji, oprócz posiadania obowiązkowej sygnatury rekordu rozruchowego (lub magicznej liczby ) 0xAA55 na końcu sektora. Ten 2-bajtowych podpisu pojawia się w edytorze dysku jak 0x55 pierwszej i 0xAA ostatni, bo kompatybilny z IBM PC przechowywać szesnastkowym słowa ostrokońcej kolejności (patrz tabela poniżej).

Struktury

Wspólna struktura rozszerzonych rekordów rozruchowych:
Offsety w sektorach EBR Zawartość Rozmiar
Klątwa Grud bajtów
000 – 1BD 000 - 445 Generalnie nieużywany; zwykle wypełnione zerami;
może zawierać inny program ładujący, tj. rekord rozruchowy partycji, na przykład w połączeniu z zaawansowanymi partycjami aktywnymi
446
1BE – 1CD 446 - 461 Pierwszy wpis w tablicy partycji 16
1CE – 1DD 462 - 477 Drugi wpis w tablicy partycji 16
1DE – 1ED 478 - 493 Nieużywany trzeci wpis wypełniony zerami 16
1EE – 1FD 494 - 509 Nieużywany czwarty wpis wypełniony zerami 16
1FE - 1FF 510-511 Sygnatura 55AAh w porządku sieciowym typu big-endian , taka sama jak little-endian 0xAA55 . Na dysku: 0x55 przy przesunięciu 510 i 0xAA przy przesunięciu 511.
2
EBR, całkowity rozmiar: 446 + (4 × 16) +2 = 512

IBM Boot Manager (dołączony do systemów operacyjnych OS / 2 i niektórych wczesnych wersji Partition Magic ) dodaje co najmniej jeden 9-bajtowy wpis (zaczynając od offsetu 0x18A ) do każdego sektora EBR. Wpis składa się z bajtu wartości flagi (wskazującego, czy partycja znajduje się w menu IBM Boot Manager), po którym następuje 8-bajtowy łańcuch ASCII, który jest nazwą, która ma być używana w menu. Jeśli partycja nie jest uwzględniona w menu startowym (np. Partycje tylko do danych), bajt flagi ma wartość zero; w takim przypadku następujące 8-bajtowe pole może zawierać reprezentację ASCII numeru sektora początkowego tej partycji (w systemie szesnastkowym).

Struktura 16-bajtowego wpisu tablicy partycji MBR lub EBR:
Przesunięcia w ramach wejścia Bajty Opis
Klątwa Grud
1?E 1 0 1 Wskaźnik rozruchu (80h dla aktywnych; w przeciwnym razie 00h)
1?F - 1?1  1 - 3 3 Adres sektora głowicy cylindrów CHS : początek partycji
1?2 4 1 Kod typu strefy
1?3 - 1?5  5 - 7 3 Adres sektora głowicy cylindrów CHS : koniec partycji
1?6 - 1?9  8 - 11 4 Adres bloku logicznego LBA : początek partycji
1?A - 1?D 12 - 15 4 Rozmiar partycji (w sektorach)
1 : Do 1?E odczytu 1BE lub 1CE do zdobycia hex. przesunięcie odpowiednio pierwszego lub drugiego wpisu

Typ partycji rozszerzonej to 0x05 ( adresowanie CHS ) lub 0x0F ( adresowanie LBA ). DR DOS 6.0 i nowsze obsługują zabezpieczone partycje rozszerzone przy użyciu 0xC5 , które są niewidoczne dla innych systemów operacyjnych. Ponieważ wersje DR-DOS bez obsługi LBA do 7.03 nie rozpoznają typu partycji 0x0F, a inne systemy operacyjne nie rozpoznają typu 0xC5 , można to również wykorzystać do zajmowania miejsca do pierwszych 8 GB dysku do użytku w systemie DR-DOS (dla dysków logicznych w zabezpieczonych lub niezabezpieczonych partycjach) i nadal używaj 0x0F do przydzielania pozostałej części dysku dla systemów operacyjnych obsługujących LBA w sposób bezkonfliktowy. Podobnie Linux obsługuje koncepcję drugiego rozszerzonego łańcucha partycji typu 0x85 - ten typ jest ukryty (nieznany) dla innych systemów operacyjnych obsługujących tylko jeden łańcuch. Inne rozszerzone typy partycji, które mogą zawierać EBR, obejmują celowo ukryte typy 0x15 , 0x1F , 0x91 i 0x9B , typy z ograniczonym dostępem 0x5E i 0x5F oraz zabezpieczone typy 0xCF i 0xD5 . Należy je jednak traktować jako prywatne dla systemów operacyjnych i obsługujących je narzędzi i nie należy ich montować w inny sposób.

W CHS adresy partycji są trudne do zinterpretowania bez znajomości (wirtualny) geometrii dysku, ponieważ CHS do tłumaczenia LBA są w oparciu o liczbę głowic oraz liczba sektorów na ścieżkę. Jednak podany adres początkowy LBA i podany rozmiar partycji w sektorach pozwalają obliczyć geometrię dysku pasującą do podanych adresów CHS, jeśli jest to w ogóle możliwe. Adresowanie CHS z 24 bitami zawsze wykorzystuje 6 bitów dla maksymalnie 63 sektorów na ścieżkę (1 ... 63), a dostęp do dysku INT 13h zwykle wykorzystuje 8 bitów dla maksymalnie 256 głowic (0 ... 255), pozostawiając 10 bitów na do 1024 cylindrów (0 ... 1023). Adresy ATA CHS zawsze używają 4 bitów dla maksymalnie 16 głowic (0… 15), co pozostawia 14 bitów dla maksymalnie 16383 cylindrów ( {{1}}} ) w 24-bitowej translacji adresów CHS ATA-5.

Wartości

Poniżej przedstawiono ogólne zasady, które mają zastosowanie tylko do wartości znajdujących się w 4-bajtowych polach wpisów tabeli partycji EBR (por. Tabele powyżej). Te wartości zależą od narzędzi do partycjonowania użytych do ich utworzenia lub zmiany. W rzeczywistości większość systemów operacyjnych korzystających z rozszerzonego schematu partycjonowania (w tym Microsoft MS-DOS i Windows oraz Linux) ignoruje wartość „rozmiaru partycji” w wpisy wskazujące na inny sektor EBR. Jedynym wyjątkiem jest to, że dla systemów operacyjnych Linux wartość musi wynosić co najmniej jeden.

Pierwszy wpis od uzyskania punktów tabeli partycji EBR do partycji logicznej należącego do tej EBR:

  • Sektor początkowy = względne przesunięcie między tym sektorem EBR a pierwszym sektorem partycji logicznej
Uwaga: Jest to często ta sama wartość dla każdego EBR na tym samym dysku twardym; zwykle 63 dla systemu Windows XP lub starszego.
  • Liczba sektorów = całkowita liczba sektorów dla tej partycji logicznej
Uwaga: Wszelkie nieużywane sektory między EBR a dyskiem logicznym nie są uważane za część dysku logicznego.

Drugi wpis z tabeli partycji EBR będzie zawierać zerowych bajtów, jeśli jest to ostatni EBR w partycji rozszerzonej; w przeciwnym razie wskazuje na następny EBR w łańcuchu EBR.

innymi słowy, EBR musi mieć prawidłowy typ partycji, tak jak partycja musi mieć prawidłowy typ partycji.
  • Sektor początkowy = względny adres następnego EBR w rozszerzonej partycji
innymi słowy: Sektor początkowy = adres LBA następnego EBR minus adres LBA pierwszego EBR partycji rozszerzonej
  • Liczba sektorów = całkowita liczba sektorów dla następnej partycji logicznej, ale liczenie zaczyna się od następnego sektora EBR
Uwaga: W przeciwieństwie do pierwszego wpisu w tablicy partycji EBR, ta liczba sektorów obejmuje sektor EBR następnej partycji logicznej wraz z innymi sektorami na jej nieużywanej ścieżce . (Porównaj diagram 1 i 2 poniżej.)
Schemat 1. Co początkowy i
całkowita liczba sektorów wartości
1 wpis wskaż i enumerate .
Wykres 2. Co początkowy i całkowita
liczba
sektorów wartości danej EBR za
2 wejścia wskaż i enumerate .

Uwagi:
Powyższe diagramy nie są skalowane: Cienkie białe linie między każdym „EBR” a jego logiczną „partycją” reprezentują pozostałą część nieużywanego obszaru, zwykle o długości 63 sektorów; w tym pojedynczy sektor EBR (pokazany w znacznie przesadzonej wielkości).

W niektórych systemach może istnieć duża luka nieużywanego miejsca między końcem partycji logicznej a następnym EBR lub między ostatnią partycją logiczną a końcem samej partycji rozszerzonej, jeśli jakakolwiek wcześniej utworzona partycja logiczna została usunięta lub zmieniony rozmiar (skurczony).

Przeplatanie EBR i partycji pokazane powyżej jest typowe, ale nie jest wymagane. Prawidłowe jest posiadanie dwóch lub więcej kolejnych EBR, po których następują co najmniej dwa regiony danych podziału.

Nazewnictwo

Linux i podobne systemy operacyjne wyznaczają dyski twarde IDE jako /dev/hda pierwszy dysk twardy, /dev/hdb drugi dysk twardy i tak dalej. Podobnie SCSI, aw późniejszych jądrach również dyski twarde IDE i SATA są identyfikowane jak /dev/sda dla pierwszego dysku itp.

Maksymalnie cztery partycje zdefiniowane w głównym rekordzie rozruchowym są oznaczone jako /dev/hda1 ... /dev/hda4 dla /dev/hda . Na przykład piąta partycja w tym schemacie /dev/hda5 odpowiada pierwszemu napędowi logicznemu . Szósta partycja /dev/hda6 odpowiadałaby wówczas drugiemu dyskowi logicznemu , czyli innymi słowy, kontenery partycji rozszerzonych nie są liczone. Tylko najbardziej zewnętrzna partycja rozszerzona zdefiniowana w MBR (jedna z /dev/hda1 ... /dev/hda4 ) ma nazwę w tym schemacie.

Przykłady

Pokazuje partycję rozszerzoną z 6000 sektorów i 3 partycjami logicznymi.
Uwaga: Ani mała rozszerzona partycja z tylko 3 MB, ani dysk twardy z 20 sektorami na ścieżkę nie są realistyczne, ale te wartości zostały wybrane, aby uczynić ten przykład bardziej czytelnym.

06-02-05-EMBR-A.png

Migawka

Poniższe dane wyjściowe narzędzia wiersza poleceń przedstawiają układ dysku z dwoma napędami logicznymi. Szczegóły na FAT i NTFS partycji pozbawiony linia opatrzone Linux jest /dev/hda6 z rozszerzonego systemu plików . Początek /dev/hda5 pokazuje, że zaangażowane systemy operacyjne PC DOS 7 , Windows NT i Debian nie nalegają na żadne rozszerzone wyrównanie partycji z luką:

 \\.\PHYSICALDRIVE0 (assuming geometry CHS 99999 255 63)  id. [3189-3188]
   MBR CHS     0   0  1 at          0, end     0   0  1, size          1
unused CHS     0   0  2 at          1, end     0   0 63, size         62
1:*06: CHS     0   1  1 at         63, end   260 254 63, size    4192902 bigFAT
2: 05: CHS   261   0  1 at    4192965, end   757 254 63, size    7984305 => EXT
3: 17: CHS   758   0  1 at   12177270, end  1522 254 63, size   12289725 NTFS
4: 1C: CHS  1523   0  1 at   24466995, end  1825 254 63, size    4867695 FAT32
          (extended offset    4192965)                  total   29334690
=> EXT CHS   261   0  1 at          0, end   261   0  1, size          1
5: 06: CHS   261   0  2 at          1, end   384 254 63, size    1992059 bigFAT
6: 05: CHS   385   0  1 at    1992060, end   757 254 63, size    5992245 => EXT
          (extended offset    6185025)                  total    7984305
=> EXT CHS   385   0  1 at          0, end   385   0  1, size          1
unused CHS   385   0  2 at          1, end   385   0 63, size         62
6: 83: CHS   385   1  1 at         63, end   757 254 63, size    5992182 Linux
7: 00: CHS     0   0  0 at          0, end     0   0  0, size          0 unused
                                                        total    5992245

bigFAT CHS     0   1  1 at         63, end   260 254 63, size    4192902
PC DOS 7    (cluster size  64, number      65506)       total    4192902

  NTFS CHS   758   0  1 at   12177270, end  1522 254 63, size   12289725
[1C81-013D] (cluster size   8, number    1536215)       total   12289725

 FAT32 CHS  1523   0  1 at   24466995, end  1825 254 63, size    4867695
[C417-9E22] (cluster size   8, number     607271)       total    4867695

bigFAT CHS   261   0  2 at    4192966, end   384 254 63, size    1992059
FAT SWAP    (cluster size  32, number      62236)       total    1992059

Aby zapoznać się z innym przykładem, zobacz „Linux Partition HOWTO” .

Przypisy

Zobacz też

Bibliografia

  1. ^ a b c „Pojęcia dotyczące dysków i rozwiązywanie problemów” . Omówienie techniczne usług internetowych i aplikacji systemu Windows 2000 . Microsoft Technet. 2000 . Źródło 2011-07-19 .
  2. ^ „Partycja obsługująca system Windows Vista może zniknąć, jeśli używasz systemu Windows XP do tworzenia partycji na komputerze z zainstalowanym systemem Windows XP i Windows Vista” . Pomoc techniczna firmy Microsoft . 2007-12-02 . Źródło 2015-08-29 .
  3. ^ a b „Rozwiązywanie problemów z dyskami i systemami plików” . Zestaw zasobów systemu Windows XP . Microsoft TechNet . 2005-11-03 . Źródło 2011-09-15 .
  4. ^ a b Andries E. Brouwer (2011). „Lista identyfikatorów partycji dla komputerów PC” . Źródło 2011-07-19 . [0 x 05 s] obsługuje maksymalnie 8,4 GB dysków: z typem 05 DOS / Windows nie będzie używać rozszerzonego wywołania BIOS, nawet jeśli jest dostępne. Zobacz typ 0f poniżej. Użycie typu 05 dla partycji rozszerzonych powyżej 8 GB może prowadzić do uszkodzenia danych w systemie MSDOS.
  5. ^ Andries Brouwer (2004). „Rozszerzone i logiczne partycje” . Duży dysk HOWTO . Źródło 2011-07-19 .
  6. ^ „ATA-5” (PDF) . T13 / 1321D . INCITS Komitet Techniczny T10 SCSI Interfejsy pamięci masowej. 2000. Zarchiwizowane od oryginalnego (PDF) w dniu 2011-07-28 . Źródło 2011-07-30 .
  7. ^ Juergen Haas. „Rozszerzone partycje” . linux.about.com . Źródło 2011-07-19 .
  8. ^ Anthony Lissot (2005). „Partycjonowanie za pomocą fdisk” . Linux Partition HOWTO wersja 3.5 . Źródło 2011-07-19 .