原文 https://k4yt3x.com/%E6%8C%82%E8%BD%BD-dd-%E9%95%9C%E5%83%8F%E4%B8%AD%E7%9A%84%E5%88%86%E5%8C%BA/
旧系统在重装之前备份到了 dd 镜像,而重装完了之后发现有些文件遗忘在了原先的 EFI 分区。我将在这篇 post 中简单讲述我是怎么将 dd 镜像里的分区挂载到系统并且取回文件的。
- 将 dd 镜像挂载为 loop 设备
我的硬盘镜像文件名为 vagrant.dd,所以我可以使用以下命令将该 dd 镜像挂载为 loop 设备。losetup 命令会自动扫描 dd 镜像中的分区并将其挂载到 /dev/loopX。这里的回显显示所有分区都被挂载到了 /dev/loop0 下。
1 | $ sudo losetup --partscan --find --show vagrant.dd |
挂载完成后,我们可以用 lsblk 命令查看新的 loop 设备,加上 -f 开关则可以显示设备的文件系统信息。
1 | $ sudo lsblk -fp /dev/loop0 |
- 挂载文件系统
在挂载完环回设备后,接下来的挂载就和挂载普通文件系统无异了。只需要用 mount 命令将 loop 设备挂载到任意挂载点即可读取。
1 | $ sudo mount -o ro /dev/loop0p1 ~/boot |
全流程截图
- 解除挂载
使用完毕之后,按顺序解除两个挂载即可。
1 | sudo umount ~/boot |