If-Koubou

Dlaczego tworzenie rozruchowego dysku USB jest bardziej złożone niż tworzenie bootowalnych płyt CD?

Dlaczego tworzenie rozruchowego dysku USB jest bardziej złożone niż tworzenie bootowalnych płyt CD? (Jak)

Tworzenie rozruchowych płyt CD i DVD wydaje się być prostym, prostym procesem, ale dlaczego jest bardziej skomplikowany podczas tworzenia bootowalnych dysków flash? Czy naprawdę jest tak wiele różnic między tymi dwoma? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na ciekawe pytanie czytelnika.

Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.

Pytanie

Czytnik SuperUser William chce wiedzieć, dlaczego tworzenie rozruchowego dysku USB jest bardziej skomplikowane niż tworzenie bootowalnych płyt CD:

Tworzenie bootowalnej płyty CD jest, moim zdaniem, bardzo proste, wystarczy nagrać plik ISO na płytę i można go uruchomić. Teraz, gdy chodzi o napędy USB, masz wiele opcji. Czy ktoś mógłby wyjaśnić różnicę między tymi dwoma i może dać krótki przegląd różnych opcji?

Dlaczego tworzenie rozruchowego dysku USB jest bardziej skomplikowane niż tworzenie bootowalnych płyt CD?

Odpowiedź

Pomocnik SuperUser, Akeo, ma dla nas odpowiedź:

Rufus developer tutaj. Po pierwsze, wiele opcji, o których wspomniałeś, jest wymienionych tylko podczas uruchamiania Rufusa Tryb zaawansowany (kiedy Sekcja Zaawansowane opcje jest wyświetlany), ponieważ są przeznaczone dla osób, które już wiedzą, do czego służą.

Na początek musisz zrozumieć, że format ISO nigdy nie był zaprojektowany do uruchamiania z USB. Plik ISO to 1: 1 kopia dysku optycznego, a nośniki dysków optycznych bardzo różnią się od nośników USB, zarówno pod względem struktury ich bootloadera, używanego systemu plików, sposobu ich partycjonowania (są one nie) i tak dalej.

Tak więc, jeśli masz plik ISO, po prostu nie możesz zrobić z nośnikiem USB, co możesz zrobić z dyskiem optycznym, który jest odczytywany z każdego bajtu pliku ISO i kopiowany jak jest, w kolejności, na dysk (jaki CD / Aplikacje do nagrywarek DVD działają, gdy "pracują" z plikami ISO).

Nie oznacza to, że tego rodzaju kopiowanie 1: 1 nie może istnieć na nośnikach USB, tylko że kopie 1: 1 na nośniku USB będą zupełnie inne niż kopie 1: 1 na dyskach optycznych, a zatem nie są wymienne (poza używaniem ISOHybrid obrazy, które są wykonane jako kopie 1: 1 na USB i nośnikach optycznych). Dla przypomnienia, w terminologii Rufusa, kopia 1: 1 na nośniku USB nazywana jest obrazem DD (można zobaczyć tę opcję na liście), a niektóre dystrybucje, takie jak FreeBSD lub Raspbian, faktycznie zapewniają instalację DD Images dla USB, wraz z ISO pliki do nagrywania płyt CD / DVD.

W ten sposób ustaliliśmy, że pliki ISO są w istocie słabo przystosowane do tworzenia rozruchowego nośnika USB, ponieważ są odpowiednikiem kołka okrągłego dopasowanego do mniejszego kwadratowego otworu, a zatem kołek okrągły musi zostać zmieniony, aby go dopasować.

Teraz możesz się zastanawiać, czy pliki ISO tak źle nadają się do tworzenia bootowalnych nośników USB, dlaczego większość dystrybutorów systemu operacyjnego udostępnia pliki ISO zamiast obrazów DD. Cóż, poza względami historycznymi, jednym z problemów z obrazami DD jest to, że są to partycjonowane systemy plików, jeśli utworzysz kopię 1: 1 na nośniku USB, która jest większa niż ta używana przez osobę, która utworzyła obraz, wtedy skończy się widoczna "pojemność" nośnika USB zmniejszona do rozmiaru używanego przy tworzeniu oryginalnego obrazu DD.

Ponadto, podczas gdy dyski optyczne i pliki ISO mogą używać tylko jednego z dwóch systemów plików (ISO9660 lub UDF), które są bardzo dobrze obsługiwane we wszystkich dużych systemach operacyjnych przez bardzo długi czas (i pozwala spojrzeć w oczy na zawartość obrazu przed lub po użyciu), obrazy DD mogą dosłownie korzystać z jednego z tysięcy różnych systemów plików, które istnieją. Oznacza to, że nawet po utworzeniu startowego nośnika USB, może nie być widoczna żadna zawartość na nim, dopóki go nie uruchomisz. Na przykład będzie tak w przypadku korzystania z obrazów USB FreeBSD w systemie Windows. Po utworzeniu rozruchowego nośnika USB system Windows nie będzie mógł uzyskać dostępu do żadnej zawartości, dopóki nie zostanie ponownie sformatowany.

To dlatego dostawcy starają się trzymać plików ISO, gdy tylko jest to możliwe, ponieważ (zwykle) zapewnia to lepsze wrażenia użytkownika we wszystkich systemach operacyjnych. Oznacza to jednak, że niektóre konwersje muszą (zwykle) wystąpić, aby nasz okrągły kołek ISO dobrze pasował do mniejszego otworu "USB media". Jak to się odnosi do listy opcji? Zbliżamy się do tego.

Jedną z pierwszych rzeczy, które zwykle muszą przejść, jest system plików ISO9660 lub UDF, którego używają pliki ISO. Zazwyczaj oznacza to wyodrębnianie i kopiowanie wszystkich plików z pliku ISO na system plików FAT32 lub NTFS, z czego zwykle korzystają dyski flash USB. Ale oczywiście oznacza to, że ktokolwiek stworzył system ISO, musi wprowadzić pewne przepisy, aby wspierać system plików FAT32 lub NTFS jako system plików do użytku na żywo lub instalacji (których nie wszyscy, szczególnie ci, którzy zbytnio polegają na ISOHybrid, do zrobienia).

Następnie znajduje się sam program ładujący, pierwszy bit kodu wykonywany podczas uruchamiania komputera z nośnika USB. Niestety, programy ładujące HDD / USB i ISO są bardzo różnymi zwierzętami, a oprogramowanie BIOS lub UEFI traktuje USB i nośniki optyczne zupełnie inaczej podczas procesu rozruchu. Zwykle nie można pobrać programu ładującego z pliku ISO (który zwykle byłby programem ładującym El Torito), skopiować go na nośnik USB i oczekiwać, że uruchomi się.

Teraz jest część, która jest istotna dla naszej listy opcji. Ponieważ Rufus będzie musiał dostarczyć odpowiedni element programu ładującego, po prostu nie może go uzyskać z pliku ISO.Jeśli mamy do czynienia z plikiem ISO bazującym na Linuksie, to jest szansa, że ​​użyje on GRUB 2.0 lub Syslinux, więc Rufus zawiera możliwość zainstalowania wersji GRUB lub Syslinux opartej na USB (ponieważ plik ISO zwykle zawiera tylko wersję ISO tych).

Zwykle odbywa się to automatycznie po wybraniu i otwarciu pliku ISO, ponieważ Rufus jest wystarczająco inteligentny, aby wykryć, jakiego rodzaju konwersję trzeba zastosować. Ale jeśli chcesz się zabawić, Rufus daje ci możliwość zainstalowania pustych ładowarek, które pozwolą ci uruchomić system z poleceniem GRUB lub Syslinux. Stamtąd, jeśli znasz te typy programów ładujących, możesz utworzyć / przetestować własne pliki konfiguracyjne i wypróbować własny niestandardowy proces uruchamiania Syslinux lub GRUB (ponieważ na tym etapie wystarczy tylko skopiować / edytować pliki nośnik USB, aby to zrobić).

Teraz możemy przejrzeć opcje znajdujące się na liście:

  • MS-DOS: Spowoduje to utworzenie pustej wersji MS-DOS (edycja Windows Me), co oznacza, że ​​uruchomisz się z podpowiedzi MS-DOS i to jest to. Jeśli chcesz uruchomić aplikację DOS, musisz skopiować ją na nośnik USB. Zauważ, że ta opcja jest dostępna tylko w systemie Windows 8.1 lub wcześniejszym, ale nie w systemie Windows 10, ponieważ firma Microsoft usunęła pliki instalacyjne DOS z systemu Windows (i tylko Microsoft może redystrybuować te pliki).
  • Darmowy dos: Spowoduje to utworzenie pustej wersji FreeDOS. FreeDOS jest darmową wersją oprogramowania MS-DOS, która jest w pełni kompatybilna z MS-DOS, ale ma także tę zaletę, że jest open source. W porównaniu do MS-DOS każdy może redystrybuować FreeDOS, więc pliki startowe FreeDOS są zawarte w Rufus.
  • Obraz ISO: Jest to opcja, której powinieneś użyć, jeśli masz bootowalny plik ISO i chcesz przekonwertować go na startowy nośnik USB. Należy pamiętać, że ponieważ musi nastąpić konwersja (zwykle) i istnieją miliardy sposobów na utworzenie bootowalnego pliku ISO, nie ma gwarancji, że Rufus będzie w stanie przekonwertować go na nośnik USB (ale zawsze będzie informował, czy to tak jest).
  • Obraz DD: Jest to metoda, którą powinieneś użyć, jeśli masz obraz dysku startowego, taki jak FreeBSD, Raspbian, itp. Pliki z rozszerzeniem .vhd są również obsługiwane (co jest wersją DD obrazu Microsoft), a także skompresowane te (.gz, .zip, .bz2, .xz, itp.).

Cztery powyższe opcje są jedynymi, które zobaczysz Tryb zwykły. Ale jeśli wpadniesz na Rufusa Tryb zaawansowany, będziesz mieć również dostęp do następujących opcji:

  • Syslinux x.yz: Instaluje pusty program rozruchowy Syslinux, który przeniesie Cię do zachęty Syslinux i nie wiele więcej. Powinieneś wiedzieć, co musisz zrobić od tego momentu.
  • GRUB / Grub4DOS: To samo, co powyżej, ale odpowiednio dla GRUB / Grub4DOS. Spowoduje to wyświetlenie monitu GRUB, ale od ciebie zależy, czy zajmiesz się resztą.
  • ReactOS: Instaluje eksperymentalny program ładujący system ReactOS. Od kiedy ostatnio sprawdzałem, ReactOS nie startuje tak dobrze z nośnika USB. Jest tam, ponieważ łatwo było dodać i zrobić z nadzieją, że może pomóc w rozwoju ReactOS.
  • UEFI-NTFS: Wymaga to wybrania NTFS jako systemu plików i zainstalowania pustego programu ładującego UEFI-NTFS. Umożliwia to ładowanie systemu z NTFS w trybie UEFI (nie CSM) na platformach UEFI, które nie zawierają sterownika NTFS. Ponieważ jest pusty, musisz skopiować własne /efi/boot/bootia32.efi lub /efi/boot/bootx64.efi na partycję NTFS, aby była użyteczna. UEFI-NTFS jest automatycznie wykorzystywany przez Rufusa do obejścia maksymalnego rozmiaru pliku 4 GB FAT32, który na przykład umożliwia instalację serwera Microsoft Server 2016 w trybie UEFI bez konieczności dzielenia pliku install.wim 4.7 GB.

Nadzieja, która pomaga. Jest to uproszczony przegląd, więc mam nadzieję, że ludzie nie zaczną odczepiać aspektów, które zostały umyślnie zubożone lub utrzymane w milczeniu (np. Wiedząc, że można mieć dyski flash USB bez partycji, aby USB i nośniki optyczne używały tego samego pliku system, a niektóre procesy rozruchowe mają możliwość rozszerzenia rozmiaru partycji na nośniku USB w celu rozwiązania problemu niższej pojemności pozornej).

Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.

Image Credit: William (SuperUser)