Linux环回设备(loop device)

Linux 环回设备(loop device)

一、概念

环回设备(loop device) 是一种虚拟块设备,它允许你把一个普通文件当作块设备(如硬盘或分区)来使用。
简单来说,它让一个文件“伪装成”一个磁盘设备,这样就可以对这个文件执行挂载(mount)、格式化等操作。

例如,你有一个镜像文件 disk.img,就可以通过 loop 设备把它挂载到系统中,像挂载真实磁盘一样使用。


二、基本用法

1. 创建一个镜像文件

1
dd if=/dev/zero of=disk.img bs=1M count=100

这会创建一个 100MB 的空白文件。


2. 通过 losetup 关联环回设备

1
sudo losetup /dev/loop0 disk.img

查看环回设备:

1
losetup -a

解除关联:

1
sudo losetup -d /dev/loop0

3. 创建文件系统

1
sudo mkfs.ext4 /dev/loop0

4. 挂载到目录

1
2
sudo mkdir /mnt/looptest
sudo mount /dev/loop0 /mnt/looptest

现在 /mnt/looptest 下就像一个真实磁盘一样,可以读写文件。


5. 卸载与清理

1
2
sudo umount /mnt/looptest
sudo losetup -d /dev/loop0

三、快捷用法(自动分配 loop)

可以直接通过 mount -o loop 自动完成设备绑定:

1
sudo mount -o loop disk.img /mnt/looptest

系统会自动选择一个空闲的 /dev/loopX


四、优点

  • 便捷性:不需要真实磁盘,就可以测试挂载、文件系统操作。
  • 灵活性:可快速创建、销毁虚拟磁盘,方便实验或容器化环境使用。
  • 文件可移植:整个镜像文件可随时复制、备份或移动。
  • 安全性:不会影响真实磁盘分区。

五、缺点

  • 性能较低:本质上是文件读写的再封装,有额外的 I/O 开销。
  • 不适合大规模存储:仅用于测试或轻量虚拟环境。(有些设备仅支持至32T)
  • 不能直接支持某些高级块设备特性(如直通、LVM、多队列 I/O)。

六、典型应用场景

  • 制作或测试 Linux 镜像文件(如 .iso, .img
  • 容器或虚拟机的临时根文件系统
  • 文件系统学习、格式化实验
  • 加密卷(例如 cryptsetup 基于 loop 设备)

七、总结

功能 命令示例 说明
创建镜像 dd if=/dev/zero of=disk.img bs=1M count=100 生成 100MB 文件
绑定 loop losetup /dev/loop0 disk.img 将文件映射为块设备
创建文件系统 mkfs.ext4 /dev/loop0 格式化为 ext4
挂载 mount /dev/loop0 /mnt/looptest 像真实磁盘一样使用
卸载 umount /mnt/looptest && losetup -d /dev/loop0 释放资源

一句话总结:
环回设备(loop device)是“用文件假装成磁盘”的机制,方便挂载、实验和镜像操作,但性能有限,主要用于测试和虚拟化场景。


Linux环回设备(loop device)
http://example.com/2025/11/01/Linux环回设备loop/
作者
Lingkai Shi
发布于
2025年11月1日
许可协议