Copiar apenas lida com arquivos em partições formatadas. Você não poderá fazer coisas especiais necessárias para o processo de inicialização, como configurar os sinalizadores de inicialização, gravar o carregador de boot ou, às vezes, copiar arquivos normais no local correto (leia-se setor) na partição e definir os atributos dos arquivos / permissões. A menos que você tenha sorte de ter essas coisas disponíveis, devido a uma criação de disco de inicialização anterior, uma ferramenta de formatação que grava o gerenciador de inicialização no MBR, etc., você precisará executar mais etapas para tornar o disco inicializável
Especificamente ao inicializar no modo BIOS , o BIOS procura o primeiro setor (MBR) para ver se há um assinatura de boot válida 0xAA55 . Se sim, carrega esse setor e transfere o controle para o carregador de boot no MBR. O MBR descreve a configuração da partição, portanto, não pode ficar dentro da partição e não é o que você pode copiar com as ferramentas normais.
Além disso, como o MBR é muito pequeno para ser útil, a maioria dos carregadores de boot modernos dividem o processo de inicialização em vários estágios , com o código de inicialização no MBR carrega seu próximo estágio. Os intra-estágios posteriores são novamente colocados em regiões fora das partições . Alguns podem colocá-lo na EBR , mas o grub geralmente coloca seu segundo estágio na área vazia entre a primeira partição e a MBR chamou a lacuna pós-MBR. É por isso que se alguém não alinha as partições corretamente, não há espaço para o grub colocar seu código de boot, resultando em erro de incorporação
Muitos carregadores de inicialização, como LILO ou carregadores de inicialização antigos do Windows / DOS, também armazenam informações de código rígido no MBR, como a posição do próximo estágio ou dos arquivos do sistema. Eles não funcionam lendo os dados da partição, mas leem algum setor codificado, já que vai exigir muito código para analisar o sistema de arquivos, o que é muito difícil de ser espremido em pequenos espaços como o intervalo MBR ou pós-MBR. Até mesmo o grub suporta essa codificação difícil . Isso significa que alguns arquivos do sistema precisam estar no local exato , setor por setor, o que você também não pode alcançar com uma cópia normal. Essa é a razão pela qual você vê "arquivos de sistema não móveis" enquanto executa o desfragmentador do Windows ou encolhe sistemas de arquivos, o que às vezes não é correto, porque é só que o Windows tem medo de mover esses arquivos carregadores de inicialização são muito mais inteligentes e não se importam com essas coisas.
E, afinal, você também precisa definir a partição de inicialização como ativa para permitir que o gerenciador de inicialização saiba o que inicializar. Isso tem que ser feito por uma ferramenta de particionamento ou por edição hexadecimal manualmente, uma vez que também é colocado fora da área de partição.
No UEFI, as coisas são muito mais fáceis. Ele conhece os sistemas de arquivos FAT (e ainda mais sistemas de arquivos em implementações não padrão), portanto, os arquivos de inicialização são armazenados na partição do sistema EFI, AKA ESP . O UEFI carrega os aplicativos * .efi no ESP, que carregarão os sistemas operacionais.
UEFI firmware supports booting from removable storage devices such as USB flash drives. For that purpose, a removable device needs to be formatted with a FAT12, FAT16 or FAT32 file system, while a boot loader needs to be stored according to the standard ESP file hierarchy, or by providing a complete path of a boot loader to the system's boot manager.
Então basicamente você só precisa copiar o (s) arquivo (s) * .efi para o ESP e colocar os arquivos do sistema na pasta correta. No entanto, ainda há um pequeno problema porque a partição FAT contendo o arquivo * .efi deve estar marcada como ESP na tabela MBR ou GPT fora das partições, o que não pode ser feito copiando como acima. Em particular, o tipo de partição deve ser alterado de 0Ch / 0Bh / whatever para EFh em MBR e para C12A7328-F81F-11D2-BA4B-00A0C93EC93B na GPT, pois o ESP não é realmente FAT12 / 16/32, mas um sistema de arquivos independente baseado na família de sistemas de arquivos FAT
E ainda existem muitos outros esquemas de particionamento como o rótulo de disco BSD ou o APM que precisam ser modificados de forma diferente para serem inicializados. Ou os sticks USB podem ter sido formatados sem uma tabela de partições (o AFAIK Windows faz isso por padrão), portanto, torná-lo inicializável será diferente. Mas o mesmo limite se aplica: você precisa modificar áreas não particionadas