使用loop device.
Mar 06, 2015
loop device
是一种虚拟设备, 可以关联文件把文件当作块状设备(block device)来使用.
loop device 位于 /dev/loopx
. x
可以是 0~n 的数字.
当你的系统(比如ArchLinux)没有/dev/loop0
的时候可以运行命令 modprobe loop
. 因为比较新的内核中, loop device的支持是一个内核模块.
使用命令losetup /dev/loop0 /home/miku/disk.iso
可以将文件disk.iso
和loop0
关联起来.此时我们就可以把/dev/loop0
当作一个硬盘设备来使用了.
我们可以mkfs -t ext3 /dev/loop0
来格式化这个文件.
也可以mount /dev/loop0 ./my-mount
来挂载这个文件.
losetup -d /dev/loop0
可以取消这个关联.
可以用这个技巧做很多有趣的事情
- 学习 MBR 和 GPT 或者 btrfs等格式, 我们可以伪造人一大小的硬盘,并且直接用编辑器查看底层的硬盘数据组织.
- 写boot loader并挂载到虚拟机上.
- 在没有U盘或其他设备的情况下,制作镜像.