使用 kde 分区管理器调整大小后丢失 /home 分区

使用 kde 分区管理器调整大小后丢失 /home 分区

磁盘名称为/dev/sdd,分区表如下:

分割 类型 标签 尺寸 用过的 第一区 最后扇区 扇区数
/dev/sdd1 未知 微软保留 15.98MB ---- 三十四 32767 32734
/dev/sdd2 NTFS 金士顿(数据分区) 270.63GiB 252.94GiB 32768 567590911 567558144
/dev/sdd5 ext4 Ubuntu 根目录 44.09GiB 19.18GiB 567590912 660049919 92459008
/dev/sdd7 ext4 旧 Ubuntu 根目录 49.71GiB 21.77GiB 660049920 764305407 104255488
/dev/sdd6 ext4 Ubuntu /主页 61.61GiB ?* 764305408 893501439 129196032
/dev/sdd4 linuxswap 20.58GiB --- 893501440 936650751 43149312
/dev/sdd3 脂肪32 埃菲 513.00MB 3.40MiB 936650752 937701375 1050624

* 这个值不再显示,但我记得我家大约有 20-30GiB。

我需要增加 /dev/sdd2 的大小,因为这是我存储 steam 库的地方。我发现我可以减少交换分区,因为我不再使用休眠模式,而且旧的 ubuntu 根目录有大约 20Gb 的可用空间,所以我从使用 Kubuntu 的 USB 启动的 Kde 分区管理器执行了以下步骤:

  1. 将分区“/dev/sdd4”从 20.58GiB 缩小到 4.53GiB(这实际上是在转到 USB Live Image 之前完成的,我用 swapoff 关闭了交换,然后缩小了分区,然后我无法继续缩小,因为我处于想要更改的同一系统中)。

  2. 将分区“/dev/sdd6”向右移动 16.05GiB

  3. 将分区“/dev/sdd7”向右移动 16.05GiB

  4. 将分区“/dev/sdd5”向右移动 16.05GiB

  5. 将分区“/dev/sdd2”从 270.63GiB 增大到 286.68GiB

  6. 将分区 '/dev/sdd7' 从 49.71GiB 缩小到 23.16GiB

  7. 将分区“/dev/sdd7”向右移动 26.56GiB

  8. 将分区“/dev/sdd5”向右移动 26.56GiB

  9. 将分区“/dev/sdd2”从 286.68GiB 增大到 313.24GiB

等了几分钟后,我查看结果,结果说最后的操作出现了错误(我不记得具体是哪一个了,但我认为前半部分没有错误,而后半部分出现了错误,遗憾的是我没有这个日志的记录)。

但结果却是丢失了整个 /dev/sdd6 文件系统(我的 /home 目录)这是操作之后的分区表照片:

关联

看来交换分区确实缩小了,但未分配的空间仍保留在原来的位置。其他分区仍然可以访问,并且数据正常(数据 ntfs 分区和两个根分区)。

但由于某种原因,/home 分区现在被标记为“未知”,我无法挂载它/将文件系统更改为 ext4/执行任何操作。

此时,我使用 DD 制作了一个备份(.img 文件),以防万一。

当我尝试启动到我的常规 Kubuntu(GRUB 运行良好)时,我只进入了一个具有“紧急模式”和“root”用户的终端。

我尝试运行“fsck”并得到:

root@pc:~# fsck /dev/sdd6
fsck from util-linux 2.37.2
e2fsck 1.46.5 (30-Dec-2021)
ext2fs_open2: Bad magic number in super-block
fsck.ext2: Superblock invalid, trying backup blocks...
fsck.ext2: Bad magic number in super-block while trying to open /dev/sdd6

The superblock could not be read or does not describe a valid ext2/ext3/ext4
filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
    e2fsck -b 8193 <device>
 or
    e2fsck -b 32768 <device>

然后,经过一番谷歌搜索后,我运行了以下命令:

root@pc:~# mke2fs -n /dev/sdd6
mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 16149504 4k blocks and 4038656 inodes
Filesystem UUID: 54d63d54-bc82-4017-96a0-012e76d54fc1
Superblocks backups stored on blocks:
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 

然后我尝试再次运行“fsck”,但使用带有 -b 选项的超级块。没有任何结果。

我能做什么?Windows 10(位于另一个磁盘中,运行良好)使用 photorec 工具检测分区,它允许我恢复文件,但它只是一堆没有目录结构的 txt/png/wav/etc... 文件,对我来说没用。

我在分区中没有太多重要的“常规”文件(例如照片、pdf、视频或音频),但有很多配置文件、bash 历史文件、应用程序首选项等......

至于 testdisk,它在扫描时检测到一些非常奇怪的东西(我稍后会上传照片,但它就像两个非常相同的 /dev/sdd2 分区在开头,但具有不同的起始/结束扇区)并且当我写入它建议的新分区表时,/home 仍然无法访问。

有什么可以尝试的吗?我可以使用未改动的 Root 分区并使用另一个分区或磁盘安装空的 /home 来恢复我的 Kubuntu 安装吗?还是我应该从头开始安装所有内容?除此之外,我仍然希望恢复我的 /dev/sdd6 分区,就像发生这种情况之前一样。

谢谢!!!

答案1

谢谢您的回答,我解决了这个问题,我会把它写在这里,如果有人遇到同样的问题可以尝试一下。

我做的事情其实很简单。正如我所说,当我意识到自己搞砸了时,我立即备份了整个磁盘,使用:

dd if=/dev/sdX of=/path/to/other/disk/backup.img

所以在尝试了各种疯狂的方法之后(虽然很恐慌,但做这种事很难保持冷静...),我睡着了。第二天,我坐下来,用以下方法恢复了图像:

dd if=/path/to/other/disk/backup.img of=/dev/sdX

然后,我只需从 LiveUSB 运行 testdisk,它就可以正常工作。只需按照程序的说明进行操作,并仔细检查它在分区表中找到的每个分区。它就可以正常工作,现在我的系统恢复原样。

谢谢,祝你好运!

相关内容