Scrivi l'aggiornamento BIOS avviabile .ISO su chiavetta USB


14

Lenovo distribuisce gli aggiornamenti del BIOS come file .iso ( esempio ) che dovrebbero essere masterizzati su un CD e avviati. Masterizzarlo su un CD ha funzionato e avviato correttamente, ma ora voglio usare una chiavetta USB (perché non mi fido della mia unità CD), come creare questa chiavetta USB usando Ubuntu?

Esistono molti tutorial che spiegano come creare chiavette USB avviabili da ISO basate su Linux (usando UNetbootin e simili, creano file relativi a Linux alla radice della chiavetta USB) e da utilità basate su Windows (con FreeDOS e simili). Credo che non ci siano soluzioni qui poiché il file ISO di aggiornamento del BIOS non è basato su Linux né su DOS (il montaggio dell'ISO non mostra alcun file system noto)


1
Hai provato a scaricare il contenuto ISO su una USB? Per fare ciò, eseguire il seguente comando: # dd if=/path/to/iso of=/dev/yourusb bs=4M. ATTENZIONE : la tua USB verrà cancellata . Inoltre, ricontrolla il percorso dell'unità a blocchi USB
Arch user il

@Archuser: funziona solo se le immagini ISO sono state create per essere in grado di avviarsi in quella particolare configurazione. Le normali immagini ISO avviabili non possono essere avviate in questo modo.
David Foerster,

Assicurati di chiamare "sudo sync" due volte dopo il comando dd. altrimenti il ​​kernel potrebbe non sincronizzare i dati scritti dalla cache del kernel all'unità.
Matthias,

Risposte:


16

Ho trovato quella che potrebbe essere una soluzione al problema su http://positon.org/lenovo-thinkpad-bios-update-with-linux-and-usb .

Per prima cosa converti l' isoimmagine in un imgfile:

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

Quindi copia sulla chiave 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!! 

Detto questo, penso che dovresti provare prima se si avvia bene se scrivi semplicemente .iso con uno strumento generico come faresti normalmente. (A condizione che abbia bisogno di input e non inizi a confondersi automaticamente nel BIOS all'avvio.) Le ultime due volte che ho installato un Linux non ho usato lo strumento consigliato. (Ho creato una USB avviabile per 15.04 con SUSE Studio Image Writer da quando Unetbootin l'ha incasinata più volte. Ha funzionato bene.)


1
Dopo aver aggiornato il BIOS, ripristina la piena capacità dell'USB con: # dd count=1 bs=512 if=/dev/zero of=/dev/sdbe formatta l'USB successivamente
Arch user il

Ha funzionato! Non sono sicuro di cosa sia eltorito ma ha risolto il problema.
Nicolas Raoul,

2
Per i record: l'ISO è costituito da una directory radice vuota e un'immagine di avvio del BIOS nascosta che è un disco rigido emulato. geteltorito trova l'immagine del disco leggendo il catalogo di avvio di El Torito. Quindi apprende le dimensioni dell'immagine dalla tabella delle partizioni MBR nell'immagine. Infine estrae l'immagine nel file di destinazione. Questo si avvia dalla chiavetta USB solo perché tutto il software necessario si trova nel disco rigido emulato. Una situazione molto particolare.
Thomas Schmitt,

Ho provato questo ma non sono riuscito a farlo avviare per Lenovo T510. Ho sicuramente afferrato il BIOS avviabile ma quando è stato masterizzato su USB non c'era nulla lì (è normale?). Quando ho provato ad avviare il messaggio di errore era che non c'era un sistema operativo? Qualche idea??
shaneonabike,


2

Come ha detto l'utente Arch nei commenti, il modo più semplice per scrivere un ISO avviabile su un'unità USB è ddl'immagine sull'unità.

Prima di tutto, controlla tre volte su quale dispositivo a blocchi è attualmente mappato il tuo drive USB:

lsblk

Rispetto ddall'immagine sull'unità USB. Ad esempio, se l'unità USB viene mappata su /dev/sdb:

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

Le diverse dimensioni dei blocchi di solito si presentano in modo diverso, tuttavia di solito una dimensione del blocco più grande ha prestazioni migliori rispetto a una dimensione del blocco più piccola; una dimensione del blocco di 8 M dovrebbe essere sufficiente per consentire l'esecuzione del processo alla massima velocità.

Se si desidera monitorare l'avanzamento del processo, installare pv:

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

Ed esegui invece questo comando:

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

2
Devi aggiungere && sync a dd
ps95 il

@ prakharsingh95 Ottima osservazione. Grazie
kos

2
L'ISO copiato in modo piatto sulla chiavetta USB si avvia solo tramite BIOS se l'ISO inizia con un MBR. Questa è una funzione extra comunemente chiamata "isoibrida". Tutte le principali distro Linux hanno i loro ISO di installazione equipaggiati in questo modo. Ma l'ISO Lenovo non ha MBR, solo un catalogo di avvio El Torito per l'avvio tramite BIOS da CD / DVD / BD. Tuttavia ha tutto il necessario nell'immagine di avvio nascosta a partire dal blocco ISO 27, che emula un disco rigido.
Thomas Schmitt

0

Nel caso in cui qualcuno stia ancora cercando la risposta.

La soluzione sopra da sola non era abbastanza per il mio Lenovo E470 che è compatibile con UEFI. L'utilità di aggiornamento del BIOS non si avvia dalla chiavetta USB.

Bisogna leggere il file README corrispondente al file di aggiornamento del BIOS.

Al riavvio, premere Invio per interrompere l'avvio normale e dopo aver effettuato l'accesso al BIOS Setup:

...
-> 7. In "UEFI / Legacy Boot", assicurarsi che sia selezionato "Solo UEFI".
   8. Scegliere "Boot" dal menu. Nota l'attuale ordine di priorità di avvio per
      ripristino in seguito se è necessario modificare l'elenco di avvio.
   9. In "Ordine di priorità di avvio", assicurarsi che il seguente dispositivo sia in primo piano
      "ATA HDD0".
      - "ATAPI CD0" (quando si utilizza un'unità ottica interna ThinkPad)
      - "USB CD" (quando si utilizza un'unità ottica USB)
-> - "USB HDD" (per la mia chiavetta USB)

Dopo il riavvio dovresti essere in grado di eseguire l'avvio da "USB HDD".


Lenovo lo menziona nel suo README sulla pagina di download del BIOS, ma è bene ricordare alla gente.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.