fdisk - czy go potrzebuję, czy mogę utworzyć system plików bezpośrednio?

9

Przeczytałem o tym, że fdisk może utworzyć partycję / która ma rozbić dysk fizyczny na kilka partycji logicznych.

Jeśli mam zamiar wykorzystać cały dysk jako całość, czy nadal jest to dla mnie konieczne

1), aby fdisk i utworzyć partycję podstawową, która zajmuje rozmiar całego dysku lub

2) Czy mogę po prostu iść naprzód i mkfs.ext4 bez robienia fdisk?

3) I dlaczego ->

Edytowane -> Po przeczytaniu wszystkich komentarzy (niektórych tak i nie) myślę, że dobrze będzie, jeśli ktoś będzie mógł wskazać mi, co właściwie robi fdisk? dzięki czemu mogę lepiej zrozumieć, dlaczego tak naprawdę go potrzebujemy w porównaniu do tego, jeśli nie potrzebowaliśmy.

Próbowałem googlować, ale większość stron uczy, jak fdisk, ale nie dlaczego (lub większość z nich ma tworzyć system podwójnego rozruchu), ale chcę wiedzieć, dlaczego jest to potrzebne nawet dla pojedynczej partycji.

Próbowałem także mkfs bezpośrednio na dysku i zamontowałem go do przechowywania danych i plików (nie wydaje się, aby miał to jakiś problem) - więc to mnie jeszcze bardziej ciekawi, co fdisk robi na dysku.

Nowicjusz
źródło

Odpowiedzi:

5

Nie, nie potrzebujesz tego. Twój dysk i system plików będą działały poprawnie bez tablicy partycji. Niektóre starsze BSD zrobiły to nawet domyślnie, jeśli wybrałeś niebezpiecznie dedykowane .

Jest jednak wysoce zalecane ze względu na zgodność.


Nieco bardziej szczegółowy:

Możesz uruchomić mkfs.ext4 bezpośrednio na / dev / sdb. To zadziała. Następnie możesz zamontować to bez problemów. ( mkfs.ext4 -F -F /dev/sdb).

W ten sposób możesz skonfigurować dysk startowy. Nadal będzie wymagał trochę kodu do uruchomienia. Co oznacza, że ​​musisz albo pominąć pierwszy bit dysków. (np. przestrzeń klasycznie wykorzystywana przez MBR i kilka tradycyjnych sektorów poza nim). Technicznie nadal nie korzysta z MBR, chociaż tracisz równoważne miejsce.

Jednak w przypadku każdej nowoczesnej konfiguracji te kilka sektorów stanowi niewielki ułamek pojemności dysku. Dlatego polecam korzystanie z GPT (lub na starożytnych systemach MBR). Ale może się obejść.

Hennes
źródło
Wygląda na to, że mkfs.ext4 przyjmuje parametr -F, aby wymusić utworzenie systemu plików, nawet jeśli wydaje się, że celem nie jest partycja, a nawet jeśli urządzenie docelowe wydaje się być zamontowane! Myślę, że wskazuje to na związane z tym ryzyko ...
David W
Zgoda. „Ta opcja musi być podana dwukrotnie” stanowi dodatkowe zabezpieczenie.
Hennes,
@Hennes zaktualizowałem mój oryginalny post, mam nadzieję, że rzucisz okiem
Noob
1
Porównaj fdisk z pisaniem indeksu dla książki. Ludzie oczekują indeksu i gubią się, gdy go nie ma. Książka bez indeksu i z jedną historią / rozdziałem nadal będzie działać.
Hennes
1

Musisz utworzyć tablicę partycji, nawet jeśli będziesz używać całego dysku fizycznego. Pomyśl o tablicy partycji jako o „spisie treści” dla systemów plików, identyfikującym początkową i końcową lokalizację każdej partycji, a także używany system plików.

David W.
źródło
nawet jeśli zamierzałem użyć magazynu jako surowego urządzenia? Nadal potrzebuję fdisk? czytam o tworzeniu partycji fdisk, ale nie rozumiem, dlaczego jest to potrzebne
Noob
1
Jeśli podam ci dysk z surowymi bajtami i bez innych informacji, jak byś go zinterpretował, aby uzyskać z niego dane? Nie mogłeś To nadmierne uproszczenie, ale to właśnie robi tabela partycji. Mówi: „Oto, gdzie dane są przechowywane na dysku (miejsce rozpoczęcia / zatrzymania / cylinder / ścieżka) i oto, jak są zorganizowane (system plików)”
David W
Właściwie możesz. Weź dyskietkę. Zakładamy jedną partycję / wolumin. Podajemy używany system plików (ponieważ nie mamy MBR-a, który mówi nam, co jest używane, musimy to ręcznie określić lub wpisać w / etc / fstab) i odczytać informacje o pliku. Klasyczny przykład: dyskietki i FAT12.
Hennes,
1
W standardowej tabeli partycji nie ma informacji, które nie są lub mogłyby być łatwo utworzone, w rekordzie rozruchowym woluminu systemu plików. Wszelkie poleganie oprogramowania na tablicy MBR / partycji w celu prawidłowego rozpoznania i / lub rozruchu z systemu plików jest całkowicie sztuczne.
kreemoweet
1
Nie, nie potrzebujesz tablicy partycji i nie, typ systemu plików wskazany w tablicy partycji jest ignorowany. Zamiast tego do określenia typu systemu plików używane są dobrze zdefiniowane sekwencje bajtów („magia”). Jeśli chcesz uruchomić komputer z dysku, to oczywiście inna sprawa.
Daniel B
0

Państwo mogłoby stworzyć system plików na gołej twardym, ale to rzadko idzie do pracy. Niektóre pendrivy są tak zorganizowane. Ale na dysk twardy nie chcesz.

Jeśli będzie to twój główny / jedyny dysk, nie będzie w ogóle bootowalny, jeśli go utworzysz. System BIOS odczytuje pierwszy sektor dysku i wykonuje go (inaczej przeskakuje do pierwszego bajtu). Czy naprawdę nie chcesz wykonywać metadanych systemu plików? Na szczęście tego nie zrobisz, ponieważ BIOS zawiera zabezpieczenie przed awarią - ostatnie dwa bajty tego sektora muszą mieć wartość 0x55 0xaa, aby system BIOS mógł uznać dysk za rozruchowy. A ty masz system UEFI, jest jeszcze gorzej, ponieważ UEFI wymaga odrębnej partycji FAT do działania.

Jeśli będzie to twój drugi dysk twardy, może to działać, ale nadal jest odradzane - żadne automatyczne wykrywanie nie będzie działać, większość narzędzi poinformuje cię, że dysk nie jest sformatowany i wymaga partycjonowania (co zniszczy twoje dane).

Z drugiej strony czasami jest to możliwe, ale w bardzo hackerski sposób, wymagający dokładnej wiedzy na temat organizacji systemu plików na dysku. Kiedyś widziałem opis obrazu, który można nagrać na rozruchową płytę CD, na rozruchowy dysk USB lub nawet uruchomić na starszym komputerze Mac, ale było to na poziomie „Jeśli ustawię długość systemu plików na xxx, to kiedy zostaje wykonany przez inną architekturę, działa jak nieszkodliwe porównanie rejestrów ”.

Torinthiel
źródło
Rozszerzone informacje o przykładzie pendrive: Jest również używany na dyskietkach i pendrivach bez MBR, często nazywanych „formatem superfloppy”.
Hennes,
@Torinthiel, zaktualizowałem mój oryginalny post, mam nadzieję, że rzucisz okiem
Noob
-1

Nawet jeśli zamierzasz korzystać z całego dysku, nadal będzie musiał zostać podzielony na partycje. W tym przypadku z partycją tak dużą jak sam dysk (przynajmniej. Prawie. Tabela partycji zajmuje trochę miejsca. Szczegółowe informacje na ten temat znajdują się poniżej).

Kiedy wprowadzam ludzi w pojęcie partycji i systemów plików osobom, które zwykle myślą tylko o „dyskach twardych, pustych kontra pełnych”, to: Dysk twardy to budynek, a partycja to rzeczywiste pomieszczenie. Sformatujesz partycję za pomocą określonego systemu plików, a następnie uczynisz ją użyteczną, a w analogii budynku odpowiada to zadeklarowaniu typu pokoju, na przykład kuchni kontra sypialni (innymi słowy, jak z niego korzystać).

Teraz, aby wrócić do pierwotnego pytania, nie można umieścić systemu plików na niepartycjonowanym dysku, ponieważ tablica partycji (pierwsze 512 bajtów dysku) zawiera informacje o tym, gdzie na dysku fizycznym można znaleźć partycje. Aby mieć system plików, musisz zacząć od miejsca, do którego może odwoływać się tabela partycji, i nie może odwoływać się do systemu plików, który nie ma zdefiniowanej przestrzeni, tj. Partycji.

A jeśli mamy umieścić tablicę partycji w analogii budynku, myślę, że odpowiadałoby to schematowi budynku.

Aktualizacja odzwierciedlająca edycję pytania: fdisk umożliwia wybranie określonych aspektów partycji, takich jak rozmiar, typ i lokalizacja fizyczna, co jestem pewien, że już wiesz. Następnie fdisk przekształca je w pozycję tablicy partycji. Zasadniczo dba o to, aby tablica partycji była aktualna z „listą” wszystkich partycji na dysku, a każdy element na liście wskazywał, którą partycję można znaleźć gdzie i jaki to typ. Dzieje się tak, aby system operacyjny wiedział, gdzie uzyskać dostęp do danych na partycjach.

Jarmund
źródło
1
Nie. Nie musi tak być. Użyłem bez. Jest jednak nadal wysoce zalecane, ale można się bez niego obejść.
Hennes,
@Jarmund Zaktualizowałem swój oryginalny post, mam nadzieję, że rzucisz okiem
Noob