5.5. 恢复 ext2、ext3 或 ext4 文件系统
这个步骤描述了如何从文件备份中恢复 ext4、ext3 或 ext2 文件系统。
先决条件
- 您需要备份分区及其元数据,如 第 5.4 节 “备份 ext2、ext3 或 ext4 文件系统” 所述。
过程 5.2. 恢复 ext2、ext3 或 ext4 文件系统
- 如果您要恢复操作系统分区,请将您的系统引导至救援模式。请参阅 系统管理员 指南中的引导到救援模式 部分。普通数据分区不需要这一步。
- 使用
fdisk
或parted
utilites 重建您要恢复的分区。如果分区不再存在,重新创建它们。新分区必须足够大以包含恢复的数据。正确获取开始和结束号非常重要;它们是在备份时从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。