5.5. 恢复 ext2、ext3 或 ext4 文件系统
这个步骤描述了如何从文件备份中恢复 ext4、ext3 或 ext2 文件系统。
先决条件
- 您需要备份分区及其元数据,如 第 5.4 节 “备份 ext2、ext3 或 ext4 文件系统” 所述。
过程 5.2. 恢复 ext2、ext3 或 ext4 文件系统
- 如果您要恢复操作系统分区,请将您的系统引导至救援模式。请参阅 系统管理员 指南中的引导到救援模式 部分。普通数据分区不需要这一步。
- 使用
fdisk或partedutilites 重建您要恢复的分区。如果分区不再存在,重新创建它们。新分区必须足够大以包含恢复的数据。正确获取开始和结束号非常重要;它们是在备份时从fdisk实用程序获取的分区的开始和结束扇区号。有关修改分区的详情,请参考 第 13 章 分区 - 使用
mkfs工具格式化目标分区:# mkfs.ext4 /dev/device重要不要 格式化存储您的备份文件的分区。 - 如果您创建了新分区,请重新标记所有分区,以便它们与
/etc/fstab文件中的条目匹配:# e2label /dev/device label - 创建临时挂载点并在其上挂载分区:
# mkdir /mnt/device # mount -t ext4 /dev/device /mnt/device - 从挂载的分区上的备份中恢复数据:
# cd /mnt/device # restore -rf device-backup-file请注意,您需要为以下命令配置免密码登录。有关设置免密码ssh登录的更多信息,请参阅 系统管理员 指南中的使用基于密钥的身份验证部分。- 从存储在同一台机器上的备份文件恢复远程机器上的分区:
# ssh remote-address "cd /mnt/device && cat backup-file | /usr/sbin/restore -r -f -" - 从存储在不同远程机器上的备份文件恢复远程机器上的分区:
# ssh remote-machine-1 "cd /mnt/device && RSH=/usr/bin/ssh /usr/sbin/restore -rf remote-machine-2:backup-file"
- reboot:
# systemctl reboot
例 5.4. 恢复多个 ext4 分区
- 使用 fdisk 命令重建您要恢复的分区。
- 格式化目标分区:
# mkfs.ext4 /dev/sda1 # mkfs.ext4 /dev/sda2 # mkfs.ext4 /dev/sda3 - 重新标记所有分区,以便它们与
/etc/fstab文件匹配:# e2label /dev/sda1 Boot1 # e2label /dev/sda2 Root # e2label /dev/sda3 Data - 准备工作目录。挂载新分区:
# mkdir /mnt/sda1 # mount -t ext4 /dev/sda1 /mnt/sda1 # mkdir /mnt/sda2 # mount -t ext4 /dev/sda2 /mnt/sda2 # mkdir /mnt/sda3 # mount -t ext4 /dev/sda3 /mnt/sda3挂载包含备份文件的分区:# mkdir /backup-files # mount -t ext4 /dev/sda6 /backup-files - 将数据从备份恢复到挂载的分区:
# cd /mnt/sda1 # restore -rf /backup-files/sda1.dump # cd /mnt/sda2 # restore -rf /backup-files/sda2.dump # cd /mnt/sda3 # restore -rf /backup-files/sda3.dump - reboot:
# systemctl reboot
其它资源
- 如需更多信息,请参阅 restore(8) man page。