Dlaczego dd nie sprawia, że ​​działające bootowalne pamięci USB dla Microsoft? [Zamknięte]

9

Proszę nie odsyłać mnie do (najczęściej błędnych) odpowiedzi, które zostały opublikowane na ten temat. Żadne nie są poprawne.

Przez ostatnie kilka lat stworzyłem milion takich bootowalnych pamięci: dd if=(this).iso of=/dev/sdb bs=4M bla ..Oczywiście działa to za każdym razem dla ISO, w szczególności dla dystrybucji Linuksa, ale jeśli jest to system Windows 7 lub 10, wynikowa pamięć USB nie nadaje się do rozruchu i jest niewidoczne dla żadnego BIOS-u komputera (w szczególności Dell). ISO jest doskonale dobre i montuje się jako system plików ze wszystkimi multimediami Windows, ale BIOS go nie widzi, więc nie można go używać. Dlaczego nie?

Następstwo: Microsoft udostępnia różne narzędzia do wprowadzania danych ISO i niezbędnego zapisu na USB / DVD (działający pod Windows). Te narzędzia zawodzą. Nie obchodzi mnie to, ale chcę wiedzieć, czy jest coś magicznego, że te narzędzia to robią, a nie tylko bezpośrednia fizyczna kopia, jak to ddrobi?

użytkownik 289334
źródło
5
Wygląda na to, że pytasz o magiczne właściwości narzędzi innych niż Linux w systemie Linux. Wydaje się to nie na temat AskUbuntu.
user535733,
1
„Żadne są poprawne” jest niesamowicie aroganckie. To, że podczas badań nie znalazłeś poprawnych odpowiedzi, nie oznacza, że ​​nie istnieją.
Ben Voigt
5
Problemem nie jest narzędzie, problem polega na tym, że obraz źródłowy nie obsługuje tej możliwości i musiałby być obsługiwany przez coś, co ją doda, przed lub podczas zapisu na urządzeniu USB. Jeśli miał bootowalną pamięć USB, można przypuszczalnie sklonować go dd, ale obraz może być utworzenie w połowie tego procesu nie jest taka sama, jak iso zaczynają się teraz.
Chris Stratton,
2
@BenVoigt Włóż kwalifikator „... że znalazłem ...” i wszystko jest w porządku. Nie wszyscy są tacy gadatliwi przez cały czas.
AaronD
1
@AaronD: Nie wszystko jest dobrze. „Nie odsyłaj mnie do odpowiedzi, które już znalazłem” nie jest rozsądną interpretacją OP. Nie możemy czytać w jego myślach, aby wiedzieć, co już widział. Dodanie kwalifikatora powoduje, że pierwszy akapit jest jeszcze gorszy, a nie lepszy.
Ben Voigt,

Odpowiedzi:

10

Klonowanie (za pomocą ddlub innych narzędzi do klonowania) działa dobrze w przypadku większości aktualnych plików ISO Linuksa. Są to hybrydowe pliki ISO, przygotowane w taki sposób, że ten sam plik można wykorzystać do utworzenia dysku rozruchowego DVD i napędu rozruchowego USB oraz karty pamięci rozruchowej (na przykład karty SD).

Klonowanie nie powoduje rozruchu napędu USB z bieżącego pliku ISO systemu Windows. W tym celu potrzebujesz specjalnego narzędzia lub wykonaj czynności ręcznie (w procesie wyodrębniania), jeśli chcesz.

Ten link koncentruje się głównie na narzędziu woeusb(narzędziu w systemie Linux) do utworzenia rozruchowego napędu USB z bieżącego pliku ISO systemu Windows. Niedawno go przetestowałem i mogę sprawdzić, czy działa.

Możesz sam zrobić „magię” ze szczegółową pomocą na stronie

help.ubuntu.com/community/Installation/iso2usb/diy/windows-installer-for-big-files

sudodus
źródło
2
Prawdopodobnie powinieneś umieścić odpowiednie części tych linków jako cytaty w swojej odpowiedzi. Widziałem już, że linki do ubuntu.com zniknęły.
TheWanderer
Korzystałem z woeusb na Linux Mint 19.1 i ani razu mnie nie zawiodło. Użyłem go tylko z ISO pobranymi ze strony Microsoft, więc miej to na uwadze. Moim zdaniem woeusb jest dobrą rekomendacją.
Ismael Miguel
@ TheWanderer, Ten wątek wydaje się być zamknięty. Jeśli tak się stanie, marnowanie wysiłku byłoby umieszczenie odpowiednich części tych linków jako cytatów w mojej odpowiedzi. W przeciwnym razie, jeśli przeżyje (możemy sprawdzić po kilku tygodniach), tak, byłbym przygotowany do edycji odpowiedzi zgodnie z twoją prośbą.
sudodus
2

Wydaje mi się, że odpowiedź została udzielona, ​​ale chciałem dodać bardziej szczegółowy opis tego, co się dzieje. Przede wszystkim dyski CD-ROM i DVD są odczytywane przez komputer inaczej niż wszystkie inne nośniki dyskowe. Jest tak, że dysk CD-ROM lub DVD zostanie sformatowany za pomocą systemu plików o nazwie ISO 9660 (lub nowszego systemu plików o nazwie UDF). Z drugiej strony inne nośniki w stylu dysku (w tym cokolwiek USB), zaczynają się od Master Boot Record lub MBR. Większe dyski używają teraz GPT, ale w tej dyskusji jest podobnie. System BIOS na twoim komputerze odczyta MBR lub GPT z nośnika dyskowego i poszuka tam programu ładującego. W przypadku MBR bootloader jest przechowywany wraz z MBR w pierwszym 512-bajtowym sektorze na dysku. GPT jest trochę inna i przydziela coś zwanego partycją EFI w innym miejscu na dysku. Sam GPT znajduje się w pierwszych kilku kilobajtach dysku.

Aby uruchomić CD-ROM, jest to zupełnie inny proces. Standardowo nazywany jest El Torito Boot i opisuje strukturę, która znajduje się w systemie plików ISO 9660. Gdy system BIOS lub UEFI na komputerze próbował uruchomić komputer z dysku CD-ROM, korzysta z niego i nie szuka MBR ani GPT. Oznacza to, że ISO dla rozruchu musi być skonfigurowane zupełnie inaczej niż napęd USB.

Wiele dystrybucji Linuksa używa techniki o nazwie Hybrid ISO. System plików ISO 9660 ma ciekawą funkcję, deklaruje pierwsze 32 kilobajty jako obszar systemu, z którego może korzystać ktoś inny. W ogóle nie rości sobie prawa do tego, co może tam pójść, i zignoruje wszystko, co tam jest. Oprogramowanie odczytujące dysk jako ISO 9660 zawsze pomija tę sekcję. To pozostawia dużo miejsca na ukrycie etykiety MBR lub GPT w konwencjonalnym bootloaderze dysku. Hybrydowy ISO faktycznie ma dwa różne moduły ładujące, jeden jako część rozruchu El Torito ISO 9660, a drugi do tradycyjnego rozruchu dysku.

Podsumowując, nie ma nic do powiedzenia, że ​​obraz ISO powinien być bootowalny na dysku USB. Jest to dodatkowa funkcja, na którą pozwala ISO 9660, jeśli zostanie wykonana starannie. Program ładujący rozruch dla MBR może mieć na przykład więcej niż 32 KB lub spowoduje to nadpisanie zawartości ISO. Ale tworzenie hybrydowych ISO jest czymś, co zrobiło wiele dystrybucji Linuksa, aby ułatwić życie użytkownikom. Microsoft nie zadał sobie trudu.

penguin359
źródło