LInux : USB-FDドライブ フォーマットの仕方

2018年10月12日

最近、FDドライブを使用することは、ほとんどありませんが・・・
仕事先で、ブラザーの刺繍ミシンにFDを使用しなければいけなくなり、FDのことについて調べてみました。
また、目的も少しあったので、そのことについても書いてみました。

【目的】
・Linuxを使ってFDをフォーマットする。
⇒最近のwindows7以降では、FDドライブが使用出来ないとお聞きしたので・・・(仕事先から)
Linuxで挑戦することにしました。
・USB対応のFDドライブを使用する。
⇒最近のPCはFDドライブは内蔵されていないので、USB対応のFDドライブを使用します。
・フォーマットを2HDから2DDに変換する。

【前提条件】
※1 PCにLinuxのOSがインストールしていることを前提とします。
※2 USB対応のFDドライブを使用することを前提とします。
※3 スーパーユーザーで作業することを前提とします。

【ufiformat インストール 設定方法】
1."RPM pbone.net" から ufiformat をインストールします。
http://rpm.pbone.net/index.php3/stat/45/idpl/27046277/numer/8/nazwa/floppy
指定のOSをインストールしてください。
私は、"centOS6 32bit" を使っていますので、下記のコマンド入力します。

[user@localhost] rpm -ivh http://vega.sra-tohoku.co.jp/~kabe/vsd/rpm/ufiformat/ufiformat-0.9.8-1.el5.i386.rpm

エラーが発生しなければ完了となります。

【フォーマットの設定方法】
1.FDにテープを張る。
2HD対応ディスクを使用しますが、このままドライブにディスクを差し込むと、2HDに認識してしまいます。
2DDとして認識するためには、ディスク自体にある穴の1つを塞ぎます。
DSC_0037
2.FDドライブにFDを差し込みます。
3.FDドライブ,FDが認識されているのか確認します。
※FDドライブの確認

[user@localhost] fdisk -l
     :
     :
   "省略"
     :
     :

ディスク /dev/sdc: 0 MB, 737280 バイト
ヘッド 1, セクタ 2, シリンダ 720
Units = シリンダ数 of 2 * 512 = 1024 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x6f20736b

パーティションテーブルに見えません
おそらく間違ったデバイスを選択しています。

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sdc1   ?   389067955   959822770   570754815+  72  不明
領域 1 は異なった物理/論理開始位置になっています(Linux では無い?):
     物理=(357, 116, 40) 論理=(389067954, 0, 1)
領域 1 は異なった物理/論理終点になっています:
     物理=(357, 32, 45) 論理=(959822769, 0, 1)
パーティション 1 は、シリンダ境界で終わっていません。
/dev/sdc2   ?    84344762  1052358881   968014120   65  Novell Netware 386
領域 2 は異なった物理/論理開始位置になっています(Linux では無い?):
     物理=(288, 115, 43) 論理=(84344761, 0, 1)
領域 2 は異なった物理/論理終点になっています:
     物理=(367, 114, 50) 論理=(1052358880, 0, 2)
パーティション 2 は、シリンダ境界で終わっていません。
/dev/sdc3   ?   934940733  1902954829   968014096   79  不明
領域 3 は異なった物理/論理開始位置になっています(Linux では無い?):
     物理=(366, 32, 33) 論理=(934940732, 0, 2)
領域 3 は異なった物理/論理終点になっています:
     物理=(357, 32, 43) 論理=(1902954828, 0, 1)
パーティション 3 は、シリンダ境界で終わっていません。
/dev/sdc4   ?           1  1818613248  1818613248    d  不明
領域 4 は異なった物理/論理開始位置になっています(Linux では無い?):
     物理=(372, 97, 50) 論理=(0, 0, 1)
領域 4 は異なった物理/論理終点になっています:
     物理=(0, 10, 0) 論理=(1818613247, 0, 2)
パーティション 4 は、シリンダ境界で終わっていません。

※FDの確認

[user@localhost] ufiformat -i /dev/sdc
vendor:  MITSUMI
product: USB FDD
write protect: off
media type: 2DD
status      block size   kb
formatted    1440  512  720
formattable  1440  512  720

フォーマットは2DDになっていますが、使用しているFDは2HDです。

4.フォーマットを行う。
【物理フォーマット】
2DDのフォーマット

[user@localhost] ufiformat -f 720 /dev/sdg
geometry: track=80, head=2, sector=9, block=512
done

2HDのフォーマット

[user@localhost] ufiformat -f 1440 /dev/sdc

※2HD(1.25M), 2HC, 2DD(640K)は不可だそうです。

【論理フォーマット】
DOS形式のフォーマット

[user@localhost] mkfs.vfat -I /dev/sdc
mkfs.vfat 3.0.9 (31 Jan 2010)

ext2形式のフォーマット

[user@localhost] mkfs.ext2 /dev/sdc
mke2fs 1.41.12 (17-May-2010)
/dev/sdc is entire device, not just one partition!
Proceed anyway? (y,n) y
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
184 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=1572864
1 block group
8192 blocks per group, 8192 fragments per group
184 inodes per group

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

これで完了です。

【参考文献】
K.Moriyama’s Web さん – External Device
kazmax Linuxで自宅サーバ さん – Linux パーティションにmkfsでファイルシステムを作る

FDD

Posted by こなつ