挂载显示为交换,而不是 ext3

挂载显示为交换,而不是 ext3

一切都轻松,

我有一个设置了 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 类型,看看是否有帮助。

相关内容