DesiMini 310のBIOSアップデート


tkp_CFf0v2rYfm4kJGPUD9pDXzsje.jpg

ASRock Deskmini 310を買ったのですが、BIOSアップデートをUSB経由でやろうとしたらうまく行かなくて困ってました。

Linuxを使っていて、よくインストール用ディスクとしてddでisoを書き込んだりするので、パーテーションが読めないのかなぁという気も。確認してみると…

# parted /dev/sdg
GNU Parted 3.2
Using /dev/sdg
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: JetFlash Transcend 8GB (scsi)
Disk /dev/sdg: 8032MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  8031MB  8030MB  primary  fat32        lba

そういえばHDDが4KBセクタになった影響で、ストレージのStartをつい4096sにしてしまう習慣がありました。ひょっとしてこれがいけなかった?と思い、一度パーテーションを削除し、とりあえず通常の512バイトにしてみました。

(parted) rm 1
(parted) mkpart                                   
Partition type?  primary/extended? primary                                
File system type?  [ext2]? fat32
Start? 512B                                                               
End? -1                                                                   
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore                                                     
(parted) print                                                            
Model: JetFlash Transcend 8GB (scsi)
Disk /dev/sdg: 8032MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start  End     Size    Type     File system  Flags
 1      512B   8031MB  8031MB  primary  fat32        lba

(parted) quit                                                             
Information: You may need to update /etc/fstab.

FAT32でフォーマットします。

# mkfs.vfat /dev/sdg1 
mkfs.fat 4.1 (2017-01-24)

で、USBを刺してみると

tkp_8ffecbe37a5119fd3352f4cb4876b958.jpg

きたー!!!!

どうやら512B STARTになってなかったのがダメだった原因のようです。 ちなみにUSBを刺した後再起動などは特に不要で、UEFIの設定画面を立ち上げた状態でUSBを抜き差ししても問題なく認識します。

さて、こうなったという事は、ひょっとしてMBRを全く見てないのでは?という疑問が湧いてきます。試しにこんな事をしてみましょう。

# dd if=/dev/zero of=/dev/sdg1 bs=512 count=1
1+0 レコード入力
1+0 レコード出力
512 bytes copied, 0.00515073 s, 99.4 kB/s

しかし、結果はご覧の通りNG。

tkp_bd229761260466480539481d76c7261d.jpg

ちなみに下記のようにGPTでSTARTを17.4kBにしたら、こっちはうまく行きました。

(parted) mklabel gpt                                                      
Warning: The existing disk label on /dev/sdg will be destroyed and all data on this disk will be lost.
Do you want to continue?

(parted) mkpart                                                           
Partition name?  []?                                                      
File system type?  [ext2]?                                                
Start? 512B                                                               
End? -1                                                                   
Warning: You requested a partition from 512B to 8031MB (sectors 1..15685727).
The closest location we can manage is 17.4kB to 8031MB (sectors 34..15685727).
Is this still acceptable to you?
Yes/No? Yes
Warning: The resulting partition is not properly aligned for best performance.
Ignore/Cancel? Ignore           
                                          
(parted) print                                                            
Model: JetFlash Transcend 8GB (scsi)
Disk /dev/sdg: 8032MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name  Flags
 1      17.4kB  8031MB  8031MB  ext2

(parted) quit                                                             
Information: You may need to update /etc/fstab.

# mkfs.vfat /dev/sdg1 
mkfs.fat 4.1 (2017-01-24)

特にパーテーションテーブルを見ていないわけではないけど、STARTが512Bででないとうまく行かないって事みたいです。MBRかGPTかによっても結果は変わりそうです。