Dlaczego tworzenie rozruchowego dysku USB jest bardziej złożone niż tworzenie bootowalnych płyt CD?
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, opartego na społecznościach grupowania witryn 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, wszystko, co musisz zrobić, to nagrać plik ISO na płytę i to jest rozruchowy. Teraz, jeśli chodzi o napędy USB, masz wiele opcji. Czy ktoś może 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ź
Użytkownik SuperUser, Akeo, ma dla nas odpowiedź:
Rufus developer tutaj. Przede wszystkim 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 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, 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 w kolejności na dysku (jaki dysk 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 i dlatego 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 rzeczywistości słabo dostosowane 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 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, z której korzystał człowiek, który utworzył obraz, wtedy skończy się pozorna "pojemność" nośnika USB zmniejszona do rozmiaru używanego przy tworzeniu oryginalnego obrazu DD.
Ponadto, mając na uwadze, że 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 rozruchowego 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 to możliwe, ponieważ (zazwyczaj) zapewniają lepszą jakość obsługi 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 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 obsługiwać 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 również 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 zostanie uruchomiony.
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 ma 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 na tyle sprytny, 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 podpowiedzi 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 do tego).
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ę w trybie 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 Rufusie.
- 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 możesz zobaczyć 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 poprowadzi cię do zachęty Syslinux i niewiele 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 resztę.
- ReactOS: Instaluje eksperymentalny program ładujący system ReactOS. Od kiedy ostatnio sprawdzałem, ReactOS nie uruchamia się 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 4.7. install.wim 4.7 GB.
Nadzieja, która pomaga. To jest uproszczony przegląd, więc mam nadzieję, że ludzie nie zaczną szufladkować aspektów, które celowo zostały zepsuł lub zachowali milczenie (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 i 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)