环境
为了方便学习文件系统的原理和原始数据的分析,需要创建虚拟块设备并格式化为ext4文件系统;
Linux创建虚拟块设备
losetup命令
-a 显示所有已经使用的回环设备状态
-d 卸除回环设备
-f 寻找第一个未使用的回环设备
-e <加密选项> 启动加密编码
[root@rhel6 ~]# losetup -f //查找第一个未使用的回环设备
/dev/loop0
[root@rhel6 ~]# losetup -a //显示所有已经使用的回环设备状态
[root@rhel6 ~]# dd if=/dev/zero of=loop.img bs=10M count=10
10+0 records in
10+0 records out
104857600 bytes (105 MB) copied, 0.794912 s, 132 MB/s
[root@rhel6 ~]# losetup -f loop.img //将 loop.img 虚拟成第一个未使用的回环设备【修改/dev/loop0会后台对应修改loop.img文件】
[root@rhel6 ~]# losetup -a
/dev/loop0: [fd00]:26524 (/root/loop.img)
[root@rhel6 ~]# losetup -f
/dev/loop1
块设置创建成功: /dev/loop0
执行losetup loop.img提示losetup: loop.img: Inappropriate ioctl for device解决:losetup /dev/loop0 loop.img
格式化块设备
[root@rhel6 ~]# mkfs.ext4 /dev/loop0
mke2fs 1.42.9 (28-Dec-2013)
Discarding device blocks: 完成
文件系统标签=
OS type: Linux
块大小=1024 (log=0)
分块大小=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
25688 inodes, 102400 blocks 【block号从0开始】
5120 blocks (5.00%) reserved for the super user
第一个数据块=1
Maximum filesystem blocks=33685504
13 block groups
8192 blocks per group, 8192 fragments per group
1976 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729 【在块组0、1和3、5、7幂次方的块组中保存备份超级块的信息】
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (4096 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
挂载块设备
[root@rhel6 ~]# mount /dev/loop0 dir
[root@rhel6 ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/loop0 93M 1.6M 85M 2% /home/tmp/yaffs2/dir
[root@rhel6 ~]# umount dir
[root@rhel6 ~]# losetup -d /dev/loop0 //卸除回环设备
到此块设备 /dev/loop0已经被格式化为ext4文件系统格式了,下一下篇来查看ext4文件系统信息;