红联Linux门户
Linux帮助

一次linux文件系统实验

发布时间:2007-12-21 21:11:22来源:红联作者:Fedoraai
在学习文件系统命令的过程中,往往不能拿实际的硬盘做练习,因为代价太大,本文介绍一种利用linux文件来模拟文件系统的方法.

1.创造一个空映象文件

引用:
root@debian:/home/fs:0# dd if=/dev/zero of=test.img bs=1024 count=10000
10000+0 records in
10000+0 records out
10240000 bytes (10 MB) copied, 0.126087 seconds, 81.2 MB/s


2.创建文件系统

引用:
root@debian:/home/fs:1# losetup /dev/loop0 test.img
root@debian:/home/fs:0# mkfs.ext3 /dev/loop0
mke2fs 1.40-WIP (14-Nov-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
2512 inodes, 10000 blocks
500 blocks ( 5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=10485760
2 block groups
8192 blocks per group, 8192 fragments per group
1256 inodes per group
Superblock backups stored on blocks:
8193
Writing inode tables: done
Creating journal (1400 blocks): done
Writing superblocks and filesystem accounting information: done


这里用到一个命令losetup,该命令能够将系统中空闲的loop 设备和文件联系起来。

这时候该文件就不是普通的ASCII文件,而是块设备了。

mkfs.ext3在块设备中创建ext3文件系统,当然也可以创建别的,随便测试都没有关系。

3.挂载文件系统

引用:
root@debian:/home/fs:1# mkdir /mnt/test
root@debian:/home/fs:0# mount /dev/loop0 /mnt/test
root@debian:/home/fs:1# mount -l
/dev/hdb3 on / type ext3 (rw,errors=remount-ro) [/]
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
procbususb on /proc/bus/usb type usbfs (rw)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode


=620)
/dev/loop0 on /mnt/test type ext3 (rw)


可以看到,文件系统已经成功的挂载。

这个时候可以到/mnt/test下面成功的读写文件了。4.卸载

root@debian:/mnt:0# umount /mnt/test

创建出这样一个虚拟的文件系统之后,就可以在/dev/loop0上执行任何可以对实际硬盘设备进行的操作。

例如badblock,检查分区的坏块;fsck,进行文件系统检查,等等。

附:
本次实验的核心是利用了linux中的loop device,已经用来设置loop device的程序losetup。

它的基本用法如下:

引用:
usage:
losetup loop_device # give info
losetup -d loop_device # delete
losetup -f # find unused
losetup [ options ] {-f|loop_device} file # setup
文章评论

共有 0 条评论