Копирование справляется только с файлами в отформатированных разделах. Вы не сможете делать специальные вещи, необходимые для процесса загрузки, такие как установка флагов загрузки, запись загрузчика или иногда даже копирование обычных файлов в правильное место (читай: сектор) в разделе и установка атрибутов файлов / разрешения. Если вам не повезло, что эти вещи доступны, из-за предыдущего создания загрузочного диска, инструмента форматирования, который записывает загрузчик в MBR и т. Д., Вам нужно будет сделать больше шагов, чтобы сделать диск загрузочным.
В частности, при загрузке в режиме BIOS BIOS ищет первый сектор (MBR), чтобы определить, существует ли допустимая загрузочная подпись 0xAA55 . Если да, то он загружает этот сектор и передает управление загрузчику в MBR. MBR описывает конфигурацию раздела, поэтому он не может находиться внутри раздела и является не может копироваться обычными инструментами.
Кроме того, поскольку MBR слишком мал, чтобы быть полезным, большинство современных загрузчиков разделяют процесс загрузки на несколько этапов , и загрузочный код в MBR загружает следующий этап. Дальнейшие внутриэтапные этапы снова часто помещаются в области за пределами разделов . Некоторые могут поместить его в EBR , но grub обычно помещает свою вторую стадию в пустую область между первым разделом и MBR, которая называется разрывом после MBR. Вот почему, если не выровнять разделы должным образом, у grub нет места для загрузки загрузочного кода, что приводит к ошибке встраивания.
Многие загрузчики, такие как LILO или старые загрузчики Windows / DOS, также хранят информацию о жестком коде в MBR, например, положение следующего этапа или системных файлов. Они не работают, читая данные раздела, а вместо этого читают какой-то жестко закодированный сектор, поскольку для анализа файловой системы потребуется слишком много кода, который очень трудно сжать в крошечные пространства, такие как разрыв MBR или после MBR. Даже Grub поддерживает такое жесткое кодирование . Это означает, что некоторые системные файлы должны находиться в точном месте , сектор за сектором, чего нельзя добиться с помощью обычной копии. Вот почему вы видите «неподвижные системные файлы» во время работы дефрагментатора Windows или сжатия файловых систем, что иногда не совсем правильно, потому что просто Windows слишком боится перемещать эти файлы, хотя современные загрузчики намного умнее и не заботятся о таких вещах.
В конце концов, вам также нужно установить загрузочный раздел как активный, чтобы загрузчик знал, что загружаться. Это должно быть сделано с помощью инструмента разделения или ручного редактирования в шестнадцатеричном формате, так как он также находится вне области раздела.
В UEFI все намного проще. Он знает о файловых системах FAT (и даже больше файловых систем в нестандартных реализациях), поэтому загрузочные файлы хранятся в системном разделе EFI, AKA ESP . UEFI загружает приложения * .efi в ESP, которые затем загружают операционные системы.
Микропрограмма UEFI поддерживает загрузку со съемных носителей, таких как флэш-накопители USB. Для этого съемное устройство должно быть отформатировано с файловой системой FAT12, FAT16 или FAT32, в то время как загрузочный загрузчик должен храниться в соответствии со стандартной файловой иерархией ESP или путем предоставления полного пути загрузочного загрузчика к системному менеджер загрузки.
Поэтому в основном вам просто нужно скопировать файлы * .efi в ESP и поместить системные файлы в правильную папку. Тем не менее, есть небольшая проблема, потому что раздел FAT, содержащий файл * .efi, должен быть помечен как ESP в таблице MBR или GPT вне разделов, что невозможно сделать путем копирования, как описано выше. В частности, тип раздела должен быть изменен с 0Ch / 0Bh / независимо от EFh в MBR и на C12A7328-F81F-11D2-BA4B-00A0C93EC93B в GPT, поскольку ESP на самом деле не FAT12 / 16/32, а независимая файловая система, основанная на семейство файловых систем FAT
И все же есть много других схем разметки, таких как метка диска BSD или APM, которые нужно изменить по-другому для загрузки. Или же USB-флешки могли быть отформатированы вообще без таблицы разделов (AFAIK Windows делает это по умолчанию), поэтому загрузка будет другой. Но применяется тот же предел: вам нужно изменить неразделенные области