Grave a atualização do BIOS inicializável .ISO para o pendrive

14

A Lenovo distribui atualizações do BIOS como arquivos .iso ( exemplo ) que devem ser gravados em um CD e inicializados. Gravá-lo em um CD funcionou e inicializou corretamente, mas agora eu quero usar um pendrive (por não confiar na minha unidade de CD), como criar esse pendrive usando o Ubuntu?

Existem muitos tutoriais explicando como criar pendrives USB inicializáveis ​​a partir de ISOs baseados em Linux (usando UNetbootin e similares, eles criam arquivos relacionados ao Linux na raiz do pendrive USB) e de utilitários baseados em Windows (com FreeDOS e similares). Acredito que não há soluções aqui, pois o arquivo ISO de atualização do BIOS não é baseado no Linux nem no DOS (a montagem do ISO não mostra nenhum sistema de arquivos conhecido)

Nicolas Raoul
fonte
1
Você já tentou despejar o conteúdo ISO em um USB? Para isso, execute o seguinte comando: # dd if=/path/to/iso of=/dev/yourusb bs=4M. AVISO : O seu USB será APAGADO . Além disso, verifique o caminho da sua unidade de bloco USB.
Arch user
@ Archchuser: Isso só funciona se as imagens ISO tiverem sido criadas para poder inicializar nessa configuração específica. Imagens ISO inicializáveis ​​regulares não podem ser inicializadas dessa maneira.
David Foerster
Certifique-se de chamar "sudo sync" duas vezes após o comando dd. caso contrário, o kernel poderá não sincronizar os dados gravados do cache do kernel para a unidade.
Matthias

Respostas:

16

Encontrei o que pode ser uma solução para o problema em http://positon.org/lenovo-thinkpad-bios-update-with-linux-and-usb .

Primeiro converta a isoimagem em um imgarquivo:

sudo apt-get install genisoimage
geteltorito -o bios.img gruj09us.iso

Em seguida, copie para a chave USB:

sudo fdisk -l /dev/sdb  # double check that the device is right
sudo dd if=bios.img of=/dev/sdb #Will Erase the drive!! 

Dito isto, acho que você deve tentar primeiro se ele inicializa bem se você escrever o .iso com uma ferramenta genérica, como faria normalmente. (Desde que ele precise de alguma entrada e não comece a mexer automaticamente no BIOS durante a inicialização). Nas últimas duas vezes que instalei um Linux, não usei a ferramenta recomendada. (Criei um USB inicializável para 15.04 com o SUSE Studio Image Writer, pois o Unetbootin o bagunçou várias vezes. Funcionou bem.)

jetpackneedsrepair
fonte
1
Depois de atualizar o BIOS, restaure a capacidade total do USB com: # dd count=1 bs=512 if=/dev/zero of=/dev/sdbe formate o USB depois disso
Arch user
Isso funcionou! Não sei o que é eltorito, mas resolveu o problema.
Nicolas Raoul
2
Para os registros: O ISO consiste em um diretório raiz vazio e uma imagem de inicialização do BIOS oculta, que é um disco rígido emulado. O geteltorito encontra a imagem do disco lendo o catálogo de inicialização do El Torito. Em seguida, ele aprende o tamanho da imagem na tabela de partição MBR da imagem. Finalmente, extrai a imagem para o arquivo de destino. Isso é inicializado no pendrive apenas porque todo o software necessário está no disco rígido emulado. Uma situação muito peculiar.
21415 Thomas Schmitt
Eu tentei isso, mas não consegui inicializá-lo para o Lenovo T510. Definitivamente, eu peguei o BIOS inicializável, mas quando queimado no USB não havia nada lá (isso é normal?). Quando tentei inicializar, a mensagem de erro era que não havia sistema operacional? Alguma ideia??
precisa saber é o seguinte
verifique também este link: ubuntuforums.org/showthread.php?t=1852425 e thinkwiki.org/wiki/…
TiloBunt
2

Como o usuário do Arch disse nos comentários, a maneira mais direta de gravar um ISO inicializável em uma unidade USB é dda imagem na unidade.

Primeira verificação tripla para qual dispositivo de bloco sua unidade USB está atualmente mapeada:

lsblk

Do que dda imagem para a unidade USB. Por exemplo, se sua unidade USB estiver mapeada para /dev/sdb:

sudo dd if=/path/to/image of=/dev/sdb bs=8M && sync

Diferentes tamanhos de bloco geralmente apresentam desempenho diferente, no entanto, geralmente, um tamanho de bloco maior tem melhor desempenho que um tamanho de bloco menor; um tamanho de bloco de 8M deve ser suficiente para permitir que o processo seja executado a toda velocidade.

Se você deseja monitorar o andamento do processo, instale pv:

sudo apt-get update && sudo apt-get install pv

E execute este comando:

pv /path/to/image | sudo dd of=/dev/sdb bs=8M && sync
kos
fonte
2
Você deve adicionar && sync ao dd
ps95
@ prakharsingh95 Comentário fino. Obrigado
kos
2
O ISO copiado de forma simples no pendrive só é inicializado via BIOS se o ISO começar por um MBR. Esse é um recurso extra comumente chamado de "iso-híbrido". Todas as principais distribuições Linux têm seus ISOs de instalação equipados dessa maneira. Mas o ISO da Lenovo não possui MBR, apenas um catálogo de inicialização El Torito para inicializar via BIOS a partir de CD / DVD / BD. No entanto, ele possui todas as informações necessárias na imagem de inicialização oculta, começando no bloco ISO 27, que emula um disco rígido.
21415 Thomas Schmitt
0

Apenas no caso de alguém ainda estar procurando a resposta.

A solução acima não foi suficiente para o meu Lenovo E470, que é compatível com UEFI. O utilitário de atualização do BIOS simplesmente não inicia no pen drive.

É preciso ler o arquivo README correspondente ao arquivo de atualização do BIOS.

Na reinicialização, pressione Enter para interromper a inicialização normal e depois de entrar na configuração do BIOS:

...
-> 7. Em "UEFI / Legacy Boot", verifique se "UEFI only" está selecionado.
   8. Escolha "Boot" no menu. Observe a ordem de prioridade de inicialização atual para
      restauração mais tarde, se você precisar modificar sua lista de inicialização.
   9. Em "Ordem de prioridade de inicialização", verifique se o seguinte dispositivo está no topo da
      "ATA HDD0".
      - "ATAPI CD0" (ao usar uma unidade óptica interna ThinkPad)
      - "CD USB" (ao usar uma unidade óptica USB)
-> - "HDD USB" (para o meu pen drive)

Após reiniciar, você poderá inicializar a partir do seu "USB HDD".

algo99
fonte
A Lenovo menciona isso em seu README na página de download do BIOS, mas é bom lembrar o pessoal.