使用dd中的备份文件还原硬盘并提取文件

ankit7540

我使用dd工具作为backup.img文件对硬盘(包括所有分区)进行了完整的定期备份我有几个这样的文件。

现在我的旧硬盘坏了,我该如何使用backup.img文件在新硬盘上进行写操作,以便所有分区和文件都保持原样(如镜像所示)。

还可以从此类文件中提取部分数据(少量文件/文件夹)backup.img吗?

garethTheRed

恢复

您可以使用以下方法将映像还原到替换的HDD:

# dd if=backup.img of=/dev/sd?

您将得到原始磁盘的克隆,包括所有分区和数据。

不利的一面是,分区的大小不会改变,dd因此替换磁盘的容量必须等于或大于原始磁盘的容量。

如果您对此感到满意,则可以使用包含gparted或类似的可引导映像(例如Parted Magic),并调整分区大小以适合新磁盘。

安装

要挂载映像,您需要使用losetup

较旧的方法

执行此操作的较旧方法是通过计算到分区起始位置的偏移量,如下所示:

运行fdisk并查找扇区大小:

# fdisk -l backup.img
Disk backup.img: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x91999386

Device      Boot   Start      End  Sectors  Size Id Type
backup.img1 *       2048  1026047  1024000  500M 83 Linux
backup.img2      1026048 16777215 15751168  7.5G 8e Linux LVM

要计算偏移量,请阅读您感兴趣的分区的“开始”列,然后将该值乘以扇区大小。例如,要阅读backup.img1以上内容,请乘以2048 x 512 = 1048576。

使用此值作为偏移量,losetup如下所示:

# losetup -o 1048576 /dev/loop0 backup.img

然后挂载回送设备:

# mount -t ext4 /dev/loop0 /mnt

后一种方法

较新版本的losetup会扫描并自动/dev/loop为映像中的所有分区创建条目,如下所示:

# losetup -Pf backup.img
# ls /dev/loop0*
/dev/loop0  /dev/loop0p1  /dev/loop0p2
# mount -t ext4 /dev/loop0p1 /mnt

LVM分区

上面的示例将第二个分区显示为LVM。要从这些文件中提取文件,只需让LVM在回送设备上就可以做到。第一次扫描:

# pvs
  PV           VG            Fmt  Attr PSize PFree 
  /dev/loop0p2 fedora-server lvm2 a--  7.51g 40.00m

然后激活VG(请注意上述命令中的VG名称,您的名称可能与我的不同):

# vgchange -a y fedora-server
  2 logical volume(s) in volume group "fedora-server" now active

检查您拥有哪些分区:

# ls /dev/fedora-server/
root  swap

并安装其中之一:

# mount -t ext4 /dev/fedora-server/root /mnt

出口

提取文件后:

# umount /mnt
# losetup -d /dev/loop0

或用于LVM挂载:

# umount /mnt
# vgchange -a n fedora-server
  0 logical volume(s) in volume group "fedora-server" now active
# losetup -d /dev/loop0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用“ dd”将Windows 7备份的原始文件还原到新硬盘中?

来自分类Dev

在Windows 7中还原mrimg备份文件

来自分类Dev

在Java中还原使用mysqldump创建的备份文件时发生错误

来自分类Dev

Windows 7备份和还原如何备份文件?

来自分类Dev

从varbinary(max)变量备份文件还原SQL Server备份

来自分类Dev

备份疑虑:如何使用备份文件

来自分类Dev

从Android Studio中的zip备份文件还原项目时,为什么需要重设文件编码?

来自分类Dev

android realm:从备份文件还原领域数据库

来自分类Dev

无法从备份文件还原数据库

来自分类Dev

硬盘驱动器问题备份文件成块?

来自分类Dev

备份文件

来自分类Dev

恢复备份文件

来自分类Dev

从liveCD备份文件

来自分类Dev

如何在java中备份文件?

来自分类Dev

在Shell脚本中本地备份文件

来自分类Dev

gitlab捆绑在备份文件中

来自分类Dev

使用rsync备份文件:错误23

来自分类Dev

使用rsync备份文件:错误23

来自分类Dev

使用recollindex更新备份文件

来自分类Dev

如何使用bash在日志文件中存储备份文件的绝对路径?

来自分类Dev

从rsync中的特定文件夹备份文件

来自分类Dev

从rsync中的特定文件夹备份文件

来自分类Dev

如何镜像硬盘驱动器以进行备份?还是只需要备份文件?

来自分类Dev

匹配备份文件(`*〜`)

来自分类Dev

打开Bacula备份文件

来自分类Dev

拆分 .sql 备份文件

来自分类Dev

rdiff-backup-备份文件夹小于原始/还原文件时的错误

来自分类Dev

更改硬盘后,要从完整系统备份中还原哪些文件夹?

来自分类Dev

更改硬盘后,要从完整系统备份中还原哪些文件夹?

Related 相关文章

热门标签

归档