お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2012-03-14 14:40:32

hiro92
メンバ
登録日: 2010-11-10

mkdosfsとformat.exeとBIOSでのUSBの認識

ブータブルUSBメモリを作ろうと、fdiskとmkdosfsを使ってUSBメモリをフォーマットし、SYSLINUXをインストールしました。
再起動後、BIOSの起動デバイスに設定したUSBメモリが表示されていたので選択したのですが、Boot Errorとなり起動できませんでした。
使用しているPC(ET1710-02j)はUSB-ZIP、USB-HDDの2タイプのUSBデバイスに対応しており、今回はUSB-ZIP0と認識されていました。

しかし、Windows上でフォーマット/インストールをすると問題なく起動します。しかも、BIOSでの認識はUSB-HDD0になっています。
Windows上ではフォーマットのみで、パーティション構成はいじっていません。(fdiskでの構成のまま)
MBRは正常なのに、mkdosfsではZIP扱いでエラー、format.exeではHDD扱いで起動。SYSLINUXをインストールせず、素の状態のFAT32でも同じでした。

そこで対象パーティションの先頭512バイト(PBR)について調べていくと、
オフセット40hにあるメディアタイプの値がmkdosfsでは00h、format.exeでは80hになっていました。
バイナリエディタで無理やり80hにして再起動してみるとHDDとして認識され起動もしました。

どうやらmkdosfsではこの値が設定されず、結果BIOSでHDD認識出来なかったようです。
(他にUSBメモリや対応PCを持っていないので比較が十分出来ず、単なる相性問題なのかもしれませんが...)

manpageにある "BUGS  mkdosfs can not create boot-able file systems." とはこのことなのでしょうか?
それともオプション設定で変えられるのでしょうか?

質問と言うよりレポートになってしまいましたが、mkdosfs等に詳しい方、お願いします。

オフライン

 

Board footer

Powered by FluxBB