19Aug

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

Tworzenie rozruchowych dysków 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 SuperUser Q & A ma odpowiedź na ciekawe pytanie czytelnika.

Dzisiejsze pytanie &Sesja odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, opartego na społecznościach grupy Q & A.

Pytanie

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

Tworzenie bootowalnego dysku CD jest naprawdę proste, moim zdaniem, wystarczy nagrać plik ISO na płytę ito jest rozruchowy. 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ź Akceptator

SuperUser Akeo ma dla nas odpowiedź:

programista Rufusa tutaj. Przede wszystkim wiele opcji, o których wspomniałeś, jest wymienionych tylko podczas uruchamiania Rufusa w Trybie Zaawansowanym ( gdy wyświetlana jest sekcja Opcje Zaawansowane ), ponieważ są one przeznaczone dla osób, które już wiedzą, do czego służą.

Na początek trzeba zrozumieć, że format ISO nigdy nie był przeznaczony do rozruchu 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, jaki system plików używają, jak są podzielone na partycje( są onenie) 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 w kolejności na dysku( coNagrywarki CD / 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żywaniemObrazy ISOHybrid stworzone do pracy 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 ISOpliki do nagrywania płyt CD / DVD.

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

Teraz możesz się zastanawiać, czy pliki ISO tak źle nadają się do tworzenia bootowalnego nośnika USB, dlaczego większość dystrybutorów systemu operacyjnego nie udostępnia plików ISO zamiast obrazów DD.Cóż, poza względami historycznymi, jedną z kwestii związanych z plikami DD Images 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 głównych systemach operacyjnych przez bardzo długi czas( i pozwala naprzejrzeć 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 startowego nośnika USB system Windows nie będzie mógł uzyskać dostępu do żadnej zawartości, dopóki nie zostanie ponownie sformatowany.

Z tego powodu dostawcy zwykle chcą trzymać się plików ISO tam, gdzie jest to możliwe, ponieważ( zazwyczaj) zapewniają lepszą obsługę dla wszystkich systemów 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 do systemu 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 pojawia się 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ę ISOtych).

Zazwyczaj robi się to automatycznie po wybraniu i otwarciu pliku ISO, ponieważ Rufus jest wystarczająco inteligentny, aby wykryć rodzaj konwersji, którą musi 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 stworzyć / przetestować własne pliki konfiguracyjne i wypróbować własny niestandardowy proces uruchamiania Syslinux lub GRUB( ponieważ na tym etapie wystarczy tylko skopiować / edytować plikinośnik USB do tego).

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

  • MS-DOS: Tworzy pustą wersję MS-DOS( edycja Windows Me), co oznacza, że ​​uruchomisz się z podpowiedzi MS-DOS ijest 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).
  • FreeDOS: Tworzy pustą wersję 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 bootowalny 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 totak 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( .gz,. zip,. bz2,. xz, itp.).

Cztery powyższe opcje są jedynymi widocznymi w trybie zwykłym .Ale jeśli uruchomisz Rufusa w trybie zaawansowanym , będziesz mieć również dostęp do następujących opcji:

  • Syslinux x.yz: Instaluje pusty program rozruchowy Syslinux, który poprowadzi 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 pusta, musisz skopiować własny /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.

Nadzieję, że 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 plikusystem, 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 chcesz coś dodać 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)