Viết cập nhật BIOS có thể khởi động .ISO vào thanh USB


14

Lenovo phân phối các bản cập nhật BIOS dưới dạng tệp .iso ( ví dụ ) được cho là bị cháy trên đĩa CD và được khởi động. Ghi nó vào đĩa CD hoạt động và khởi động chính xác, nhưng bây giờ tôi muốn sử dụng thẻ USB thay thế (vì tôi không tin tưởng vào ổ đĩa CD của mình), làm thế nào để tạo thanh USB này bằng Ubuntu?

Có nhiều hướng dẫn giải thích cách tạo thẻ USB có thể khởi động từ các ISO dựa trên Linux (sử dụng UNetbootin và tương tự, họ tạo các tệp liên quan đến Linux ở gốc của thanh USB) và từ các tiện ích dựa trên Windows (với FreeDOS và tương tự). Tôi tin rằng không có giải pháp nào ở đây vì tệp ISO cập nhật BIOS không dựa trên Linux cũng không dựa trên DOS (gắn ISO không hiển thị bất kỳ hệ thống tệp đã biết nào)


1
Bạn đã thử chuyển nội dung ISO sang USB chưa? Để làm như vậy, chạy lệnh sau : # dd if=/path/to/iso of=/dev/yourusb bs=4M. CẢNH BÁO : USB của bạn sẽ bị xóa . Ngoài ra, vui lòng kiểm tra lại đường dẫn đến ổ đĩa USB của bạn
dùng Arch

@Archuser: Điều này chỉ hoạt động, nếu hình ảnh ISO được tạo để có thể khởi động trong cấu hình cụ thể đó. Hình ảnh ISO có thể khởi động thông thường không thể được khởi động như thế.
David foerster

Đảm bảo bạn gọi "sudo sync" hai lần sau lệnh dd. nếu không, kernel có thể không đồng bộ hóa lại dữ liệu đã ghi từ bộ đệm kernel vào ổ đĩa.
Matthias

Câu trả lời:


16

Tôi đã tìm thấy những gì có thể là một giải pháp cho vấn đề này tại http://poseiton.org/lenovo-thinkpad-bios-update-with-linux-and-usb .

Đầu tiên chuyển đổi isohình ảnh thành một imgtập tin:

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

Sau đó sao chép vào khóa 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!! 

Điều đó nói rằng tôi nghĩ bạn chỉ nên thử đầu tiên xem nó có khởi động được không nếu bạn chỉ viết .iso bằng một công cụ chung như bình thường. (Với điều kiện là nó cần một số đầu vào và không tự động bắt đầu hoạt động trong BIOS của bạn khi bạn khởi động.) Hai lần cuối tôi cài đặt Linux, tôi không sử dụng công cụ được đề xuất. (Tôi đã tạo một USB có thể khởi động cho 15.04 với SUSE Studio Image Writer kể từ khi Unetbootin làm hỏng nó nhiều lần. Nó hoạt động tốt.)


1
Sau khi bạn đã cập nhật BIOS của mình, hãy khôi phục USB về dung lượng đầy đủ với: # dd count=1 bs=512 if=/dev/zero of=/dev/sdbvà định dạng USB sau đó
dùng Arch

Điều đó đã làm việc! Không chắc eltorito là gì nhưng nó đã giải quyết được vấn đề.
Nicolas Raoul

2
Đối với các bản ghi: ISO bao gồm một thư mục gốc trống và hình ảnh khởi động BIOS ẩn là một đĩa cứng giả lập. geteltorito tìm thấy hình ảnh đĩa bằng cách đọc danh mục khởi động El Torito. Sau đó, nó học kích thước hình ảnh từ bảng phân vùng MBR trong hình ảnh. Cuối cùng, nó trích xuất hình ảnh vào tập tin đích. Việc khởi động từ thanh USB này chỉ vì tất cả phần mềm cần thiết đều nằm trong đĩa cứng giả lập. Một tình huống rất đặc biệt.
Thomas Schmitt

Tôi đã thử điều này nhưng không thể khởi động nó cho Lenovo T510. Tôi chắc chắn đã lấy mất BIOS có thể khởi động nhưng khi nó bị cháy ra USB thì không có gì ở đó (điều đó có bình thường không?). Khi tôi cố khởi động thì thông báo lỗi là không có HĐH? Có ý kiến ​​gì không ??
shaneonabike

kiểm tra liên kết này cũng như: ubuntuforums.org/showthread.php?t=1852425thinkwiki.org/wiki/...
TiloBunt

2

Như người dùng Arch đã nói trong các bình luận, cách đơn giản nhất để ghi ISO có thể khởi động vào ổ USB là vào ddhình ảnh vào ổ đĩa.

Kiểm tra ba lần đầu tiên đến thiết bị chặn nào mà ổ USB của bạn hiện được ánh xạ tới:

lsblk

Hơn ddhình ảnh vào ổ USB. Ví dụ: nếu ổ USB của bạn tình cờ được ánh xạ tới /dev/sdb:

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

Kích thước khối khác nhau thường làm khác nhau, tuy nhiên thường kích thước khối lớn hơn sẽ tốt hơn kích thước khối nhỏ hơn; kích thước khối 8M là đủ để cho quá trình chạy ở tốc độ tối đa.

Nếu bạn muốn theo dõi tiến trình của quá trình, hãy cài đặt pv:

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

Và chạy lệnh này thay thế:

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

2
Bạn phải thêm && đồng bộ hóa vào dd
ps95

@ prakharsingh95 Nhận xét tốt. Cảm ơn
kos

2
ISO được sao chép phẳng trên thanh USB chỉ khởi động qua BIOS nếu ISO bắt đầu bằng MBR. Đây là một tính năng bổ sung thường được gọi là "isohy điều chỉnh". Tất cả các bản phân phối Linux chính đều có ISO cài đặt được trang bị theo cách này. Nhưng Lenovo ISO không có MBR, chỉ có một danh mục khởi động El Torito để khởi động qua BIOS từ CD / DVD / BD. Tuy nhiên, nó có tất cả những thứ cần thiết trong hình ảnh khởi động ẩn bắt đầu ở ISO 27, mô phỏng một đĩa cứng.
Thomas Schmitt

0

Chỉ trong trường hợp ai đó vẫn đang tìm kiếm câu trả lời.

Chỉ riêng giải pháp trên là không đủ cho chiếc Lenovo E470 của tôi có khả năng UEFI. Tiện ích cập nhật BIOS không bắt đầu từ USB.

Người ta phải đọc tệp README tương ứng với tệp cập nhật BIOS.

Khi khởi động lại, nhấn Enter để ngắt khởi động bình thường và sau khi vào Cài đặt BIOS:

...
-> 7. Trong "UEFI / Legacy Boot", đảm bảo "chỉ UEFI" được chọn.
   8. Chọn "Khởi động" từ menu. Lưu ý thứ tự ưu tiên khởi động hiện tại cho
      phục hồi sau nếu bạn cần sửa đổi danh sách khởi động của bạn.
   9. Trong "Thứ tự ưu tiên khởi động", đảm bảo thiết bị sau nằm trên cùng
      "ATA HDD0".
      - "ATAPI CD0" (khi sử dụng ổ đĩa quang bên trong ThinkPad)
      - "USB CD" (khi sử dụng ổ đĩa quang USB)
-> - "USB HDD" (cho thanh USB của tôi)

Sau khi khởi động lại, bạn sẽ có thể khởi động từ "USB HDD".


Lenovo đề cập đến điều này trong README của họ trên trang tải xuống BIOS, nhưng thật tốt khi nhắc nhở mọi người.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.