| 
	我使用的是centOS6.3,使用虚拟机重启的时候显示错误信息如下 
	/dev/mapper/root: Superblock last mount time (Mon Mar  5 17:40:11 2012,now = Sat Mar  5 18:46:53 2011) is in the future.
 /dev/mapper/root: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
 (i.e., without -a or -p options)
 [FAILED]
 *** An error occurred during the file system check.
 *** Dropping you to a shell; the system will reboot
 *** when you leave the shell.
 Given root password for maintenance
 (or type Control-D to continue):
 
 
	后来找到了解决的办法: 
	在“(or type Control-D to continue):”处直接输入密码,进入修复模式,按照fsck <partition name>的形式运行修复,你的就运行fsck  /dev/mapper/root,然后reboot,重启后可能还会提示其他盘出现相同的错误,按照fsck <partition name>的形式再次运行,然后reboot,在虚拟机上测试可以启动了 
	  
	下面接着去了解一下fsck指令的作用 
	检查修复linux文件系统命令fsck 
	使用权限 : 超级使用者
 使用方式 : fsck [-sACVRP] [-t fstype] [--] [fsck-options] filesys [...]
 
 说明 : 在Linux系统中,为了增加系统性能,通常系统默认一些数据写在内存中,并不会直接将数据写入硬盘,这是因为内存速度要比硬盘快若干倍。但是有个问题,万一由于“断电”或者其他未知原因,造成系统死机,怎么办?系统就崩溃了。所以,我们需要在特定的时候让数据直接回存到硬盘中。这里提供几个常用的命令,其中,fsck命令最重要. 当文件系统发生错误时,可用fsck命令尝试加以修复.直接采用分区编号(如/dev/had3),或使用挂载点(Mount Point,如/、/usr等)指定文件系统皆可。假设一次指定多个文件系统,而这些系统分别位于不同的物理磁盘上,则fsck将会尝试同步的方式去检查他们,以节省操作时间。
 
 参数 :
 
 filesys : device 名称(eg./dev/sda1),mount 点 (eg. / 或 /usr)
 -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
 -s : 依序一个一个地执行 fsck 的指令来检查
 -A : 对/etc/fstab 中所有列出来的 partition 做检查
 -C : 显示完整的检查进度
 -d : 列印 e2fsck 的 debug 结果
 -p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
 -R : 同时有 -A 条件时,省略 / 不检查
 -V : 详细显示模式
 
 -a : 如果检查有错则自动修复
 -r : 如果检查有错则由使用者回答是否修复
 
	        补充说明:
 例子 :
 检查 msdos 档案系统的 /dev/hda5 是否正常,如果有异常便自动修复 :
 fsck -t msdos -a /dev/hda5
 
 注意 :
 
 此指令可与 /etc/fstab 相互参考操作来加以了解。
 
	        范例:检查/dev/sda3[root@localhost ~]# fsck -C -t ext3 /dev/sda3fsck 1.39 (29-May-2006)e2fsck 1.39 (29-May-2006)/dev/sda3 is mounted.
 WARNING!!! Running e2fsck on a mounted filesystem may causeSEVERE filesystem damage.
 Do you really want to continue (y/n)? yes
 /home: recovering journal/home: clean, 11/524288 files, 25399/524120 blocks#一切正常就会出现上述信息
 #主意通常只有ROOT且系统有问题的时候才用这个命令,否则在正常状态下使用此命令可能会损坏文件。
 
	       相关知识:
 
	    Linux FSCK数据出错的灾难应急方案介绍 
	[适用于] 
	1、文件系统:ext2 ext3 reiserfs xfs等 
	2、范围:提示文件系统需要FSCK时,未执行或FSCK执行完成 
	  
	[症状] 
	1、无法MOUNT分区; 
	2、大量文件、目录丢失,根目录下生成/LOST+FOUND文件夹,里面有大量#XXXXXX类的文件和目录; 
	3、FSCK很快报错完成; 
	4、FSCK执行时,有大量提示,如修改节点、清0节点等操作 
	  
	[应急方案] 
	1、如遇提示FSCK时,请小心。如果可能,请尽快断开系统,UMOUNT所有分区。 
	2、必需执行FSCK时,先做准备工作,方法一:可事先用dd命令将所涉及到的分区输出到另外的存储体上(最好不要在出错的存储体本身上做dd) 命令大致结构可如: dd if=/dev/sda0 of=/dev/sdb0 ..... 
	3、必需执行FSCK时,先做准备工作,方法二:将整个LINUX存储体挂载到虚拟机环境,将LINUX存储体设为Nonpersisten模式,再执行,执行过后,如果数据完好,应尽快通过FTP等方式拷贝出来。 
	4、必需执行FSCK时,先做准备工作,方法三:将整个LINUX存储体挂载到其他系统上(如WINDOWS),做好镜像后再做FSCK。 
	5、如上面几种方式均因条件等原因无法实施,必须执行时,可小心观察FSCK的执行提示(关掉-a)如果发现有提示节点错误需更正或清0、节点描述文件大小不正确等信息,应停止执行FSCK。 
	6、因恢复需要参考很多信息,因尽可能保持系统不工作状态,至少不得再次MOUNT分区(即便不做任何读写操作,也会因系统的工作原理不断降低数据恢复的可能性,增加数据恢复的难度) 
	7、寻求专业数据恢复公司帮助。 
	  
	  
	对磁盘进行镜像的方案: 
	1、可用相同或大于源盘容量的硬盘做为目标盘,将源盘全部扇区方式CLONE到目标盘。 
	2、可将源盘完全以扇区方式输出文件到某大容量存储空间(如大容量硬盘、NAS、SAN、DAS等) 
	  
	输入Root密码登录后采用:fsck -t ext3 -r /usr/local 修复 
 
 (责任编辑:IT)
 |