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.
Oprogramowanie układowe UEFI obsługuje uruchamianie z wymiennych urządzeń pamięci masowej, takich jak dyski flash USB. W tym celu urządzenie wymienne musi zostać sformatowane za pomocą systemu plików FAT12, FAT16 lub FAT32, podczas gdy moduł ładujący musi być przechowywany zgodnie ze standardową hierarchią plików ESP lub przez podanie pełnej ścieżki modułu ładującego do systemu menedżer rozruchu.
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