我现在正在使用带有 ext4 的 Ubuntu 10.04,这是我一生中第二次遇到数据丢失(不是真的:我有备份),我认为最近的 ext4 fs 存在问题。
我想恢复 reiserFS 上的所有配置(/etc 等)、数据和主目录:可以吗?要怎么做才能实现?
(当然,如果可以从一个文件系统迁移到另一个文件系统,我会非常高兴......)
答案1
嗯,这取决于备份如何存储……
如果它被存储为文件的压缩档案,那么它就与文件系统无关,并且应该能够通过简单地提取档案在任何文件系统上进行恢复。
如果它是分区的映像(由类似的东西创建dd if=/dev/sda1 of=mybackup.img
),那么您就不能。但您应该能够恢复到 ext4,然后复制到另一个 reiserFS 分区...
如果是其他方法,很可能有办法,但具体步骤取决于存储方法......
答案2
本质上,块级备份(如dd
)存储文件系统信息,并且不能恢复到不同的文件系统。
文件级备份(如tar
)仅存储文件并可恢复到任何文件系统。
如果您正在恢复操作系统,则需要确保操作系统和引导加载程序可以从新的文件系统启动。
答案3
您提到了从 ext4 迁移到 RaiserFS;但我的回答旨在更加通用。
就像其他答案所说的那样,您可以将基于文件的备份还原到另一个文件系统。通常。
还没有说的是:每个文件系统都有其自身的局限性,这就是为什么在某些情况下您可能无法恢复所有文件、目录或它们的元数据。
这可能是因为目标文件系统:
- 不区分大小写(假设你
file.txt
和File.txt
在同一个目录中); - 不允许文件名中包含某些字符;
- 指定最大文件名长度(并且该限制对您来说不够大);
- 指定最大路径长度(和限制……);
- 指定最大文件大小;
- 指定目录中文件(和/或子目录)的最大数量,或最大总数;
- 指定最大卷大小(想象一下,您无法创建足够大的文件系统来存储所有数据);
- 保留一些名称供内部使用(例如
$Bitmap
在 NTFS 中,假设您需要使用此名称恢复常规文件); - 不支持:
- 所有权(或者以不同的方式,因此没有简单的翻译),
- 权限(或者以不同的方式执行,所以……),ACL,
- 时间戳,
- 扩展属性、备用数据流等,
- 硬链接、目录硬链接、符号链接、
- 稀疏文件。