挂载 dd 镜像中的分区
旧系统在重装之前备份到了 dd 镜像,而重装完了之后发现有些文件遗忘在了原先的 EFI 分区。我将在这篇 post 中简单讲述我是怎么将 dd 镜像里的分区挂载到系统并且取回文件的。
2021-05-22 00:00
label
linux
旧系统在重装之前备份到了 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
全流程截图
3. 解除挂载
使用完毕之后,按顺序解除两个挂载即可。
1
2
sudo umount ~/boot
sudo losetup -d /dev/loop0
最后修改于 2021-05-22
文章来源: 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/ 如有侵权请联系:admin#unsafe.sh