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を刺してみると
きたー!!!!
どうやら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。
ちなみに下記のように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かによっても結果は変わりそうです。