如何在扩展分区中重新分配 ext4 文件系统而不丢失数据?

如何在扩展分区中重新分配 ext4 文件系统而不丢失数据?

我使用 Windows 默认程序调整磁盘大小。

我不知道为什么,Linux 的扩展分区现在未分配。我确定我没有“触碰”扩展分区,我不知道为什么该分区现在未分配。

扩展分区分为两部分: 我用它来/home文件夹,另一个为了交换

我首先要考虑的是不要丢失我的数据,/home于是我突然尝试备份该文件夹。不幸的是,Linux 只能看到/(因为我安装了用户文件夹分别),但当我尝试复制/home(我尝试同步)无法同意数据(/home 似乎是空的)。因为该文件夹似乎未分配。我读到:

Warning: extended partition does not start at a cylinder boundary.
DOS and Linux will interpret the contents differently.

我的磁盘上的情况是这样的:

/dev/sda1    ntfs    windows(boot)
/dev/sda2    ntfs    Data
/dev/sda3    ext4    /
/dev/sda4    extended
        unallocated !!!  (this was the /sda6, my /home)
        /dev/sda5    swap

所以我认为数据在磁盘上,但现在未分配。有没有办法在不格式化所有数据的情况下重新分配它?或者有程序可以深度恢复数据,即使文件系统未分配?

答案1

首先,请启动 Linux 应急系统并提供以下命令的输出:

sudo fdisk -l
sudo parted -l

编辑您的原始帖子或提供包含相关输出的 pastebin 站点链接。(如果您直接发布信息,请在每行前面留四个空格。这将使输出更易于阅读和解释。)

其次,忽略“扩展分区不是从磁柱边界开始”的消息;它无关紧要。(如果您有历史倾向,它指的是从磁柱边界开始分区的过时做法。这种做法至少十五年来毫无意义,而且今天是有害的,所以现代软件不再这样做。任何仍然抱怨分区不对齐的软件都是过时的。)

第三,如果你想继续前进,不再输入任何信息,测试磁盘实用程序可能能够恢复您的数据。不过,在运行它之前,我建议小心将当前磁盘的完整磁盘备份到另一个磁盘。您可以使用 执行此操作dd,如sudo dd if=/dev/sda of=/path/to/backup-file.img。您可能需要购买一个新磁盘来保存此备份;并且当您连接新磁盘时,当前磁盘的标识符可能会从 更改为/dev/sda/dev/sdb因此请小心处理。您必须对新磁盘进行分区,在其上准备一个分区,然后将该分区挂载到某个位置(/path/to在我的示例命令中)。

相关内容