一切都轻松,
我有一个设置了 4 个分区的硬盘。boot/swap/root/home
我最近根据需要将 Windows 安装了到 / 分区上,现在我切换回 linux,它显示 /dev/sda4 (主分区)作为交换空间。
blkid 显示 TYPE="swap",parted /dev/sda print 显示文件系统为 linux-swap,而不是 ext3。显然我想将数据保留在这里,所以我想知道可能发生了什么,有没有简单的方法可以从这个分区中检索数据?
感谢您的任何帮助,您可以提供。
答案1
在不知道您在安装 Windows 并重新安装 Linux 时到底做了什么的情况下,我无法想象为什么分区类型可能会发生变化(除非 Linux 安装程序最终因被误导而使用该分区作为交换分区),但我怀疑您可能正在破坏备份。
您可以尝试做的一件事就是将分区作为 ext3 挂载在某个地方:
mount -o ro -t ext3 /dev/sda4 /mnt
如果您真的很幸运,并且 blkid 很愚蠢(或者存在的损坏不是那么严重),它可能会挂载,您可以复制数据。如果它抱怨超级块无效,那么将 -b 设置为 8193、16384 或 32768 之一的 fsck 可能会恢复它。在挂载之前,fsck 可能还是值得做的,尽管在病理情况下,它可能比不这样做时更混乱。
答案2
如果您的机器已经运行了一段时间,那么交换分区中的数据很可能大部分都消失了,而且很难恢复。如果您有备份,那就继续生活并从备份中恢复。否则,如果您的数据很重要,您可能需要聘请恢复公司的服务。
如果您尚未实际使用该分区,您可以尝试从实时 CD 安装它,并将分区类型重置为 Linux 类型,看看是否有帮助。