Eu pensei que era uma pergunta idiota, mas uma pesquisa com o Google parece indicar que nem sequer é possível copiar / colar dados em uma unidade inicializável para outro USB? Mas mesmo se pudéssemos copiá-lo, por que não deveria funcionar? (que está criando uma unidade inicializável duplicada)
37
Respostas:
Simplesmente copiar os arquivos não criará uma unidade inicializável. Não são apenas os arquivos em uma unidade flash USB que a tornam inicializável, mas a configuração da tabela de partições , os metadados sobre a organização do conteúdo da unidade, que informa ao PC se é inicializável e se é MBR ou GPT .
Conforme observado em cyberciti.biz :
No entanto, você pode clonar a unidade flash com várias ferramentas, como dd , EaseUS Todo Backup e o excelente e de código aberto Clonezilla e Rufus . (Obrigado a Alex pelos lembretes sobre dd e Rufus).
Existem até dispositivos eletrônicos que replicam automaticamente unidades flash .
fonte
dd
: o simplecp
fará o trabalho - apenas certifique-se de usá-lo no nó do dispositivo em vez do conteúdo do sistema de arquivos.cp
simplesmente copiaria o nó do dispositivo. Para evitar confusão, eu também apaguei meu comentário também.A cópia apenas lida com arquivos em partições formatadas. Você não poderá fazer coisas especiais necessárias para o processo de inicialização, como definir os sinalizadores de inicialização, escrever o carregador de inicialização 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 a sorte de ter essas coisas disponíveis, devido a uma criação anterior do disco de inicialização, uma ferramenta de formatação que grava o carregador 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 verificar se há uma assinatura de inicialização válida 0xAA55 . Se sim, ele carrega esse setor e transfere o controle para o carregador de inicialização no MBR. O MBR descreve a configuração da partição; portanto, não pode estar dentro da partição e não é o que você pode copiar com as ferramentas normais.
Além disso, como o MBR é pequeno demais para ser útil, os gerenciadores de inicialização mais modernos dividem o processo de inicialização em vários estágios , com o código de inicialização no MBR carregando seu próximo estágio. Os outros estágios adicionais são novamente colocados em regiões fora das partições . Alguns podem colocá-lo no EBR , mas o grub geralmente coloca seu segundo estágio na área vazia entre a primeira partição e o MBR, denominada gap post-MBR. É por isso que se alguém não alinhar as partições corretamente, não há espaço para o grub colocar seu código de inicialização, resultando em erro de incorporação
Muitos gerenciadores de inicialização, como o LILO ou os gerenciadores de inicialização antigos do Windows / DOS, também contêm informações de código no MBR, como a posição do próximo estágio ou os arquivos do sistema. Eles não funcionam lendo os dados da partição, mas lêem algum setor codificado, pois será necessário muito código para analisar o sistema de arquivos, o que é muito difícil de ser compactado em pequenos espaços como o intervalo MBR ou pós-MBR. Até o grub suporta essa codificação rígida . Isso significa que alguns arquivos do sistema precisam estar no local exato , setor por setor, o que você também não pode obter 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 reduz os sistemas de arquivos, o que às vezes não é realmente correto, porque o Windows tem medo de mover esses arquivos, mesmo que os carregadores de inicialização modernos sejam muito mais inteligentes e não se importem com essas coisas.
E, afinal, você também precisa definir a partição de inicialização como ativa para que o gerenciador de inicialização saiba o que inicializar. Isso deve ser feito por uma ferramenta de particionamento ou pela edição hexadecimal manualmente, pois também é colocado fora da área de partição.
Na UEFI, as coisas são muito mais fáceis. Ele conhece 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á os sistemas operacionais.
Então, basicamente, você só precisa copiar os arquivos * .efi no ESP e colocar os arquivos do sistema na pasta correta. No entanto, ainda existe um pequeno problema porque a partição FAT que contém o arquivo * .efi deve ser 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 / o que for para EFh no 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 em a família do sistema de arquivos FAT
E ainda existem muitos outros esquemas de particionamento, como etiqueta de disco BSD ou APM, que precisam ser modificados de maneira diferente para inicializar. Ou os pen drives podem ter sido formatados sem uma tabela de partição (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
fonte
Tradicionalmente, a inicialização do BIOS exigia um marcador invisível especial. Aqui estão alguns exemplos :
Nesses casos, você não pode simplesmente copiar arquivos. A unidade resultante não pode ser inicializada porque faltam esses marcadores especiais.
No entanto , a inicialização UEFI é especial, mais inteligente e aborda especificamente esses problemas. Como sempre, recomendo a leitura desta postagem no blog para obter um iniciador simplificado para UEFI. Tome nota especial da seção de inicialização de fallback. Isso também é discutido em um pouco mais detalhadamente aqui .
Tudo o que você precisa para que isso funcione é um arquivo em um caminho específico em uma partição que o firmware pesquisará. Para compatibilidade ideal 1 , sim, deve ser uma partição formatada em FAT32 marcada como uma partição de sistema EFI em um disco particionado por GPT. No entanto, a maioria dos firmware também pesquisará partições (únicas) em discos particionados por MBR e não particionados (super-disquetes).
Isso significa que tudo o que você realmente precisa para a inicialização do UEFI é uma partição única formatada em FAT32 1 contendo uma entrada de inicialização de fallback. Em uma arquitetura x86_64, isso significa que você só precisa de um
\EFI\BOOT\BOOTx64.EFI
arquivo. Você pode simplesmente copiar de uma unidade flash para outra, incluindo esse arquivo, e tudo deve funcionar.1 1 FAT32 e GPT são exigidos pelo padrão. MBR e superfloppy não são, AFAIK, mas o suporte a eles é bastante universal entre os hardwares de desktop. Laptop é um pouco mais esotérico; os tablets são um lance, e o Mac EFI é único.
2 O padrão UEFI requer suporte ao FAT32. Algum firmware também pode suportar NTFS (embora longe de ser garantido), e você pode realmente incorporar um driver NTFS em um FAT32 ESP.
fonte
Depende do que você quer dizer com 'cópia'.
Copiar e colar na GUI do seu sistema operacional? Não, isso não funcionará - alguns arquivos de que um USB inicializável será considerado "oculto" / invisível e não copiado.
Existem vários tipos de cópia que irá trabalhar. Isso geralmente é chamado de 'geração de imagens' de um novo USB, para diferenciar de 'copiar' seu conteúdo. A maneira mais comum de fazer isso é uma ferramenta de linha de comando, mas as opções gráficas estão disponíveis se você precisar delas.
Isso deve ser suficiente para colocar sua pesquisa nos trilhos!
fonte