「FAT」の版間の差分
(ページの作成:「Category:ファイルシステム en:FAT {{Related articles start}} {{Related|ファイルシステム}} {{Related articles end}} Wikipedia:ja:File Allocation T...」) |
(→ファイルシステムの作成: 同期) |
||
(5人の利用者による、間の8版が非表示) | |||
1行目: | 1行目: | ||
[[Category:ファイルシステム]] |
[[Category:ファイルシステム]] |
||
[[en:FAT]] |
[[en:FAT]] |
||
+ | [[es:FAT]] |
||
+ | [[ru:FAT]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|ファイルシステム}} |
{{Related|ファイルシステム}} |
||
7行目: | 9行目: | ||
:File Allocation Table (FAT) はコンピュータファイルシステムの構造であり、その構造を利用する業界標準のファイルシステムを指す。FAT ファイルシステムは単純かつ堅牢な旧式のファイルシステムである。簡単な実装でも優れた性能を発揮できるが、新しいファイルシステムのような性能・信頼性・拡張性は持っていない。しかしながら、パーソナルコンピュータや携帯端末、組み込み環境などで動作するほとんど全てのオペレーティングシステムによって FAT はサポートされているため、コンピュータや携帯デバイスなどで相互にデータを交換したい場合に FAT は適している。 |
:File Allocation Table (FAT) はコンピュータファイルシステムの構造であり、その構造を利用する業界標準のファイルシステムを指す。FAT ファイルシステムは単純かつ堅牢な旧式のファイルシステムである。簡単な実装でも優れた性能を発揮できるが、新しいファイルシステムのような性能・信頼性・拡張性は持っていない。しかしながら、パーソナルコンピュータや携帯端末、組み込み環境などで動作するほとんど全てのオペレーティングシステムによって FAT はサポートされているため、コンピュータや携帯デバイスなどで相互にデータを交換したい場合に FAT は適している。 |
||
+ | |||
+ | == ファイルシステムの作成 == |
||
+ | |||
+ | FAT ファイルシステムを作成するには {{Pkg|dosfstools}} パッケージを[[インストール]]してください。 |
||
+ | |||
+ | {{ic|mkfs.fat}} は FAT12, FAT16, FAT32 の作成をサポートしています。それぞれの違いについては [[Wikipedia:ja:File Allocation Table#実装]] を参照してください。{{ic|mkfs.fat}} はパーティションの容量にあわせて FAT のタイプを選択します。明示的に特定のタイプの FAT ファイルシステムを作成したいときは {{ic|-F}} オプションを使ってください。詳しくは {{man|8|mkfs.fat}} を参照。 |
||
+ | |||
+ | {{Tip|ほとんどの状況では、FAT32 を使用することになります。 パーティションを FAT32 にフォーマットできるようにするには、論理セクターサイズが 512 バイトのドライブでは少なくとも 36 MiB、[[Advanced Format|論理セクターサイズが 4096 のドライブ]] [https://superuser.com/a/1717643] では 260 MiB 以上である必要があります。}} |
||
+ | |||
+ | パーティションを FAT32 にフォーマット: |
||
+ | |||
+ | # mkfs.fat -F 32 /dev/''partition'' |
||
+ | |||
+ | {{Note|{{ic|mkfs.vfat}} と {{ic|mkfs.msdos}} は {{ic|mkfs.fat}} へのシンボリックリンクであり、同一のものです。}} |
||
== カーネルの設定 == |
== カーネルの設定 == |
||
26行目: | 42行目: | ||
オプションを説明すると: |
オプションを説明すると: |
||
− | * 言語の設定: CONFIG_FAT_DEFAULT_CODEPAGE, CONFIG_FAT_DEFAULT_IOCHARSET |
+ | * 言語の設定: {{ic|CONFIG_FAT_DEFAULT_CODEPAGE}}, {{ic|CONFIG_FAT_DEFAULT_IOCHARSET}} |
− | * FAT パーティションのファイル名を全て小文字にする: CONFIG_NCPFS_SMALLDOS |
+ | * FAT パーティションのファイル名を全て小文字にする: {{ic|CONFIG_NCPFS_SMALLDOS}} |
− | * FAT ファイルシステムのサポートを有効にする: CONFIG_FAT_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS |
+ | * FAT ファイルシステムのサポートを有効にする: {{ic|CONFIG_FAT_FS}}, {{ic|CONFIG_MSDOS_FS}}, {{ic|CONFIG_VFAT_FS}} |
− | * 86x PC で FAT でパーティションされたハードディスクのサポートを有効にする: CONFIG_MSDOS_PARTITION |
+ | * 86x PC で FAT でパーティションされたハードディスクのサポートを有効にする: {{ic|CONFIG_MSDOS_PARTITION}} |
mount によって検出されたパーティションタイプが VFAT だった場合 {{ic|/usr/bin/mount.vfat}} スクリプトが実行されます: |
mount によって検出されたパーティションタイプが VFAT だった場合 {{ic|/usr/bin/mount.vfat}} スクリプトが実行されます: |
||
40行目: | 56行目: | ||
mount -i -t vfat -oiocharset=utf8,fmask=0000,dmask=0000 "$@" |
mount -i -t vfat -oiocharset=utf8,fmask=0000,dmask=0000 "$@" |
||
}} |
}} |
||
+ | |||
+ | == FAT32 に標準ユーザーとして書き込み == |
||
+ | |||
+ | FAT32 パーティションに書き込みを行うには、[[fstab]] ファイルに修正を加える必要があります。 |
||
+ | |||
+ | {{hc|/etc/fstab|2= |
||
+ | /dev/sd''xY'' /mnt/some_folder vfat '''user''',rw |
||
+ | }} |
||
+ | |||
+ | {{ic|user}} オプションは、すべてのユーザー (root 以外でも) がパーティション {{ic|/dev/sd''xY''}} をマウントおよびアンマウントできることを意味します。{{ic|rw}} は読み取り/書き込みアクセスを許可します。 |
||
+ | |||
+ | たとえば、FAT32 パーティションが {{ic|/dev/sda9}} にあり、それを {{ic|/mnt/fat32}} にマウントしたい場合は、次のようにします: |
||
+ | |||
+ | {{hc|/etc/fstab|2= |
||
+ | /dev/sda9 /mnt/fat32 vfat '''user''',rw |
||
+ | }} |
||
+ | |||
+ | これで、どのユーザーでも次のコマンドを使用してマウントできるようになります: |
||
+ | |||
+ | $ mount /mnt/fat32 |
||
+ | |||
+ | アンマウントしたい場合: |
||
+ | |||
+ | $ umount /mnt/fat32 |
||
+ | |||
+ | FAT は Linux のファイル権限をサポートしていないことに注意してください。各ファイルも実行可能であるように見えます。{{ic|showexec}} オプションを使用して、Windows 実行可能ファイル (com、exe、bat) のみを実行可能としてマークすることもできます。その他のオプションについては、{{man|8|mount}} を参照してください。 |
||
+ | |||
+ | == どの FAT かを調べる == |
||
+ | |||
+ | パーティションがどの [[Wikipedia:ja:File Allocation Table#実装|FAT ファイルシステムのタイプ]] か調べる必要がある場合は、''file'' コマンドを使用します: |
||
+ | |||
+ | {{hc|# file -s /dev/''partition''|2= |
||
+ | /dev/''partition'': DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, root entries 512, sectors 4096 (volumes <=32 MB), Media descriptor 0xf8, sectors/FAT 3, sectors/track 32, heads 64, serial number 0x5bc09c21, unlabeled, '''FAT (12 bit)''' |
||
+ | }} |
||
+ | |||
+ | あるいは、{{Pkg|mtools}} パッケージの {{ic|minfo}} を実行しても調べられます: |
||
+ | |||
+ | {{hc|# minfo -i /dev/''partition'' ::|<nowiki> |
||
+ | device information: |
||
+ | =================== |
||
+ | filename="/dev/</nowiki>''partition''<nowiki>" |
||
+ | sectors per track: 32 |
||
+ | heads: 64 |
||
+ | cylinders: 2 |
||
+ | |||
+ | media byte: f8 |
||
+ | |||
+ | mformat command line: mformat -t 2 -h 64 -s 32 -i "/dev/</nowiki>''partition''<nowiki>" :: |
||
+ | |||
+ | bootsector information |
||
+ | ====================== |
||
+ | banner:"mkfs.fat" |
||
+ | sector size: 512 bytes |
||
+ | cluster size: 4 sectors |
||
+ | reserved (boot) sectors: 1 |
||
+ | fats: 2 |
||
+ | max available root directory slots: 512 |
||
+ | small size: 4096 sectors |
||
+ | media descriptor byte: 0xf8 |
||
+ | sectors per fat: 3 |
||
+ | sectors per track: 32 |
||
+ | heads: 64 |
||
+ | hidden sectors: 0 |
||
+ | big size: 0 sectors |
||
+ | physical drive id: 0x80 |
||
+ | reserved=0x0 |
||
+ | dos4=0x29 |
||
+ | serial number: 5BC09C21 |
||
+ | disk label="NO NAME " |
||
+ | disk type="</nowiki>'''FAT12'''<nowiki> " |
||
+ | </nowiki>}} |
||
== 参照 == |
== 参照 == |
2024年2月28日 (水) 23:49時点における最新版
関連記事
Wikipedia:ja:File Allocation Table より:
- File Allocation Table (FAT) はコンピュータファイルシステムの構造であり、その構造を利用する業界標準のファイルシステムを指す。FAT ファイルシステムは単純かつ堅牢な旧式のファイルシステムである。簡単な実装でも優れた性能を発揮できるが、新しいファイルシステムのような性能・信頼性・拡張性は持っていない。しかしながら、パーソナルコンピュータや携帯端末、組み込み環境などで動作するほとんど全てのオペレーティングシステムによって FAT はサポートされているため、コンピュータや携帯デバイスなどで相互にデータを交換したい場合に FAT は適している。
ファイルシステムの作成
FAT ファイルシステムを作成するには dosfstools パッケージをインストールしてください。
mkfs.fat
は FAT12, FAT16, FAT32 の作成をサポートしています。それぞれの違いについては Wikipedia:ja:File Allocation Table#実装 を参照してください。mkfs.fat
はパーティションの容量にあわせて FAT のタイプを選択します。明示的に特定のタイプの FAT ファイルシステムを作成したいときは -F
オプションを使ってください。詳しくは mkfs.fat(8) を参照。
パーティションを FAT32 にフォーマット:
# mkfs.fat -F 32 /dev/partition
カーネルの設定
以下はカーネルのデフォルトのマウント設定です:
$ zgrep -e FAT -e DOS /proc/config.gz | sort -r
# DOS/FAT/NT Filesystems CONFIG_FAT_FS=m CONFIG_MSDOS_PARTITION=y CONFIG_FAT_FS=m CONFIG_MSDOS_FS=m CONFIG_VFAT_FS=m CONFIG_FAT_DEFAULT_CODEPAGE=437 CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" CONFIG_NCPFS_SMALLDOS=y
オプションを説明すると:
- 言語の設定:
CONFIG_FAT_DEFAULT_CODEPAGE
,CONFIG_FAT_DEFAULT_IOCHARSET
- FAT パーティションのファイル名を全て小文字にする:
CONFIG_NCPFS_SMALLDOS
- FAT ファイルシステムのサポートを有効にする:
CONFIG_FAT_FS
,CONFIG_MSDOS_FS
,CONFIG_VFAT_FS
- 86x PC で FAT でパーティションされたハードディスクのサポートを有効にする:
CONFIG_MSDOS_PARTITION
mount によって検出されたパーティションタイプが VFAT だった場合 /usr/bin/mount.vfat
スクリプトが実行されます:
/usr/bin/mount.vfat
#!/bin/bash #mount VFAT with full rw (read-write) permissions for all users #/usr/bin/mount -i -t vfat -oumask=0000,iocharset=utf8 "$@" #The above is the same as mount -i -t vfat -oiocharset=utf8,fmask=0000,dmask=0000 "$@"
FAT32 に標準ユーザーとして書き込み
FAT32 パーティションに書き込みを行うには、fstab ファイルに修正を加える必要があります。
/etc/fstab
/dev/sdxY /mnt/some_folder vfat user,rw
user
オプションは、すべてのユーザー (root 以外でも) がパーティション /dev/sdxY
をマウントおよびアンマウントできることを意味します。rw
は読み取り/書き込みアクセスを許可します。
たとえば、FAT32 パーティションが /dev/sda9
にあり、それを /mnt/fat32
にマウントしたい場合は、次のようにします:
/etc/fstab
/dev/sda9 /mnt/fat32 vfat user,rw
これで、どのユーザーでも次のコマンドを使用してマウントできるようになります:
$ mount /mnt/fat32
アンマウントしたい場合:
$ umount /mnt/fat32
FAT は Linux のファイル権限をサポートしていないことに注意してください。各ファイルも実行可能であるように見えます。showexec
オプションを使用して、Windows 実行可能ファイル (com、exe、bat) のみを実行可能としてマークすることもできます。その他のオプションについては、mount(8) を参照してください。
どの FAT かを調べる
パーティションがどの FAT ファイルシステムのタイプ か調べる必要がある場合は、file コマンドを使用します:
# file -s /dev/partition
/dev/partition: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "mkfs.fat", sectors/cluster 4, root entries 512, sectors 4096 (volumes <=32 MB), Media descriptor 0xf8, sectors/FAT 3, sectors/track 32, heads 64, serial number 0x5bc09c21, unlabeled, FAT (12 bit)
あるいは、mtools パッケージの minfo
を実行しても調べられます:
# minfo -i /dev/partition ::
device information: =================== filename="/dev/partition" sectors per track: 32 heads: 64 cylinders: 2 media byte: f8 mformat command line: mformat -t 2 -h 64 -s 32 -i "/dev/partition" :: bootsector information ====================== banner:"mkfs.fat" sector size: 512 bytes cluster size: 4 sectors reserved (boot) sectors: 1 fats: 2 max available root directory slots: 512 small size: 4096 sectors media descriptor byte: 0xf8 sectors per fat: 3 sectors per track: 32 heads: 64 hidden sectors: 0 big size: 0 sectors physical drive id: 0x80 reserved=0x0 dos4=0x29 serial number: 5BC09C21 disk label="NO NAME " disk type="FAT12 "