我对 Linux 还很陌生。
当我安装此系统时,我选择使用 LVM,显然创建了一个 256 mb 的启动分区,但很快就满了。我尝试使用 gparted 缩小包含在 /dev/sdb2 中的 /dev/sdb5,但不起作用。
我决定查看磁盘实用程序下的选项,并将 /dev/sdb2 的分区类型更改为其他类型,因为我倾向于通过摆弄它们来了解事物。我没想到更改会像使用 gparted 时一样立即生效,但事实确实如此。
有什么方法可以让 /dev/sdb2 和 /dev/sdb5 恢复到原来的状态?我很乐意提供任何进一步所需的信息。
编辑:我去运行了启动修复并得到了一个包含更多信息的 pastebin:http://paste.ubuntu.com/23060938/
编辑 2:我运行了 boot-repair 并告诉它进行修复。它现在将 /dev/sdb2 称为启动驱动器,而 gparted 仍将文件系统列为未知。我不知道发生了什么,正在考虑安装一个全新的 ubuntu。修复后的 pastebin:http://paste.ubuntu.com/23061013/
编辑3:由于带有 /dev/sdb 的驱动器不是我的主要数据磁盘,因此重新安装了 Ubuntu(这次没有 LVM),因此这个问题不再是必要的。我仍然想知道这是否可能。
答案1
我知道您已经重新安装了 Ubuntu,因此以下内容基本没有意义;但是,如果其他人遇到类似问题,我会全力以赴。您可能想跳到最后一段,以获取有关避免将来出现此类问题的建议……
听起来好像/dev/sdb2
是一个扩展分区,里面存放的是逻辑分区/dev/sdb5
。通常,分区工具不允许您更改扩展分区的类型,因为这样做几乎总是一个坏主意。听起来好像您使用了一些编写不当的软件,没有施加这种合理的限制——或者您可能使用了低级磁盘编辑器,您应该绝不除非你是一个专家无论您尝试编辑什么内容。无论如何......
您应该做的第一件事是对整个磁盘(或至少)进行低级备份/dev/sdb2
。类似这样的操作应该可以解决问题:
sudo if=/dev/sdb of=/path/to/lots/of/space/sdb-backup.img
此命令将备份/dev/sdb
到/path/to/lots/of/space/sdb-backup.img
,顾名思义,它应该是一个具有大量可用空间的目录——至少 119.2 GiB,就您而言,因为 的大小就是这样/dev/sdb
。备份将使您能够恢复到当前状态,以防进一步出现问题——这种情况很可能会再次发生,因为任何恢复尝试都有可能产生新的和更严重的问题。
备份完成后,最好的恢复方法可能是删除/dev/sdb2
使用 Linux 的fdisk
。我强调使用 是fdisk
因为我知道它不会写入/dev/sdb2
,只会删除定义它的数据结构。我不知道你用来更改 类型的任何东西/dev/sdb2
是否能做更多的事情。
完成后,使用测试磁盘恢复丢失的分区。此工具会扫描磁盘以查找分区中文件系统和其他数据结构的迹象,例如 LVM 定义。请注意,您希望 TestDisk 恢复您的 LVM,而不是位于其中的逻辑卷。因此,如果 TestDisk 为您提供恢复 LVM 的选项或者(比如)一个 ext4fs 分区,告诉它恢复 LVM。运气好的话,当你重启时,你会看到你的 LVM 恢复了。
使用 LVM 可以简化文件系统更改之内LVM,但如果您需要在 LVM 之外重新分配空间,LVM 实际上会使事情变得复杂。某些版本的 GParted 不会触及 LVM 物理卷(分区),因为它不知道如何调整其大小。要调整 LVM 设置的大小,您必须跳过一些额外的步骤,这些步骤在(以及其他地方)中有描述这里和这里。我通常倾向于创建两个或三个大小各异的 LVM 分区,以便我可以将逻辑卷从其中一个分区移出、删除它,并根据需要重新分配 LVM 之外的空间。