Escriba la actualización de BIOS de arranque .ISO en la memoria USB

14

Lenovo distribuye las actualizaciones del BIOS como archivos .iso ( ejemplo ) que se supone que se queman en un CD y se inician. Grabarlo en un CD funcionó y arrancó correctamente, pero ahora quiero usar una memoria USB (porque no confío en mi unidad de CD), ¿cómo crear esta memoria USB usando Ubuntu?

Hay muchos tutoriales que explican cómo crear memorias USB de arranque a partir de ISO basadas en Linux (usando UNetbootin y similares, crean archivos relacionados con Linux en la raíz de la memoria USB) y desde utilidades basadas en Windows (con FreeDOS y similares). Creo que tampoco hay soluciones aquí, ya que el archivo ISO de actualización del BIOS no está basado en Linux ni en DOS (montar el ISO no muestra ningún sistema de archivos conocido)

Nicolas Raoul
fuente
1
¿Has intentado volcar el contenido ISO a un USB? Para ello, ejecute el siguiente comando: # dd if=/path/to/iso of=/dev/yourusb bs=4M. ADVERTENCIA : su USB se BORRARÁ . También verifique la ruta de acceso a su unidad de bloque USB
usuario de Arch
@Archuser: Esto solo funciona si las imágenes ISO se hicieron para poder arrancar en esa configuración particular. Las imágenes ISO de arranque normales no se pueden arrancar así.
David Foerster
Asegúrese de llamar a "sudo sync" dos veces después del comando dd. de lo contrario, el núcleo podría no sincronizar los datos escritos de la memoria caché del núcleo a la unidad.
Matthias

Respuestas:

16

Encontré lo que puede ser una solución al problema en http://positon.org/lenovo-thinkpad-bios-update-with-linux-and-usb .

Primero convierta la isoimagen a un imgarchivo:

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

Luego copie a la llave 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!! 

Dicho esto, creo que deberías probar primero si arranca bien si solo escribes el .iso con una herramienta genérica como lo harías normalmente. (Siempre y cuando necesite algo de entrada y no comience a andar automáticamente en su BIOS cuando arranque). Las últimas dos veces que instalé un Linux no utilicé la herramienta recomendada. (Hice un USB de arranque para 15.04 con SUSE Studio Image Writer porque Unetbootin lo estropeó varias veces. Funcionó bien).

jetpackneedsrepair
fuente
1
Después de que haya actualizado su BIOS, restaure el USB a su capacidad máxima con: # dd count=1 bs=512 if=/dev/zero of=/dev/sdby formatee el USB después de eso
Usuario de Arch
¡Eso funciono! No estoy seguro de qué es eltorito pero resolvió el problema.
Nicolas Raoul
2
Para los registros: el ISO consiste en un directorio raíz vacío y una imagen de arranque del BIOS oculta que es un disco duro emulado. geteltorito encuentra la imagen del disco leyendo el catálogo de arranque de El Torito. Luego aprende el tamaño de la imagen de la tabla de partición MBR en la imagen. Finalmente extrae la imagen al archivo de destino. Esto arranca desde una memoria USB solo porque todo el software necesario está en el disco duro emulado. Una situación muy peculiar.
Thomas Schmitt
Intenté esto pero no pude hacer que arrancara para Lenovo T510. Definitivamente enganché el BIOS de arranque, pero cuando se quemó al USB no había nada allí (¿es eso normal?). Cuando intenté arrancar, ¿el mensaje de error era que no había SO? ¿¿Algunas ideas??
Shaneonabike
consulte también este enlace: ubuntuforums.org/showthread.php?t=1852425 y thinkwiki.org/wiki/…
TiloBunt
2

Como dijo el usuario de Arch en los comentarios, la forma más sencilla de escribir un ISO de arranque en una unidad USB es dd la imagen en la unidad.

Primera verificación triple a qué dispositivo de bloque está asignada actualmente su unidad USB:

lsblk

Que ddla imagen a la unidad USB. Por ejemplo, si su unidad USB está asignada a /dev/sdb:

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

Los diferentes tamaños de bloque generalmente se presentan de manera diferente, sin embargo, generalmente un tamaño de bloque más grande funciona mejor que un tamaño de bloque más pequeño; un tamaño de bloque de 8M debería ser suficiente para permitir que el proceso se ejecute a toda velocidad.

Si desea monitorear el progreso del proceso, instale pv:

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

Y ejecuta este comando en su lugar:

pv /path/to/image | sudo dd of=/dev/sdb bs=8M && sync
kos
fuente
2
Debe agregar && sync a dd
ps95
@ prakharsingh95 Buen comentario. Gracias
kos
2
El ISO copiado de forma plana en la memoria USB solo se inicia a través del BIOS si el ISO comienza con un MBR. Esta es una característica adicional comúnmente llamada "isohíbrido". Todas las principales distribuciones de Linux tienen sus ISO de instalación equipadas de esta manera. Pero el ISO de Lenovo no tiene MBR, solo un catálogo de arranque de El Torito para arrancar a través de BIOS desde CD / DVD / BD. Sin embargo, todo lo que necesita en la imagen de arranque oculta comienza en el bloque ISO 27, que emula un disco duro.
Thomas Schmitt
0

Por si acaso alguien sigue buscando la respuesta.

La solución anterior sola no fue suficiente para mi Lenovo E470, que es compatible con UEFI. La utilidad de actualización del BIOS simplemente no se inicia desde una memoria USB.

Uno tiene que leer el archivo README correspondiente al archivo de actualización del BIOS.

Al reiniciar, presione Entrar para interrumpir el inicio normal y después de ingresar a la Configuración del BIOS:

...
-> 7. En "UEFI / Legacy Boot", asegúrese de elegir "UEFI only".
   8. Elija "Arrancar" en el menú. Tenga en cuenta el orden de prioridad de arranque actual para
      restauración más tarde si necesita modificar su lista de arranque.
   9. En "Orden de prioridad de arranque", asegúrese de que el siguiente dispositivo esté encima de
      "ATA HDD0".
      - "ATAPI CD0" (cuando se utiliza una unidad óptica interna ThinkPad)
      - "CD USB" (cuando se utiliza una unidad óptica USB)
-> - "USB HDD" (para mi memoria USB)

Después de reiniciar, debería poder arrancar desde su "HDD USB".

algo99
fuente
Lenovo menciona esto en su README en la página de descarga del BIOS, pero es bueno recordarle a la gente.