rm /* -rf 该怎么恢复
前阵子把自己的工作电脑不小心进行了删根操作,但是发现网上似乎没有有效的针对这个解决的文档。
下面是我的故事:
某天在测试snoopy 审计log的时候,不小心进行了如下操作:
进行的操作
cd / ;
rm ./* -rf
执行这段以后,如果你是中文系统会提示。
提示 **** 'usr' 是一个目录
提示 **** 'var' 是一个目录
------
反应过来已经来不及了。这时候需要注意到,rm / -rf 是不会真正删除所有的文件的,首要被 删除的其实是一些软连接。主要目录是无法真正被删除。当然你的bin下的可执行程序都无法使用了。
进行恢复
当你执行删根操作后,你的命令就只剩cd可以用了。别想着重启进行troubshooting,和恢复模式,因为启动需要的init这个也被删除了。
这时候你需要自己制作一个跟你系统版本一致的efi启动盘,我使用的是ubuntu20.04。
但是不要慌张,使用efiU盘启动try ubuntu也就是试用ubuntu,进入到使用的系统后,执行lsblk
你可以看到原来的启动盘。
1.挂载原来的启动盘
mkdir /data
mount /dev/mapper/lvm1 /data
cd /data
2.进入到原系统盘,对比U盘启动的查看区别,有没有明显的缺少文件夹。
在ubuntu中,bin其实是个/usr/bin的软连接,需要恢复这个软连接。
cd /data;ln -s /usr/bin bin。
还有一些lib软连接也要进行恢复,原硬盘中的boot文件夹一定不要乱动,此为原来的grub。
重启后发现还是无法启动,查看报错,提示/sbin/init no such file。
到了init这一关其实已经离开机启动一步之遥了,抢救有效。
/sbin/init 是个软连接->指向 /lib/systemd/systemd
可以照搬U盘系统内的 /lib/systemd/systemd
注意权限 755。
拷贝完重启,奇迹发生。