Poszukuję (nieco) lepszych wyjaśnień na temat obsługi dysków twardych o pojemności> 2 TB

9

Dzisiaj, gdy Googling o mnie natknąłem się na posty, twierdząc, że Seagate planuje wysłać dysk 3 TB w późniejszym terminie w 2010 roku. Niestety, rzeczy, na które patrzyłem, zawierały ciekawostki, które nie pasowały do ​​mnie właściwie. (Chciałbym zamieścić linki do niektórych przykładów, ale w tej chwili wolno mi tylko 1 link na post).

Teraz naprawdę nie mam żadnej „potrzeby”, aby lepiej zrozumieć nużące szczegóły tego. Jestem po prostu ciekaw. I zmieszany.

Więc ... niektóre pytania Mam nadzieję, że ktoś lepiej poinformowany, niż mógłbym odpowiedzieć.

  1. Rozmowa o potencjalnym problemie ze sprzętem i oprogramowaniem mnie zdezorientowała. Twierdzenie jest takie, że coś, co nazywa się tak zwanym, Long LBA addressing (LLBA)jest potrzebne, Command Descriptor Blockaby ominąć obecne limity dostępu do dysku twardego większego niż 2 TB (1 TB = 2⁴⁰ B).

    Ok dobrze. Ale myślałem, że kiedy ostatni raz pojawił się ten problem, został rozwiązany poprzez zwiększenie długości pola LBA z 28 do 48 bitów. (Pamiętasz tę stronę? Www.48bitlba.com ) 6-bajtowy LBA jest wyraźnie wystarczająco duży, więc o co chodzi z tą rozmową o LLBA. Myślałem, że to wszystko zostało naprawione przez Win XP SP2, jeśli nie wcześniej? I na pewno cały sprzęt powinien sprostać zadaniu, prawda?

  2. Prawdziwy problem, jaki rozumiem z dyskami znacznie większymi niż 2 TB, to 4 bajtowe pola LBA w głównym rekordzie rozruchowym (MBR) używanym do partycjonowania prawie wszystkich dysków twardych w tej chwili. Najbardziej prawdopodobne rozwiązanie to migracja do tabeli partycji GUID Intela (GPT). GPT używa 8 bajtowych pól dla LBA.

    W tym kontekście nie rozumiem, na czym polega problem z uruchamianiem, powiedzmy Windows z dysku 3 TB, który korzysta z GPT. To prawda, że ​​obecny BIOS komputera nie wiedziałby, jak rozpoznać lub pracować z GPT. Ale każdy GPT ma tak zwany MBR „Safety” lub „Guarding” w sektorze 0.

    Apple używa już hybrydowej wersji MBR, aby umożliwić im uruchomienie systemu Windows na komputerach Mac z procesorami Intel (inaczej Boot Camp). Czy nie można zrobić czegoś podobnego, aby system BIOS komputera rozpoznał i uruchomił się z partycji w, powiedzmy, pierwszych 2 TB dysku o pojemności 3 TB lub większej?

Mam więcej pytań, na przykład, gdzie pasują sektory 4K. Ale prawdopodobnie nadszedł czas, żeby się zamknąć i opublikować. ;-)

-racjonalny John

irracjonalny John
źródło

Odpowiedzi:

6

Stwierdzenia dotyczące „Long LBA” wydają się pochodzić od tego jednego menedżera produktu Seagate. Prawdopodobnie miała na myśli to, że chociaż 48-bitowy LBA jest standardem sprzętowym, 32-bitowe systemy operacyjne i sterowniki mogą nie obsługiwać wszystkich 48 bitów, ponieważ (a) są 32-bitowe i to jest bardziej kłopotliwe, i (b) MBR i tak obsługuje tylko 32 bity dla partycji, więc po co się tym przejmować.

Gdy bariera 128 GB została przełamana przez przyjęcie 48-bitowego LBA, było to zarówno po stronie sprzętowej, w specyfikacji ATA, zwiększając się z 28 bitów; a także po stronie systemu operacyjnego / sterownika, aby upewnić się, że nie zapisali na stałe tego starego 28-bitowego limitu. Prawdopodobnie można powiedzieć, że obecne dobrze napisane sterowniki faktycznie odpowiadają rzeczywistemu limitowi 48-bitów, ale łatwo jest zobaczyć, jak gdzieś w łańcuchu ktoś wybrał łatwą drogę i obsługuje tylko 32 bity w swoich 32-bitowych sterownikach. Biorąc pod uwagę, że 32-bitowe systemy operacyjne i tak są w drodze do wyjścia, może nie warto próbować upewnić się, że wszystko działa.

Jak powiedziałeś, prawdziwym problemem (przynajmniej w systemie Windows) jest uruchomienie dysku GPT z komputera z systemem BIOS (innym niż EFI). Protective MBR został zaprojektowany tak, aby cały dysk wyglądał jak pojedyncza nieznana partycja, dzięki czemu komputer obsługujący system BIOS / MBR nawet go nie dotknie. Możesz utworzyć dysk hybrydowy, aby MBR zawierał także inne wpisy dla partycji poniżej bariery 2 TB. Ale takie dyski hybrydowe są kruche (łatwe do spychania za pomocą narzędzi do partycji MBR lub GPT) i nie są już oficjalnie dyskami GPT. Nie uruchamiasz również żadnych partycji GPT, uruchamiasz partycje MBR. Może to być OK, jeśli chcesz użyć partycji GPT jako napędu danych.

I dlaczego BIOS nie może uruchomić GPT? Krótka odpowiedź brzmi: nie ma, a aby dodać tę możliwość, potrzebujesz inteligentniejszego systemu BIOS. I do tego właśnie służy EFI.

Sektory 4KB dają dyski 16 TB z 32-bitowym LBA. (A mniej większych sektorów oznacza potencjalnie mniejszy narzut we / wy.) Ale wszystkie systemy operacyjne i sterowniki, a nawet niektóre aplikacje musiałyby zostać napisane, aby obsługiwać sektory o zmiennej wielkości. Wszystko, czego potrzebujesz, to jedno miejsce, w którym rozmiar sektora jest zakodowany na 512, aby złamać. Sektory 4KB nie są więc również „łatwym” rozwiązaniem, ponieważ wiele stron wymagałoby dużo pracy. Ale jeśli zamierzasz napisać przyszłe oprogramowanie do obsługi GPT (agnostyka wielkości sektora) i sektorów o zmiennej wielkości, w pewnym momencie może zostać przyjęte jako powszechna praktyka.

Rozpoznać
źródło
3

Ty z pewnością można uruchomić z dysku GPT na maszynie BIOS. Tyle tylko, że Windows twierdzi, że nie może.

Nawet to nie jest do końca prawdą; możesz uruchomić system Windows z komputera BIOS na dysku GPT: potrzebujesz tylko jednego małego dysku MBR do przechowywania plików rozruchowych. Dysk twardy używany w niektórych systemach operacyjnych z zapasową (małą) partycją, dyskietką, napędem USB (zakłada się) ...

Uruchom komputer z dysku instalacyjnego / naprawczego systemu Windows. Utwórz dysk systemowy na patyku i użyj, bcdbootaby umieścić na nim pliki rozruchowe. Dodaj sektor rozruchowy za pomocą bootsect. Zmień {bootmgr} deviceTO boot. Rozruch z kija.

Kroki są wyszczególnione tutaj .

Milind R.
źródło
0

W tym kontekście nie rozumiem, na czym polega problem z uruchamianiem, powiedzmy Windows z dysku 3 TB, który korzysta z GPT.

W tradycyjnym systemie BIOS BIOS ładuje sektor rozruchowy z dysku i uruchamia go w 16-bitowym trybie rzeczywistym. Kod załadowany z sektora rozruchowego musi następnie znaleźć i załadować właściwy system operacyjny.

MS nigdy nie wdrożyło obsługi GPT w module ładującym w trybie rzeczywistym. Dlatego nie może odczytać tablicy partycji GPT i uruchomić pozostałej części systemu operacyjnego. Aby uruchomić system Windows z dysku GPT, musisz albo użyć UEFI zamiast tradycyjnego systemu BIOS (co jest w porządku, jeśli Twoja płyta główna go obsługuje, a wersja systemu Windows jest wystarczająco nowa) lub skorzystać z jakiegoś sposobu obejścia, takiego jak program ładujący innej firmy, typ partycji hybrydowej lub oddzielny dysk do rozruchu.

płyn do płukania
źródło