Tulis pembaruan BIOS yang dapat di-boot .ISO ke stik USB

14

Lenovo mendistribusikan pembaruan BIOS sebagai file .iso ( contoh ) yang seharusnya dibakar pada CD dan di-boot. Membakarnya ke CD berfungsi dan boot dengan benar, tetapi sekarang saya ingin menggunakan stik USB (karena saya tidak percaya pada drive CD saya), bagaimana cara membuat stik USB ini menggunakan Ubuntu?

Ada banyak tutorial yang menjelaskan cara membuat stik USB yang dapat di-boot dari ISO berbasis Linux (menggunakan UNetbootin dan sejenisnya, mereka membuat file yang berhubungan dengan Linux di root stik USB) dan dari utilitas berbasis Windows (dengan FreeDOS dan sejenisnya). Saya percaya tidak ada solusi di sini karena pembaruan BIOS file ISO tidak berbasis Linux atau berbasis DOS (pemasangan ISO tidak menunjukkan sistem file yang dikenal)

Nicolas Raoul
sumber
1
Sudahkah Anda mencoba membuang konten ISO ke USB? Untuk melakukannya, jalankan perintah berikut: # dd if=/path/to/iso of=/dev/yourusb bs=4M. PERINGATAN : USB Anda akan DIHAPUS . Juga mohon periksa jalan untuk USB blok drive
pengguna Arch
@Archuser: Ini hanya berfungsi, jika gambar ISO dibuat untuk dapat boot dalam konfigurasi tertentu. Gambar ISO yang biasa di-boot tidak bisa di-boot seperti itu.
David Foerster
Pastikan Anda memanggil "sinkronisasi sudo" dua kali setelah perintah dd. jika tidak, kernel mungkin tidak akan menyinkronkan kembali data tertulis dari cache kernel ke drive.
Matthias

Jawaban:

16

Saya menemukan apa yang mungkin menjadi solusi untuk masalah ini di http://positon.org/lenovo-thinkpad-bios-update-with-linux-and-usb .

Konversi isogambar terlebih dahulu ke imgfile:

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

Kemudian salin ke kunci 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!! 

Yang mengatakan saya pikir Anda harus mencoba dulu apakah booting baik-baik saja jika Anda hanya menulis .iso dengan alat generik seperti biasa. (Asalkan perlu beberapa input dan tidak secara otomatis mulai mucking di BIOS Anda saat Anda boot.) Terakhir dua kali saya menginstal Linux saya tidak menggunakan alat yang direkomendasikan. (Saya membuat USB bootable untuk 15,04 dengan SUSE Studio Image Writer sejak Unetbootin mengacaukannya berkali-kali. Ini bekerja dengan baik.)

perbaikan jetpackneeds
sumber
1
Setelah Anda memperbarui BIOS Anda, kembalikan USB ke kapasitas penuh dengan: # dd count=1 bs=512 if=/dev/zero of=/dev/sdbdan format USB setelah itu
Pengguna Arch
Itu berhasil! Tidak yakin apa itu eltorito tetapi itu memecahkan masalah.
Nicolas Raoul
2
Sebagai catatan: ISO terdiri dari direktori root kosong dan image boot BIOS tersembunyi yang merupakan hard disk yang ditiru. geteltorito menemukan gambar disk dengan membaca katalog boot El Torito. Kemudian ia mempelajari ukuran gambar dari tabel partisi MBR pada gambar. Akhirnya ia mengekstrak gambar ke file target. Boot ini dari USB stick hanya karena semua perangkat lunak yang diperlukan ada dalam hard disk yang ditiru. Situasi yang sangat aneh.
Thomas Schmitt
Saya mencoba ini tetapi tidak bisa mem-boot untuk Lenovo T510. Saya benar-benar mengambil BIOS yang dapat di-boot tetapi ketika ia terbakar ke USB tidak ada apa-apa di sana (apakah itu normal?). Ketika saya mencoba untuk mem-boot pesan kesalahan adalah bahwa tidak ada OS? Ada ide ??
shaneonabike
2

Seperti yang dikatakan pengguna Arch dalam komentar, cara paling mudah untuk menulis ISO yang dapat di-boot ke drive USB adalah dengan ddimage ke drive.

Periksa tiga kali pertama yang memblokir perangkat drive USB Anda saat ini dipetakan ke:

lsblk

Dari ddgambar ke drive USB. Misalnya, jika drive USB Anda dipetakan ke /dev/sdb:

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

Ukuran blok yang berbeda biasanya tampil berbeda, namun biasanya ukuran blok yang lebih besar berkinerja lebih baik daripada ukuran blok yang lebih kecil; ukuran blok 8M harus cukup untuk membiarkan proses berjalan dengan kecepatan penuh.

Jika Anda ingin memantau kemajuan proses, instal pv:

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

Dan jalankan perintah ini sebagai gantinya:

pv /path/to/image | sudo dd of=/dev/sdb bs=8M && sync
kos
sumber
2
Anda harus menambahkan && menyinkronkan ke dd
ps95
@ prakharsingh95 Ucapan baik-baik saja. Terima kasih
kos
2
Menyalin ISO pada USB stick hanya melakukan booting melalui BIOS jika ISO dimulai oleh MBR. Ini adalah fitur tambahan yang biasa disebut "isohybrid". Semua distro Linux utama dilengkapi ISO instalasi mereka dengan cara ini. Tetapi ISO Lenovo tidak memiliki MBR, hanya katalog boot El Torito untuk booting melalui BIOS dari CD / DVD / BD. Namun demikian ia memiliki semua hal yang diperlukan dalam image boot tersembunyi yang dimulai pada ISO blok 27, yang mengemulasi hard disk.
Thomas Schmitt
0

Untuk berjaga-jaga jika seseorang masih mencari jawabannya.

Solusi di atas saja tidak cukup untuk Lenovo E470 saya yang mampu UEFI. Utilitas pembaruan BIOS tidak dimulai dari stik USB.

Kita harus membaca file README yang terkait dengan file pembaruan BIOS.

Pada reboot tekan Enter untuk menghentikan startup normal dan setelah memasuki BIOS Setup:

...
-> 7. Dalam "UEFI / Legacy Boot", pastikan "UEFI saja" dipilih.
   8. Pilih "Boot" dari menu. Perhatikan urutan prioritas boot saat ini untuk
      pemulihan nanti jika Anda perlu mengubah daftar boot Anda.
   9. Dalam "Urutan Prioritas Booting", pastikan perangkat berikut berada di atas
      "ATA HDD0".
      - "ATAPI CD0" (saat menggunakan drive optik internal ThinkPad)
      - "USB CD" (saat menggunakan drive optik USB)
-> - "USB HDD" (untuk stik USB saya)

Setelah restart, Anda seharusnya bisa boot dari "HDD USB" Anda.

algo99
sumber
Lenovo menyebutkan ini dalam README mereka di halaman unduhan BIOS, tetapi baik untuk mengingatkan orang.