当前位置:  技术问答>linux和unix

不小心把red hat 8下面root目录里面的东西都删除了,有什么办法恢复阿

    来源: 互联网  发布时间:2015-09-06

    本文导语:  着急啊。 | 似乎是没有办法的,Unix和Linux下面反删除的这类东西好像很少 | 重装,不格式化其他分区,数据还是有的 | 关注 | /root里面是root...

着急啊。

|
似乎是没有办法的,Unix和Linux下面反删除的这类东西好像很少

|
重装,不格式化其他分区,数据还是有的

|
关注

|
/root里面是root用户的信息,好像也不是很多

我用的是csh,/root里面文件最少的时候也就是.cshrc .login还有另外两个文件的样子,Linux缺省用的是bash,应该有个profile的文件,其他的也不是很多
 
你重新创建一个用户,然后进入那个用户的账户,看看有哪些文件,把这些文件稍微修改一下基本上就可以直接放到/root里面去给root使用了

|
/root里面的东西也没什么大用, 除非是你自已拷了很多东西, 不然没什么大关系, 无非是一些登录脚本之类的.

|
不会影响吧!除非是你私人的东西.

|
试试这个方法,刚才看到的
『前些天被我误删掉的home directory下的几千个文件,经过本人数天的连续奋战, 
现绝大部分已恢复,算是奇迹也不是奇迹。 
    删掉文件其实只是将指向数据块的索引点(information nodes)释放,只要不被覆 
盖,数据其实还在硬盘上,关键在于找出索引点,然后将其所指数据块内的数据抓出, 
再保存到另外的分区。 
    我先在网上查有关linux 
undelete的信息,找到一个ext2fs-undeletion的mini-Howto,后发觉在RH6.2的 
/usr/doc/HOWTO内也有,按它的方法,先将被删掉数据的盘区umount掉(防止写盘覆 
盖被删除的数据,显然这一步在误删数据后做得越快越好,尤其是对多人使用的计算 
机),然后查文件系统中哪些索引点最近被释放: 
  #debugfs /dev/hda6 (my 'home' partition) 
   debugfs: lsdel 
即给出相应信息,包括索引点,文件属主,大小,删除日期等。也可将结果输出到 
一个文件中 
   debugfs: quit 
  # echo lsdel | debugfs /dev/hda6 > lsdel.out 
还可用debugfs中stat查看某一索引点的详细信息: 
   debugfs: stat     (148003为索引点) 
尤其注意其数据块是否连续! 
然后将该索引点所指数据块内的数据抓出并存到另一盘区: 
   debugfs: dump  /dosd/tmp/recovered.001 
   按该mini-Howto的说法,以上方法只使用于大小不超过12个block的文件,对于 
超过12个block的文件,由于unix是将数据分段保存的,需要将各段数据分别取出再 
拼接,所以比较麻烦。但我用stat检查的结果,大文件的数据块也都是紧挨着的, 
并没有被分段, 于是我试着用同样的方法将文件dump出来,发觉结果完全正确,对 
六百多兆的大文件也适用!不知道linux就是连续保存文件的,还是因为我的计算机 
只有我一个用户而使然,反正我用上述简单方法将我误删的绝大部分文件都恢复了。 
    需要说明的一点是,恢复的文件是没有保留文件名的,需要你查看文件内容后, 
再重新命名。 
    靠人不如靠己,当初没有轻易放弃看来是正确的,尽管我有少量备份。不过经过 
这场"灾难",本人的指法倒是又熟练了不少:几千个文件得一个一个恢复!』

引自“http://www.linuxforum.net/books/smth/Linux.AIX/00000130/00000004.htm”

|
这篇比较详细『

作为一个多用户、多任务的操作系统,Linux下的文件一旦被删除,是难以恢复的。尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据。不过,对于家庭单机使用的Linux,或者误删文件后及时补救,还是可以恢复的。 

1.Ext2文件系统结构的简单介绍 
在Linux所用的Ext2文件系统中,文件是以块为单位存储的,默认情况下每个块的大小是1K,不同的块以块号区分。每个文件还有一个节点,节点中包含有文件所有者,读写权限,文件类型等信息。对于一个小于12个块的文件,在节点中直接存储文件数据块的块号。如果文件大于12个块,那么节点在12个块号之后存储一个间接块的块号,在这个间接块号所对应的块中,存储有256个文件数据块的块号(Ext2fs中每个块号占用4字节,这样一个块中所能存储的块号就是1024/4=256)。如果有更大的文件,那么还会在节点中出现二级间接块和三级间接块。 

2。恢复被误删文件的方法 
大多数Linux发行版都提供一个debugfs工具,可以用来对Ext2文件系统进行编辑操作。不过在使用这个工具之前,还有一些工作要做。 
首先以只读方式重新挂载被误删的文件所在分区。使用如下命令:(假设文件在/usr分区) 
mount –r –n –o remount /usr 
-r表示只读方式挂载;-n表示不写入/etc/mtab,如果是恢复/etc上的文件,就加上这个参数。如果系统说xxx partion busy,可以用fuser命令查看一下是哪些进程使用这个分区上的文件: 
fuser –v –m /usr 
如果没有什么重要的进程,用以下命令停掉它们: 
fuser -k –v –m /usr 
然后就可以重新挂载这些文件系统了。 
如果是把所有的文件统一安装在一个大的/分区当中,可以在boot提示符下用linux single进入单用户模式,尽量减少系统进程向硬盘写入数据的机会,要不干脆把硬盘挂在别的机器上。另外,恢复出来的数据不要写到/上面,避免破坏那些有用的数据。如果机器上有dos/windows,可以写到这些分区上面: 
mount –r –n /dev/hda1 /mnt/had 
然后就可以执行debugfs:(假设Linux在 /dev/hda5) 
#debugfs /dev/hda5 
就会出现debugfs提示符debugfs: 
使用lsdel命令可以列出很多被删除的文件的信息: 
debugfs:lsdel 
debugfs: 2692 deleted inodes found. 
Inode Owner Mode Size Blocks Time deleted 
164821 0 100600 8192 1/ 1 Sun May 13 19:22:46 2001 
………………………………………………………………………………… 
36137 0 100644 4 1/ 1 Tue Apr 24 10:11:15 2001 
196829 0 100644 149500 38/ 38 Mon May 27 13:52:04 2001 

debugfs: 
列出的文件有很多(这里找到2692个),第一字段是文件节点号,第二字段是文件所有者,第三字段是读写权限,接下来是文件大小,占用块数,删除时间。然后就可以根据文件大小和删除日期判断那些是我们需要的。比如我们要恢复节点是196829的文件: 
可以先看看文件数据状态: 
debugfs:stat  
Inode: 196829 Type: regular Mode: 0644 Flags: 0x0 Version: 1 
User: 0 Group: 0 Size: 149500 
File ACL: 0 Directory ACL: 0 
Links: 0 Blockcount: 38 
Fragment: Address: 0 Number: 0 Size: 0 
ctime: 0x31a9a574 -- Mon May 27 13:52:04 2001 
atime: 0x31a21dd1 -- Tue May 21 20:47:29 2001 
mtime: 0x313bf4d7 -- Tue Mar 5 08:01:27 2001 
dtime: 0x31a9a574 -- Mon May 27 13:52:04 2001 
BLOCKS: 
594810 594811 594814 594815 594816 594817 …………………………………. 
TOTAL: 38 
然后就可以用dump指令恢复文件: 
debugfs:dump  /mnt/hda/01.sav 
这样就把文件恢复出来了。退出debugfs: 
debugfs:quit 
另一种方法是手工编辑inode: 
debugfs:mi  
Mode [0100644] 
User ID [0] 
Group ID [0] 
Size [149500] 
Creation time [0x31a9a574] 
Modification time [0x31a9a574] 
Access time [0x31a21dd1] 
Deletion time [0x31a9a574] 0 
Link count [0] 1 
Block count [38] 
File flags [0x0] 
Reserved1 [0] 
File acl [0] 
Directory acl [0] 
Fragment address [0] 
Fragment number [0] 
Fragment size [0] 
Direct Block #0 [594810] 
……………………………. 
Triple Indirect Block [0] 
使用mi指令后每次显示一行信息以供编辑,其它行可以直接按回车表示确认,把deletion time改成0(未删除),Link count改成1。改好后退出debugfs: 
debugfs:quit 
然后用fsck检查/dev/hda5 
fsck /dev/hda5 
程序会说找到丢失的数据块,放在lost+found里面。这个目录里的文件就是我们要的东东。 
Now all O.K. Good Luck.

引自“http://www.linuxeden.com/edu/doctext.php?docid=1619”


相信google的力量,and csdner^_^

|
http://www.myung.net.cn/

韩新科技是由韩国Myung Information Technologies Co.,Ltd和新加坡伟特国际贸易有限公司合资成立于2001年,是以电脑存储媒体的数据恢复及维修为主营业务的一家科技型企业。
公司引进韩国、新加坡最尖端的计算机数据恢复技术,开展数据恢复服务,以及计算机维修保养工作,在计算机数据恢复领域的专业技术达到国际先进水平,在客户中享有较高的商业信誉。
 
 
 
 
韩国Myung Information Technologies Co.,Ltd成立于1990年6月。是一家专业从事电脑存储媒体的相关业务的高科技集团企业,其在韩国有8家子公司,有韩国境内唯一的Cleanroom(温度20度,湿度40+/- 5%的作业环境)的实险室,在韩国清洲科技园内有2000平方米的科研中心, 目前占韩国数据恢复市场70%的份额,其数据恢复的技术在国际上也是顶尖的,其业务遍布4大洲9个国家。

新加坡的伟特国际贸易有限公司成立于1989年1月,是一家专业从事电脑存储媒体研发及贸易的一家跨国公司,并有多家在华投资公司。

    
 
 

您可能感兴趣的文章:

  • 在线等,急,不小心删除zlib系统库
  • 我不小心用mysqlfront把一个mysql数据库删除了,能不能恢复(没有备份),大家一定要救我阿。
  • 不小心把home下的bin文件夹删除了,如何才能启动unix呀?急用
  • 用rm不小心删除了很多文件,有没有办法恢复?
  • 不小心删除了 /dev/ttyS1 ,应该怎么办
  • linux的垃圾箱不小心被删除了,怎么让他重新显示出来
  • linux下Xen中一个虚拟系统不小心删除了,还能找回吗?
  • 不小心删除了根目录下的lib目录,怎么恢复,急!(S0S!!!)
  • /etc/passwd 文件不小心被我删除了,linux登陆进不了系统,还有办法挽救吗??急
  • 不小心把VI给删除了,现在有没有办法恢复vi呢?
  • 用root用户不小心删除了/var目录下所有文件,有办法恢复数据吗?
  • 装上LINUX后.再装了WINDWOS2000之后,不小心把LINUX的引导区删除了,请问怎么样才能恢复?
  • 大家快来救救我,我不小心把分区删除了,高分再线等待.......
  • 不小心删除了文件。linux操作系统进不去了怎么办?
  • 完了,我不小心删除了一个数据文件,使用(RM *.DBF),请问各位大哥有没有办法补救。
  • 不小心覆盖了/usr/bin目录中的Xvnc文件,能恢复吗?
  • 不小心把/lib/libc.so.6给重命名了,怎么恢复啊
  • 急救:安装ubuntu服务器版时不小心选择整个硬盘安装并配置LVM,导致分区全部被删,跪求恢复方法
  • 在Win下不小心删掉了linux的boot分区。请问如何恢复?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 内核区新斑主怎么那么不小心?
  • !!!!!警告:Mandrake Linux 9.0 安装错误,各位小心刻盘,还请高手相助!!!!!
  • 唉,不小心......
  • 不小心删掉了designer 是要重新安装QT吗
  • 不小心远程注销了linux,然后再进去时桌面不见?急!!在线等,高手帮忙啊!
  • 我不小心将xfs(好像是这么写,字体服务)服务在启动时关了,以至现在进不了xwindow,怎么办?
  • 不小心把xwindow给卸了,怎么办?急啊!!
  • 不小心运行了命令at -r -u root
  • 不小心把RPM跟YUM都卸载掉了……
  • 不小心把/etc/passwd文件改了怎么办
  • 不小心生成了一个叫“-r”的文件
  • Linux bin目录下mysql文件不小心被我删了,麻烦发一个给我
  • 我在redhat下不小心对/tmp用了chown
  • scp的时候,不小心起了个文件名叫-C,怎么删掉这个名字叫-C的文件
  • SOS!!!我不小心把crontab全删了,急寻补救之策!!
  • 不小心在 /usr/src/linux-2.6.32.12-0.7 目录下运行了 make clean
  • 我的電腦有兩個盤c: D:,我在用ghost不小心,出了錯,現在開機我的D盤什麼都沒有了。
  • RedHat7的一个小于16M的分区不小心被我格式化了,在不重装的情况下能修复吗?
  • 由于不小心把/bin目录下的bash删掉了 现在进不去ubuntu系统了
  • 我本来是想将同类文件移动的,但是不小心把这些文件移成了一个文件,怎么办?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3