linux故障救援

时间:2024-11-07 16:07:32

今天手贱,误操作将/usr/lib整个文件夹都删了。但是系统内还有很多重要的文件和数据,不敢贸然重装系统。
弄了个u盘启动。
一开始整个系统只有一个分区,原系统装在这个分区里,我用u盘启动后,用分区管理工具重新格式化一个新的分区为/dev/sda6。
在新的分区中安装一个操作系统,这个操作系统的版本和旧的系统完全相同。
但是问题来了,开机后,发现启动的依然是旧的系统,而且更奇怪的是,在旧的系统中看不到新的分区sda6。

原来系统的引导区依然指向旧的系统的第一个扇区。
研究了半天,找到了一个解决的办法,修改旧操作系统的/boot/grub/grub.cfg文件。
将指代旧分区的(hd0,mosda1)修改为(hd0,mosda6),将指代旧分区sda1的磁盘代号XXXXXXXXXXXXXXXXXXXXXXXXX(一长串字符)修改为新的分区的磁盘代号。
这个代号的查看可以使用指令df,在/media文件夹下的挂载点名称即为磁盘代号。

这样,当系统重新启动时,虽然指向旧的系统盘的第一个扇区,但是会转向新的分区的第一个扇区。