อัปเดตไบออสด้วย thumb drive โดย FreeDOS อาศัย grub2

สมมุติว่าใช้เดเบียนรุ่นตั้งแต่ squeeze ขึ้นไป ซึ่งติดตั้ง grub2 เป็นตัวจัดการการบูตอยู่แล้ว

เตรียมการ

1. ที่ต้องใช้คือ thumb drive ที่ฟอร์แมตแล้ว (มีข้อมูลอยู่ก็ไม่เป็นไร ใช้เนื้อที่แค่ 1.44M ดิสเก็ตต์แผ่นเดียว โดยไม่ต้องฟอร์แมตใหม่) สมมุติว่าเมื่อเสียบช่อง USB แล้ว เขาจะเมานต์อัตโนมัติไว้ที่ /media/disk

2. ติดตั้งแพกเกจ

$ sudo aptitude install syslinux dosfstools

3. เตรียมไฟล์อัปเดตไบออสจากผู้ผลิตเมนบอร์ดเอาไว้ให้เรียบร้อย ถ้าไฟล์ถูกบีบอัดเป็นไฟล์เดียว ให้แตกออกมาด้วย archive manager (File Roller) จะมี 2 ไฟล์ที่ต้องใช้ คือไฟล์ EXE สำหรับการรันไฟล์นึง และไฟล์ข้อมูลไบออสอีกไฟล์นึง

สมมุติถ้าเป็นเมนบอร์ดกิกะไบต์ G31M-ES2L เมื่อแตกไฟล์ที่ดาวน์โหลดออกมาแล้วจะได้ไฟล์ FLASHSPI.EXE และ G31MES2L.F10 ตามลำดับ

4. เอาไฟล์ FreeDOS มา

$ wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.0/fdboot.img

5. เมานต์ขึ้นมาที่ /mnt/tmp เพื่อลบไฟล์ที่ไม่ต้องการออก

$ sudo mkdir -p /mnt/tmp
$ sudo mount -o loop fdboot.img /mnt/tmp
$ sudo rm -rf /mnt/tmp/{driver,fdconfig.sys,freedos}

และคัดลอกไฟล์ไบออสเข้าไป

ตัวอย่างนี้จะเป็นสองไฟล์ข้างต้นของเมนบอร์ดกิกะไบต์ ให้ปรับเปลี่ยนเอาตามจริง:

$ sudo cp ~/Desktop/FLASHSPI.EXE /mnt/tmp
$ sudo cp ~/Desktop/G31MES2L.F10 /mnt/tmp

6. ถอดการเมานต์ คัดลอกไฟล์ไปยัง thumb drive

$ sudo umount /mnt/tmp
$ cp fdboot.img /media/disk

7. คัดลอกไฟล์เคอร์เนลที่ต้องใช้ในการบูตคือ memdisk จากแพคเกจ syslinux และรีบูต

$ cp /usr/lib/syslinux/memdisk /media/disk
$ umount /media/disk
$ sudo shutdown -r now

ขั้นตอนบูต

เมื่อเริ่มเข้า grub2 ให้กด "c" เพื่อเลือกใช้บรรทัดคำสั่ง และพิมพ์คำสั่งดังนี้

set root=(hd1,1)
linux16 /memdisk
initrd16 /fdboot.img
boot

เครื่องจะบูตเข้า FreeDOS ซึ่งเราสามารถแฟลชไบออสด้วยการรันโปรแกรมไบออสที่เราเตรียมการไว้แล้วข้างต้น (จากตัวอย่างเมนบอร์ดกิกะไบต์ข้างต้น จะต้องสั่งรันด้วย "FLASHSPI.EXE G31MES2L.F10" เป็นต้น)

เมื่อเสร็จแล้ว ก็สามารถบูตเพื่อใช้งานไบออสใหม่ได้เลย

ที่มา

Topic: 
Creative Commons License ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น
ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้