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かによっても結果は変わりそうです。