Myślałem, że to trochę głupie pytanie, ale wyszukiwanie w Google wydaje się wskazywać , że nie można nawet skopiować / wkleić danych z dysku rozruchowego na inny dysk USB? Ale nawet gdybyśmy mogli go skopiować, dlaczego miałby nie działać? (czyli tworzenie duplikatu dysku rozruchowego)
37
Odpowiedzi:
Po prostu skopiowanie plików nie spowoduje utworzenia dysku rozruchowego. Nie tylko pliki na dysku flash USB sprawiają, że można go uruchomić, ale także konfiguracja tablicy partycji , metadane dotyczące organizacji zawartości dysku, która informuje komputer, czy można go uruchomić i czy jest to MBR, czy GPT .
Jak zauważono na cyberciti.biz :
Możesz jednak sklonować dysk flash za pomocą wielu narzędzi, takich jak dd , EaseUS Todo Backup , a także doskonałe i otwarte oprogramowanie Clonezilla i Rufus . (Podziękowania dla Alexa za przypomnienia o dd i Rufusie).
Istnieją nawet urządzenia elektroniczne, które automatycznie replikują dyski flash .
źródło
dd
: prostycp
wykona pracę - pamiętaj, aby użyć go w węźle urządzenia zamiast zawartości systemu plików.cp
że po prostu skopiuje węzeł urządzenia. Aby zapobiec nieporozumieniom, usunąłem też swój komentarz.Kopiowanie kopiuje tylko pliki z sformatowanych partycji. Nie będziesz w stanie wykonać specjalnych czynności niezbędnych do uruchomienia systemu, takich jak ustawianie flag rozruchowych, pisanie modułu ładującego, a czasem nawet kopiowanie normalnych plików w odpowiednie miejsce (czytaj: sektor) na partycji i ustawianie atrybutów plików / permissions. O ile nie masz szczęścia, że te rzeczy są dostępne, z powodu wcześniejszego utworzenia dysku rozruchowego, narzędzia do formatowania, które zapisuje moduł ładujący w MBR itp., Musisz wykonać więcej kroków, aby dysk rozruchowy
W szczególności podczas uruchamiania w trybie BIOS , BIOS szuka pierwszego sektora (MBR), aby sprawdzić, czy istnieje poprawna sygnatura rozruchowa 0xAA55 . Jeśli tak, to ładuje ten sektor i przekazuje kontrolę do modułu ładującego w MBR. MBR opisuje konfigurację partycji, dlatego nie może leżeć wewnątrz partycji i nie jest tym, co można skopiować za pomocą zwykłych narzędzi.
Poza tym, ponieważ MBR jest zbyt mały, aby był użyteczny, większość nowoczesnych programów ładujących dzieli proces rozruchu na wiele etapów , a kod rozruchowy w MBR ładuje kolejny etap. Dalsze etapy wewnętrzne są ponownie często umieszczane w regionach poza partycjami . Niektórzy mogą umieścić go w EBR , ale grub zwykle umieszcza swój drugi etap w pustym obszarze między pierwszą partycją a MBR, zwaną luką post-MBR. Dlatego jeśli ktoś nie wyrówna poprawnie partycji, Grub nie ma miejsca na umieszczenie kodu rozruchowego, co powoduje błąd osadzania
Wiele programów ładujących, takich jak LILO lub stare programy ładujące Windows / DOS, także zapisuje kod stały w MBR, na przykład pozycję następnego etapu lub plików systemowych. Nie działają, odczytując dane partycji, ale zamiast tego czytają niektóre sektory zakodowane na stałe, ponieważ zajmie to zbyt dużo kodu, aby przeanalizować system plików, który bardzo trudno jest wcisnąć w małe przestrzenie, takie jak luka MBR lub post-MBR. Nawet grub obsługuje takie twarde kodowanie . Oznacza to, że niektóre pliki systemowe muszą znajdować się w dokładnej lokalizacji , sektor po sektorze, czego nie można osiągnąć również przy użyciu zwykłej kopii. Właśnie dlatego widzisz „nieprzenoszalne pliki systemowe” podczas uruchamiania defragmentatora systemu Windows lub zmniejszania systemów plików, co czasami nie jest poprawne, ponieważ po prostu Windows boi się przenieść te pliki, mimo że nowoczesne programy ładujące są znacznie mądrzejsze i nie dbają o takie rzeczy.
W końcu musisz także ustawić partycję rozruchową jako aktywną, aby program ładujący wiedział, co uruchomić. Musi to zostać wykonane za pomocą narzędzia do partycjonowania lub ręcznej edycji szesnastkowej, ponieważ jest ono również umieszczane poza obszarem partycji.
W UEFI jest o wiele łatwiej. Wie o systemach plików FAT (i jeszcze więcej systemów plików w niestandardowych implementacjach), dlatego pliki rozruchowe są przechowywane na partycji systemowej EFI, AKA ESP . UEFI ładuje aplikacje * .efi do ESP, które następnie ładują systemy operacyjne.
Zasadniczo wystarczy skopiować pliki * .efi do ESP i umieścić pliki systemowe w odpowiednim folderze. Jednak nadal istnieje mały problem, ponieważ partycja FAT zawierająca plik * .efi musi być oznaczona jako ESP w tabeli MBR lub GPT poza partycjami, czego nie można zrobić, kopiując jak wyżej. W szczególności należy zmienić typ partycji z 0Ch / 0Bh / cokolwiek na EFh w MBR i C12A7328-F81F-11D2-BA4B-00A0C93EC93B w GPT, ponieważ ESP nie jest tak naprawdę FAT12 / 16/32, ale niezależnym systemem plików opartym na rodzina systemów plików FAT
I wciąż istnieje wiele innych schematów partycjonowania, takich jak etykieta dysku BSD lub APM, które należy zmodyfikować inaczej, aby uruchomić. Albo nośniki USB mogły zostać sformatowane bez tablicy partycji (AFAIK Windows domyślnie to robi), dlatego też będzie się ładować inaczej. Ale obowiązuje ten sam limit: musisz zmodyfikować obszary niepartycjonowane
źródło
Tradycyjnie rozruch z BIOS-u wymagał specjalnego niewidocznego znacznika. Oto kilka przykładów :
W takich przypadkach nie można po prostu skopiować plików. Powstały napęd będzie niemożliwy do uruchomienia, ponieważ brakuje w nim specjalnych znaczników.
Jednak rozruch UEFI jest specjalny, mądrzejszy i konkretnie rozwiązuje te problemy. Jak zawsze polecam przeczytanie tego postu na blogu, aby uzyskać uproszczony starter do UEFI. Zwróć szczególną uwagę na sekcję awaryjnego rozruchu. Jest to również omówione tutaj nieco bardziej szczegółowo .
Wszystko, czego potrzebujesz, aby to zadziałało, to plik w określonej ścieżce na partycji, który będzie wyszukiwać oprogramowanie układowe. Aby uzyskać optymalną zgodność 1 , tak, powinna to być partycja w formacie FAT32 oznaczona jako partycja systemowa EFI na dysku z partycjami GPT. Jednak większość oprogramowania układowego przeszukuje również (pojedyncze) partycje na dyskach podzielonych na MBR i niepartycjonowanych (superfloppy).
Oznacza to, że wszystko, czego naprawdę potrzebujesz do rozruchu UEFI, to pojedyncza partycja sformatowana w systemie FAT32 1, zawierająca rezerwowy wpis rozruchu. W architekturze x86_64 oznacza to, że potrzebujesz tylko
\EFI\BOOT\BOOTx64.EFI
pliku. Możesz po prostu skopiować z jednego dysku flash na inny, w tym ten plik, i wszystko powinno działać.1 FAT32 i GPT są wymagane przez standard. MBR i superfloppy nie są, AFAIK, ale ich obsługa jest dość uniwersalna wśród komputerów stacjonarnych. Laptop jest trochę bardziej ezoteryczny; tablety to losowanie, a Mac EFI jest wyjątkowy.
2 Standard UEFI wymaga obsługi FAT32. Niektóre oprogramowanie układowe może również obsługiwać NTFS (choć nie jest to gwarantowane), a faktycznie można osadzić sterownik NTFS w ESP FAT32.
źródło
To zależy od tego, co rozumiesz przez „kopiowanie”.
Skopiować i wkleić w GUI systemu operacyjnego? Nie, to nie zadziała - niektóre pliki potrzebne do rozruchowego USB będą uważane za „ukryte” / niewidoczne i nie zostaną skopiowane.
Istnieją rodzaje kopii, które będą działać. Jest to często nazywane „obrazowaniem” nowego USB w celu odróżnienia od „kopiowania” jego zawartości. Najczęstszym sposobem na to jest narzędzie wiersza polecenia, ale opcje graficzne są dostępne, jeśli są potrzebne.
To powinno być wystarczające tło, aby rozpocząć wyszukiwanie!
źródło