Por que criar uma unidade USB inicializável é mais complexa do que criar CDs inicializáveis?
A criação de CDs e DVDs inicializáveis tende a ser um processo simples e direto, mas por que é mais complexo criar unidades flash inicializáveis? Existe realmente muita diferença entre os dois? O post de perguntas e respostas do SuperUser de hoje tem a resposta para a pergunta de um curioso leitor.
A sessão de perguntas e respostas de hoje nos é oferecida por cortesia do SuperUser - uma subdivisão do Stack Exchange, um agrupamento de sites de perguntas e respostas conduzido pela comunidade..
A questão
Leitor de superusuário William quer saber por que criar uma unidade USB inicializável é mais complexo do que criar CDs inicializáveis:
Criar um CD inicializável é realmente simples, na minha opinião, tudo que você precisa fazer é gravar um arquivo ISO em um disco e ele é inicializável. Agora, quando se trata de drives USB, você tem muitas opções. Alguém poderia explicar a diferença entre os dois e talvez dar uma breve visão geral das diferentes opções?
Por que criar uma unidade USB inicializável é mais complexa do que criar CDs inicializáveis??
A resposta
Contribuinte do SuperUser Akeo tem a resposta para nós:
Desenvolvedor Rufus aqui. Primeiro de tudo, muitas das opções que você menciona são listadas apenas ao executar o Rufus em Modo avançado (quando o Seção Opções Avançadas é exibido), porque eles são destinados a pessoas que já sabem o que são.
Para começar, você precisa entender que o formato ISO nunca foi projetado para a inicialização via USB. Um arquivo ISO é uma cópia 1: 1 de um disco óptico, e mídias de disco óptico são muito diferentes da mídia USB, tanto em termos de como seus gerenciadores de inicialização devem ser estruturados, quanto sistema de arquivos eles usam, como eles são particionados não) e assim por diante.
Então, se você tem um arquivo ISO, você simplesmente não pode fazer com mídia USB o que você pode fazer com um disco óptico, que é lido em cada byte do arquivo ISO e copiado como está, em seqüência, no disco (qual CD / Gravador de DVD faz quando "trabalhar" com arquivos ISO).
Isso não quer dizer que esse tipo de cópia 1: 1 não exista em mídia USB, apenas que cópias 1: 1 em mídia USB serão completamente diferentes de cópias 1: 1 em discos ópticos e, portanto, não são intercambiáveis (fora do uso de ISOHybrid imagens que são criadas para funcionar como cópias 1: 1 em USB e mídia óptica). Para o registro, na terminologia de Rufus, uma cópia 1: 1 em mídia USB é chamada de DD Image (você pode ver essa opção na lista) e algumas distribuições, como FreeBSD ou Raspbian, fornecem DD Images para instalação USB, junto com ISO arquivos para gravação de CD / DVD.
Assim, nós estabelecemos que os arquivos ISO são realmente mal adaptados para criar mídia USB inicializável, porque eles são o equivalente a fornecer uma cavilha redonda para encaixar em um furo quadrado menor e, portanto, a cavilha redonda deve ser alterada para ajustá-la.
Agora você pode estar se perguntando, se os arquivos ISO são tão inadequados para a criação de mídia USB inicializável, por que a maioria dos distribuidores de sistemas operacionais oferece arquivos ISO em vez de imagens DD. Bem, fora de razões históricas, um dos problemas com o DD Images é que, por ser um sistema de arquivos particionado, se você criar uma cópia 1: 1 em mídia USB maior que a usada pela pessoa que criou a imagem, então você vai acabar com a aparente "capacidade" de sua mídia USB reduzida para o tamanho do usado na criação da imagem original do DD.
Além disso, enquanto os discos ópticos e, portanto, os arquivos ISO só podem usar um dos dois sistemas de arquivos (ISO9660 ou UDF), ambos muito bem suportados em todos os principais sistemas operacionais há muito tempo (e permite que você dê uma espiada no conteúdo da imagem antes ou depois de usá-la), a DD Images pode literalmente usar qualquer um dos milhares de sistemas de arquivos diferentes existentes. Isso significa que, mesmo depois de criar sua mídia USB inicializável, talvez você não consiga realmente ver qualquer conteúdo nela até que seja inicializada. Por exemplo, este será o caso se você usar imagens USB do FreeBSD no Windows. Uma vez criada a mídia USB inicializável, o Windows não poderá acessar nenhum conteúdo até que você a reformate.
É por isso que os provedores tendem a querer ficar com arquivos ISO sempre que possível, já que (geralmente) proporciona uma melhor experiência do usuário em todos os sistemas operacionais. Mas isso também significa que alguma conversão deve (geralmente) ocorrer, de modo que a nossa pegada ISO redonda possa se encaixar perfeitamente no orifício quadrado menor da “mídia USB”. Como isso se relaciona com a lista de opções? Estamos chegando a isso.
Uma das primeiras coisas que normalmente precisa ir é o sistema de arquivos ISO9660 ou UDF que os arquivos ISO usam. Na maioria das vezes, isso significa extrair e copiar todos os arquivos do arquivo ISO em um sistema de arquivos FAT32 ou NTFS, que é o que as unidades flash USB inicializáveis tendem a usar. Mas é claro que isso significa que quem criou o sistema ISO deve ter feito algumas provisões para suportar FAT32 ou NTFS como um sistema de arquivos para uso ao vivo ou instalação (que nem todas as pessoas, especialmente aquelas que confiam demais no ISOHybrid, tendem façam).
Depois, há o próprio gerenciador de inicialização, o primeiro bit de código que é executado quando um computador inicializa a partir da mídia USB. Infelizmente, os carregadores de boot HDD / USB e ISO são bestas muito diferentes, e o BIOS ou firmware UEFI também trata a mídia USB e óptica de maneira muito diferente durante o processo de inicialização. Então, você normalmente não pode pegar o carregador de boot de um arquivo ISO (que normalmente seria um gerenciador de inicialização El Torito), copiá-lo para a mídia USB e esperar que ele inicialize.
Agora vem a parte que é relevante para a nossa lista de opções. Como o Rufus terá que fornecer uma parte relevante do carregador de inicialização, ele simplesmente não poderá obtê-lo a partir do arquivo ISO. Se estivermos lidando com um arquivo ISO baseado em Linux, provavelmente usaremos o GRUB 2.0 ou o Syslinux, então o Rufus inclui a capacidade de instalar uma versão baseada em USB do GRUB ou Syslinux (já que o arquivo ISO geralmente contém apenas a versão específica da ISO) daqueles).
Isso geralmente é feito automaticamente quando você seleciona e abre um arquivo ISO, já que o Rufus é inteligente o suficiente para detectar o tipo de conversão que precisa aplicar. Mas se você quiser brincar, o Rufus oferece a você a opção de instalar também alguns carregadores de inicialização em branco que permitem inicializar em um prompt do GRUB ou do Syslinux. A partir daí, se você estiver familiarizado com esses tipos de carregadores de inicialização, poderá criar / testar seus próprios arquivos de configuração e tentar o seu próprio processo de inicialização personalizado baseado no Syslinux ou no GRUB (porque nesse estágio, você só precisa copiar / editar arquivos a mídia USB para fazer isso).
Então, podemos agora examinar as opções que você encontra na lista:
- MS-DOS: Isso cria uma versão em branco do MS-DOS (edição do Windows Me), o que significa que você inicializará em um prompt do MS-DOS e pronto. Se você deseja executar um aplicativo do DOS, será necessário copiá-lo para a mídia USB. Observe que essa opção só está disponível no Windows 8.1 ou anterior, mas não no Windows 10, pois a Microsoft removeu os arquivos de instalação do DOS do Windows (e somente a Microsoft pode redistribuir esses arquivos).
- FreeDOS: Isso cria uma versão em branco do FreeDOS. O FreeDOS é uma versão de software livre do MS-DOS, que é totalmente compatível com o MS-DOS, mas também tem a vantagem de ser de código aberto. Comparado com o MS-DOS, qualquer um pode redistribuir o FreeDOS, então os arquivos de inicialização do FreeDOS são incluídos no Rufus.
- Imagem ISO: Esta é a opção que você deve usar se tiver um arquivo ISO inicializável e quiser convertê-lo em mídia USB inicializável. Tenha em mente que, como uma conversão (geralmente) precisa ocorrer e existem zilhões de maneiras de criar um arquivo ISO inicializável, não há garantia de que o Rufus será capaz de convertê-lo em mídia USB (mas ele sempre informará se isso é o caso).
- Imagem DD: Este é o método que você deve usar se tiver uma imagem de disco inicializável, como as fornecidas pelo FreeBSD, Raspbian, etc. Arquivos com extensão .vhd também são suportados (que é a versão da Microsoft de uma imagem DD), bem como compactados. ones (.gz, .zip, .bz2, .xz, etc.).
As quatro opções acima são as únicas que você verá em Modo regular. Mas se você administrar Rufus em Modo avançado, você também terá acesso às seguintes opções:
- Syslinux x.yz: Instala um carregador de inicialização do Syslinux em branco que o levará a um prompt do Syslinux e não muito mais. Você deveria saber o que você precisa fazer a partir desse ponto.
- GRUB / Grub4DOS: O mesmo que acima, mas para GRUB / Grub4DOS, respectivamente. Ele te levará a um prompt do GRUB, mas cabe a você descobrir o resto.
- ReactOS: Instala um loader de boot experimental do ReactOS. Desde a última vez que verifiquei, o ReactOS não inicializa bem a partir de mídia USB. Ele está lá porque foi fácil de adicionar e feito com a esperança de que ele possa ajudar no desenvolvimento do ReactOS.
- UEFI-NTFS: Isso requer que o NTFS seja selecionado como o sistema de arquivos e instale um carregador de inicialização UEFI-NTFS em branco. Isso permite inicializar a partir do NTFS no modo UEFI puro (não CSM) em plataformas UEFI que não incluem um driver NTFS. Porque está em branco, você precisará copiar o seu próprio /efi/boot/bootia32.efi ou /efi/boot/bootx64.efi na partição NTFS para que seja útil. O UEFI-NTFS é usado automaticamente pelo Rufus para contornar o tamanho máximo de arquivo de 4 GB do FAT32, que, por exemplo, permite a instalação do Microsoft Server 2016 no modo UEFI sem precisar dividir seu arquivo install.wim de 4,7 GB.
Espero que ajude. Esta é uma visão geral simplificada, por isso espero que as pessoas não comecem a entender aspectos que foram deliberadamente estúpidos ou mantidos em silêncio (como saber que é possível ter unidades flash USB sem partições, para que a mídia USB e óptica use o mesmo arquivo sistema, e que alguns processos de inicialização têm a capacidade de estender o tamanho da partição em mídia USB, a fim de resolver o problema de menor capacidade aparente).
Tem algo a acrescentar à explicação? Som desligado nos comentários. Quer ler mais respostas de outros usuários do Stack Exchange com experiência em tecnologia? Confira o tópico de discussão completo aqui.
Crédito da Imagem: William (SuperUser)