挂载 dd 镜像中的分区
旧系统在重装之前备份到了 dd 镜像,而重装完了之后发现有些文件遗忘在了原先的 EFI 分区。我将在这篇 post 中简单讲述我是怎么将 dd 镜像里的分区挂载到系统并且取回文件的。
1. 将 dd 镜像挂载为 loop 设备我的硬盘镜像文件名为 vagrant.dd,所以我可以使用以下命令将该 dd 镜像挂载为 loop 设备。losetup 命令会自动扫描 dd 镜像中的分区并将其挂载到 /dev/loopX。这里的回显显示所有分区都被挂载到了 /dev/loop0 下。
1 2 $ sudo losetup --partscan --find --show vagrant.dd /dev/loop0挂载完成后,我们可以用 lsblk 命令查看新的 loop 设备,加上 -f 开关则可以显示设备的文件系统信息。
1 2 3 4 5 6 $ sudo lsblk -fp /dev/loop0 NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT /dev/loop0 ├─/dev/loop0p1 vfat FAT32 1396-7EA5 ├─/dev/loop0p2 ext2 1.0 c5da8f36-6698-4478-97a8-93101bf44bb8 └─/dev/loop0p3 crypto_LUKS 2 7a3d56b5-20f8-44f2-b1a7-8c858bba342c 2. 挂载文件系统在挂载完环回设备后,接下来的挂载就和挂载普通文件系统无异了。只需要用 mount 命令将 loop 设备挂载到任意挂载点即可读取。
1 2 3 4 5 $ sudo mount -o ro /dev/loop0p1 ~/boot $ k ~/boot total 16 drwxr-xr-x 4 root root 4096 12 Aug 2020 EFI drwxr-xr-x 2 root root 4096 12 Aug 2020 System Volume Information
全流程截图
使用完毕之后,按顺序解除两个挂载即可。
1 2 sudo umount ~/boot sudo losetup -d /dev/loop0 - 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/ - 2019-2024 K4YT3X. All rights reserved.