BFS (Boot Filesystem)

謎(?)のファイルシステム BFS (Boot Filesystem) について説明します

BFS概要

BFS (Boot Filesystem)は、主としてOSの起動(boot)プロセルが使用するファイルを格納するために使用されるファイルシステムです。
機能が制限されています。

BFSの機能

ファイルは作れますが、ディレクトリは作れません。
(よって多くのユーザの使用に耐えません)

ファイルは、ストレージ(HDD等)に連続的に格納することしかできません。

ファイル名も最大で14文字です

使用例

# mkfs.bfs /dev/sdb
# mount /dev/sdb /mnt
# cd /mnt
# ls -l
total 0
# touch abc
# ls -l
total 0
-rw-r--r-- 1 root root 0  12 09:14 abc
# mkdir xyz
mkdir: cannot create directory 'xyz': Operation not permitted
# touch abcdefghij
# touch abcdefghijk
# touch abcdefghijkl
# touch abcdefghijklm
# touch abcdefghijklmn
# touch abcdefghijklmno
touch: cannot touch 'abcdefghijklmno': File name too long
# df -h | grep /dev/sdb
/dev/sdb        2.6G   41K  2.6G   1% /mnt
# fdisk -l /dev/sdb
Disk /dev/sdb: 74.54 GiB, 80026361856 bytes, 156301488 sectors
Disk model: ST3808110AS
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
# cd
# umount /mnt

ディレクトリを作れません.

# mkdir xyz
mkdir: cannot create directory 'xyz': Operation not permitted

ファイル名は15文字以上にできません.

# touch abcdefghijklmno
touch: cannot touch 'abcdefghijklmno': File name too long

パーティンションサイズも小さいです.バイト単位で32bit,つまり4GBまでしか作れない.実際は 2.6GBしか作れませんでした.

# df -h | grep /dev/sdb
/dev/sdb 2.6G 41K 2.6G 1% /mnt

仕様

仕様はこちらで確認できます.

32bit int  |  size  |  Size of filesystem (in bytes)
↑ファイルシステムサイズは4GB(32bit)まで
14 8bit characters  |  name  |  File name
↑ファイル名は最大で14文字

http://martin.hinner.info/fs/bfs/bfs-structure.html


この記事が気に入ったらサポートをしてみませんか?