Konfiguracja sprzętu i oprogramowania

Przechowywanie informacji na dyskach twardych

Przechowywanie informacji na dyskach twardych

Część 1

1. Wstęp

Większość użytkowników, odpowiadając między innymi na pytanie, co znajduje się w ich jednostce systemowej, wymienia dysk twardy. Winchester to urządzenie, na którym najczęściej przechowywane są Twoje dane. Istnieje legenda wyjaśniająca, dlaczego dyski twarde mają tak wymyślną nazwę. Pierwszy dysk twardy, wydany w Ameryce na początku lat 70., miał pojemność 30 MB informacji na każdej powierzchni roboczej. W tym samym czasie karabin magazynowy O.F. Winchester, szeroko znany w tej samej Ameryce, miał kaliber 0,30; może pierwszy dysk twardy podczas swojej pracy dudnił jak automat lub pachniał prochem - nie wiem, ale od tego czasu dyski twarde nazywa się dyskami twardymi.

Awarie występują podczas pracy komputera. Wirusy, przerwy w dostawie prądu, błędy oprogramowania - wszystko to może spowodować uszkodzenie informacji przechowywanych na dysku twardym. Uszkodzenie informacji nie zawsze oznacza ich utratę, dlatego warto wiedzieć, w jaki sposób są przechowywane na dysku twardym, ponieważ wtedy można je przywrócić. Wtedy, na przykład, jeśli obszar rozruchowy zostanie uszkodzony przez wirusa, w ogóle nie jest konieczne formatowanie całego dysku (!), ale po przywróceniu uszkodzonego obszaru kontynuuj normalną pracę z zachowaniem wszystkich bezcennych danych.

Z jednej strony, pisząc ten artykuł, postawiłem sobie za zadanie powiedzieć Ci:

  1. o zasadach zapisu informacji na dysku twardym;
  2. o umieszczeniu i załadowaniu systemu operacyjnego;
  3. o tym, jak umiejętnie podzielić nowy dysk twardy na sekcje, aby korzystać z kilku systemów operacyjnych.

Z drugiej strony chcę przygotować czytelnika do drugiego artykułu, w którym opowiem o programach zwanych boot managerami. Aby zrozumieć, jak działają te programy, musisz mieć podstawową wiedzę na temat takich rzeczy, jak MBR, partycje itp.

Dosyć ogólnych słów - zacznijmy.

2. Urządzenie z dyskiem twardym

Dysk twardy (HDD - Hard Disk Drive) ułożony jest w następujący sposób: na wrzecionie połączonym z silnikiem elektrycznym znajduje się blok kilku dysków (naleśników), nad powierzchnią których znajdują się głowice do odczytu/zapisu informacji. Głowy mają kształt skrzydła i są przymocowane do smyczy w kształcie półksiężyca. Podczas pracy „latają” nad powierzchnią dysków w strumieniu powietrza, który powstaje podczas obrotu tych samych dysków. Oczywiście siła podnoszenia zależy od ciśnienia powietrza na głowach. To z kolei zależy od zewnętrznego ciśnienia atmosferycznego. Dlatego niektórzy producenci wskazują maksymalny pułap operacyjny w specyfikacjach swoich urządzeń (na przykład 3000 m). Dlaczego nie samolot? Płyta jest podzielona na ścieżki (lub ścieżki), które z kolei są podzielone na sektory. Dwie ścieżki równoodległe od środka, ale znajdujące się po przeciwnych stronach dysku, nazywane są cylindrami.

3. Przechowywanie informacji

Dysk twardy, jak każde inne urządzenie blokowe, przechowuje informacje w stałych częściach zwanych blokami. Blok to najmniejszy fragment danych, który ma unikalny adres na dysku twardym. W celu odczytania lub zapisania właściwych informacji we właściwym miejscu konieczne jest przedstawienie adresu bloku jako parametru polecenia wydawanego do kontrolera dysku twardego. Rozmiar bloku od dłuższego czasu jest standardem dla wszystkich dysków twardych - 512 bajtów.

Niestety dość często dochodzi do pomylenia takich pojęć jak „sektor”, „klaster” i „blok”. W rzeczywistości nie ma różnicy między „blokem” a „sektorem”. To prawda, że ​​jedna koncepcja jest logiczna, a druga topologiczna. „Klaster” to pewna liczba sektorów uznawanych przez system operacyjny za jeden. Dlaczego nie porzucili prostej pracy z sektorami? Odpowiem. Przejście do klastrów nastąpiło, ponieważ rozmiar tabeli FAT był ograniczony, a rozmiar dysku wzrósł. W przypadku FAT16 dla dysku 512 MB klaster będzie miał 8 KB, do 1 GB — 16 KB, do 2 GB — 32 KB i tak dalej.

Aby jednoznacznie zaadresować blok danych, należy podać wszystkie trzy liczby (numer cylindra, numer sektora na ścieżce, numer głowicy). Ta metoda adresowania dysków była szeroko stosowana i została następnie oznaczona skrótem CHS (cylinder, głowica, sektor). To właśnie ta metoda została pierwotnie zaimplementowana w BIOS-ie, więc później pojawiły się z nią ograniczenia. Faktem jest, że BIOS zdefiniował bitową siatkę adresów na 63 sektory, 1024 cylindry i 255 głowic. Jednak rozwój dysków twardych w tamtym czasie ograniczył się do użycia tylko 16 głowic ze względu na złożoność produkcji. Stąd pojawiło się pierwsze ograniczenie maksymalnej adresowalnej pojemności dysku twardego: 1024×16×63×512 = 504 MB.

Z biegiem czasu producenci zaczęli produkować większe dyski twarde. W związku z tym liczba cylindrów na nich przekroczyła 1024, maksymalną dopuszczalną liczbę cylindrów (z punktu widzenia starszych BIOSów). Jednak adresowalna część dysku nadal miała 504 MB, pod warunkiem, że dostęp do dysku uzyskano za pomocą systemu BIOS. To ograniczenie zostało z czasem usunięte przez wprowadzenie tzw. mechanizmu translacji adresów, o którym mowa poniżej.

Problemy, które pojawiły się w związku z ograniczeniami BIOS-u w zakresie fizycznej geometrii dysków, doprowadziły ostatecznie do pojawienia się nowego sposobu adresowania bloków na dysku. Ta metoda jest dość prosta. Bloki na dysku opisane są jednym parametrem - adresem liniowym bloku. Adresowanie dysków liniowo otrzymało skrót LBA (adresowanie bloków logicznych). Adres liniowy bloku jest jednoznacznie powiązany z jego adresem CHS:

lba = (cyl*HEADS + głowa)*SECTORS + (sektor-1);

Wprowadzenie obsługi adresowania liniowego w kontrolerach dysków twardych umożliwiło BIOSowi podjęcie translacji adresów.Istotą tej metody jest to, że jeśli w powyższym wzorze zwiększymy parametr HEADS, to do adresowania tego samego będzie potrzebna mniejsza liczba cylindrów liczba bloków dyskowych.Ale z drugiej strony będzie potrzebnych więcej głowic.Jednak wykorzystano tylko 16 z 255 głowic.W związku z tym BIOS-y zaczęły przenosić nadmiar cylindrów do głowic, zmniejszając liczbę niektórych i zwiększając liczbę innych. To pozwoliło im wykorzystać całą siatkę bitów głów. To przesunęło limit miejsca na dysku adresowanym przez BIOS do 8 GB.

Nie sposób nie powiedzieć kilku słów o Trybie Dużym. Ten tryb działania jest przeznaczony do obsługi dysków twardych o pojemności do 1 GB. W trybie dużym liczba głowic logicznych zostaje zwiększona do 32, a liczba cylindrów logicznych zmniejsza się o połowę. W tym przypadku dostępy do głowic logicznych 0..F są tłumaczone na parzyste cylindry fizyczne, a dostępy do głowic 10..1F są tłumaczone na nieparzyste. Dysk twardy oznaczony w trybie LBA jest niezgodny z trybem Large i na odwrót.

Dalszy wzrost adresowalnych woluminów dysku przy użyciu usług starego systemu BIOS stał się zasadniczo niemożliwy. Rzeczywiście, wszystkie parametry są używane zgodnie z maksymalnym „barem” (63 sektory, 1024 cylindry i 255 głowic). Następnie opracowano nowy rozszerzony interfejs BIOS-u, uwzględniający możliwość bardzo dużych adresów blokowych. Jednak interfejs ten nie jest już kompatybilny ze starym, w wyniku czego stare systemy operacyjne, takie jak DOS, które wykorzystują stare interfejsy BIOS-u, nie mogły i nie będą w stanie przekroczyć granic 8 GB. Prawie wszystkie nowoczesne systemy nie używają już BIOS-u, ale używają własnych sterowników do pracy z dyskami. Dlatego to ograniczenie ich nie dotyczy. Należy jednak rozumieć, że zanim system będzie mógł korzystać z własnego sterownika, musi najmniej go ładować.Dlatego włączony Podczas fazy rozruchu każdy system jest zmuszony do korzystania z BIOS-u. Powoduje to ograniczenia w umieszczaniu wielu systemów powyżej 8 GB, nie mogą stamtąd startować, ale mogą odczytywać i zapisywać informacje (na przykład DOS, który współpracuje z dyskiem przez BIOS).

4. Sekcje lub partycje

Przejdźmy teraz do umieszczania systemów operacyjnych na dyskach twardych. Aby uporządkować systemy, przestrzeń adresowa bloków na dysku jest podzielona na części zwane partycjami. Partycje są dokładnie jak cały dysk, ponieważ składają się z ciągłych bloków. Dzięki takiej organizacji do opisania odcinka wystarczy wskazać w blokach początek odcinka i jego długość. Dysk twardy może zawierać cztery partycje podstawowe.

Podczas uruchamiania komputera BIOS ładuje pierwszy sektor partycji głównej (sektor rozruchowy) o godzinie 0000h:7C00h i przekazuje mu kontrolę. Na początku tego sektora znajduje się bootloader (kod rozruchowy), który odczytuje tablicę partycji i określa partycję rozruchową (aktywną). A potem wszystko się powtarza. Oznacza to, że ładuje sektor rozruchowy tej partycji na ten sam adres i ponownie przekazuje mu kontrolę.

Sekcje to pojemniki na całą ich zawartość. Ta zawartość to zazwyczaj system plików. Z punktu widzenia dysku, system plików odnosi się do systemu układu blokowego do przechowywania plików. Po utworzeniu systemu plików na partycji i umieszczeniu na nim plików systemu operacyjnego partycja może stać się bootowalna. Partycja rozruchowa ma w swoim pierwszym bloku mały program, który ładuje system operacyjny. Jednak, aby uruchomić określony system, musisz jawnie uruchomić jego program startowy z pierwszego bloku. Jak to się dzieje, zostanie omówione poniżej.

Partycje z systemami plików nie mogą na siebie nachodzić. Dzieje się tak, ponieważ dwa różne systemy plików mają własne wyobrażenie o tym, gdzie umieszczane są pliki, ale gdy ta lokalizacja znajduje się w tej samej fizycznej lokalizacji na dysku, występuje konflikt między systemami plików. Ten konflikt nie występuje natychmiast, ale dopiero wtedy, gdy pliki zaczynają być umieszczane w miejscu na dysku, w którym przecinają się partycje. Dlatego należy uważać na dzielenie dysku na partycje.

Same przekroje nie są niebezpieczne. Niebezpieczne jest umieszczanie kilku systemów plików na nakładających się partycjach. Partycjonowanie dysku nie oznacza tworzenia systemów plików. Jednak sama próba utworzenia pustego systemu plików (czyli formatowania) na jednej z przecinających się partycji może prowadzić do błędów w systemie plików innej partycji. Wszystko to dotyczy w równym stopniu wszystkich systemów operacyjnych, nie tylko tych najpopularniejszych.

Dysk jest programowo podzielony na sekcje. Oznacza to, że możesz utworzyć dowolną konfigurację partycji. Informacje o partycjonowaniu są przechowywane w pierwszym bloku dysku twardego, zwanym głównym rekordem rozruchowym (MBR).

5. MBR

MBR jest podstawowym narzędziem rozruchowym dysku twardego obsługiwanym przez BIOS. Dla jasności przedstawiamy zawartość obszaru bagażnika w postaci diagramu:

Wszystko, co znajduje się pod offsetem 01BEh-01FDh, nazywa się tablicą partycji. Widać, że ma cztery sekcje. Tylko jedna z czterech partycji może być oznaczona jako aktywna, co oznacza, że ​​program startowy musi załadować do pamięci pierwszy sektor tej partycji i tam przenieść kontrolę. Ostatnie dwa bajty MBR muszą zawierać liczbę 0xAA55. Na podstawie obecności tej sygnatury system BIOS weryfikuje, czy pierwszy blok został pomyślnie załadowany. Ten podpis nie został wybrany przypadkowo. Pomyślne sprawdzenie tego pozwala ustalić, że wszystkie linie danych mogą przesyłać zarówno zera, jak i jedynki.

Program startowy przegląda tablicę partycji, wybiera aktywną, ładuje pierwszy blok tej partycji i przekazuje tam kontrolę.

Zobaczmy, jak działa deskryptor partycji:


* 0001h-0003h początek sekcji
** 0005h-0007h koniec odcinka

Z punktu widzenia partycji dyskowych, MS-DOS do niedawna był i pozostaje najpopularniejszym. Wykorzystuje dwie z czterech partycji: partycję podstawową DOS, partycję rozszerzoną DOS. Pierwsza (pierwotna) to normalny napęd DOS C:. Drugi to kontener dysku logicznego. Wszystkie one wiszą tam w postaci łańcucha podsekcji, które nazywają się tak: D:, E:, ... Dyski logiczne mogą również mieć obce systemy plików, które różnią się od systemu plików DOS. Jednak z reguły niejednorodność systemu plików wynika z obecności innego systemu operacyjnego, który, ogólnie rzecz biorąc, powinien być umieszczony na własnej partycji (nie rozszerzony DOS), ale tablica partycji jest często zbyt mała dla takiej partycji. wybryki.

Zwróćmy uwagę na jeszcze jedną ważną okoliczność. Gdy DOS jest zainstalowany na czystym dysku twardym, nie ma alternatywy w wyborze systemów operacyjnych podczas rozruchu. Dlatego bootloader wygląda bardzo prymitywnie, nie musi pytać użytkownika, jaki system chce uruchomić. Chcąc mieć kilka systemów jednocześnie, konieczne staje się uruchomienie programu, który pozwala wybrać system do uruchomienia.

6. Wniosek

Mam nadzieję, że udało mi się przedstawić wystarczająco jasne i szczegółowe informacje na temat podstawowych informacji o dysku twardym, MBR i PT. Moim zdaniem taki zestaw wiedzy wystarczy na małą „naprawę” przechowywania informacji. W następnym artykule opowiem o programach o nazwie Boot Manager i ich działaniu.

Wielkie dzięki za pomoc dla Władimira Daszewskiego

Podobał Ci się artykuł? Podziel się z przyjaciółmi!
Czy ten artykuł był pomocny?
tak
Nie
Dziekuję za odpowiedź!
Coś poszło nie tak i Twój głos nie został policzony.
Dziękuję Ci. Twoja wiadomość została wysłana
Znalazłeś błąd w tekście?
Wybierz, kliknij Ctrl+Enter a my to naprawimy!