本人在一次安装manjaro系统想要尝尝鲜时,意外将正在使用的arch的lvm分区信息完全删除,这大概等同与与将系统格式化,当时一下子没找到有效的恢复办法,心里拔凉拔凉。之前为了一lvm分区方式安装arch,也是费了不少周折,那曾想托lvm福把系统格盘了。当时没恢复好系统,就在另外一个磁盘上重新又折腾了一边arch。。。一直没敢再懂那个有资料的分区。后来想着索性把那个分区在不格盘前提下重新进行lvm分区操作,没想到还真可以把分区恢复出来。
大概的步骤如下:
1、记住你之前的lvm分区划分情况,划分与之前同样大小的vg,名称不要求一样;
2、在新建的vg创建lv分区,划分分区的大小和顺序必须和之前的一致,必须和之前分区数量、分区格式以及分区大小一直,也就是还原之前系统的分区划分情况。注意在系统提示是否需要清楚之前分区的分区标志时选择“否”,保留之前分区的一切信息;
3、此时重新分区的文件文件系统,经本人尝试得知,是不能挂载。因为此时分区的surperblock等信息已经损坏。在这里最终要的一一步就是使用fsck命令修复surperblock等x信息。具体命令如下:
sudo fsck -t ext4 -a /dev/arch/home
(其中-t参数给出分区之前的系统格式,-a参数是自动修复意思,最后面参数是要修复分区。)
经过 上面3步后得到的分区已经可以挂载,并且里面保有之前的资料。由于本人只尝试了对/home分区的恢复,对于系统分区的不知道恢复后是否可以正常使用,待测试。