香农青岛数据恢复中心 Linux / Unix 系统数据恢复,支持ext2,ext3,NTFS,NTFS5,XFS,Ext2/3,UFS,UFS2,ReiserFS 等分区类型
香农青岛数据恢复中心可以恢复所有版本的Linux系统下的数据。
Linux文件系统简介
Linux文件系统中一切都是文件:图片,文本文件,程序,目录,分区甚至驱动器都是文件。
每种文件系统都有一个控制“块”来存储有关文件系统的信息。文件系统中其它“快”都是i-nodes,i-nodes中存储文件。
Linux内核存储文件的方式并不是用户所看到的那样。对于用户来说,你看到的是文件目录、子目录、文件。目录和文件有不同的名字。这种结构从根目录开始(root,用“/”表示)。
(root和“/”常常使得Linux用户感到困惑。它们有两种用法:root的另一种含义是指具有计算机管理员权限的用户。“/”的另一种用途是目录和子目录及文件之间的分隔符,与DOS中的“\”类似。)
文件系统分级标准(FHS)定义了Linux和其它类Unix操作系统中的主目录和文件。所有的文件和目录都在root目录中——即使它们位于不同的物理设备上(例如不同的磁盘或不同的计算机)。其中FHS定义的部分目录有/bin(可执行文件),/boot(启动引导文件如内核),/home(用户的主目录),/mnt(用于挂载CDROM或软驱),/root(root用户的主目录),/sbin(root用户的专用可执行文件目录)和/usr(大多数应用程序安装于此)。
对于Linux内核来说,文件系统是扁平的。也就是说:
- 它没有分级结构
- 目录、文件或程序之间没有差别
- 它不根据文件名来区分文件,而是用i-nodes来代表文件。
- inode number(唯一的辨识数字)
- 文件的owner和group
- 文件类型(如是一个文件还是目录)
- 文件的缺陷表
- 文件的创建、访问和修改时间
- 文件的大小
- 磁盘的地址(如:文件在磁盘上的物理存储地址)
ls -i用df命令可以显示文件系统的信息,包括磁盘容量,使用的空间,使用的空间比例和挂载点。
df可以单独使用,但最好是加上-m参数,可以以Mb为单位而不是默认的kb为单位:
df -m要显示文件系统类型,可以加上-print-type参数:
df -m -print-type
Linux下的文件系统
每种Linux文件系统都是基于Unix原理的实现(它们或者一开始就是为linux开发的,或者一开始是为其它操作系统开发但是经过重写并兼容Linux)。
目前广泛使用的一些linux文件系统有:ext2,ext3,ReiserFS,JFS和XFS。
这些文件系统与DOS/Windows文件系统的不同之处有:
- 允许重要的系统文件夹分布于多个分区或多个硬盘上
- 增加了许多文件属性,例如所有者和权限
- 建立了一些标准文件夹来存放重要的文件。
扩展文件系统,即ext于1992年4月出现。它支持的最大文件为2GB,文件名最长可达到255个字符。它清除了minix的这两个最大的限制。但是,它仍然不支持独立存取,inode修改和时间戳修改。它使用了链接列表来索引空闲块和inode,使得文件系统出现碎片。
。第二版扩展文件系统(ext2)于1993年1月发布,它重写了ext:
- 改进了算法使得速度更快
- 增加了时间戳(如最后一次访问的日期,inode最后修改的日期和数据最后修改的日期)
- 可以跟踪文件系统的状态。Ext2在superblock中维护了一块特别的区域,用于指示文件系统的状态是clean还是dirty。如果文件系统损坏会触发扫描程序。Ext2还支持最大分区为4TB。另外,它还完全兼容ext。
Linux:日志文件系统
没有日志文件系统常常被认作是Linux没有在企业级广泛应用的主要原因。不过,现在这已经不能成为理由,因为现在有了四种日志文件系统可供选择。
日志文件系统比静态文件系统如ext2具有很大的优势,例如:如果系统没有正常关机,日志文件系统可以保证数据的完整,并且不需要在重启时耗费很长时间进行复杂的文件系统查错。日志文件系统是指文件系统中有一个单独的文件——日志文件用来跟踪写入硬盘的数据。
在其它的文件系统中,在突然断电或系统崩溃后重启过程中,会花费几分钟或数小时(如果硬盘容量高达数百G)来查错。如果发现有数据不完整,甚至需要人工干预来决定如果修复文件系统问题。如果数据量巨大的话这一过程会耗费很多时间。
在日志文件系统中,如果计算机电源突然中断,重启后如果数据没有问题的话,更改的数据就全部提交给文件系统(也就是写到硬盘),文件系统立即可用;如果文件系统可以读取日志并且修正不完整的数据,那么会标记为不完全提交。这比扫描整个硬盘快多了,而且可以保证文件系统总是可以自愈的。使用日志文件系统,计算机就可以在系统崩毁后几秒钟之内重启,也许一些数据会丢失,但至少不需要花费很长时间来验证数据的丢失了。
Ext3 从Linux 2.4.16开始集成到内核中,在Red Hat和其它一些版本中作为默认的文件系统。它是在ext2的基础上扩展而来,增加了日志功能,同时它具有和ext2一样的高稳定性。而且ext2和ext3分区之间可以相互转换,不需要备份数据或重分区。如果需要,ext3分区甚至可以挂在到不支持ext3的旧系统上;这时它可以被认作普通的ext2分区而忽略日志。
ReiserFS 由Hans Reiser和其它人开发,是Linux第一个日志文件系统。它与ext2一样在Linux中广泛使用。与ext3不同,它是专门开发的日志文件系统,因此它被广泛认为是最先进的Linux专有日志文件系统。它的特点有速度快,非常稳定,与其他文件系统相比小文件占据的磁盘空间更少。
ReiserFS的新版本Reiser4是将版本3完全重写而来,据说大大的改进了性能:速度更快,支持更多CPU,内建加密,更易于自主配置。
JFS 由IBM在1990年代中期为AIX Unix操作系统开发,后来被移植到OS/2操作系统上。IBM后来将OS/2改为开源软件,这使得JFS可以在Linux下使用了。JFS现在主要应用在IBM的企业级服务器上,若要同时安装Linux和OS/2多个系统则JFS是最好的选择。
XFS 友SGI在1990年代中期为64位IRIX Unix系统开发。SGI的服务器主要设计用于高性能的图片处理,所以XFS的特点是可以支持大文件。SGI在XFS被Linux接受后,将XFS转为开源。由于XFS是64位的文件系统,它可以支持百万TB的分区(ext2仅支持4TB)。
大多数2.4.x以后的Linux版本都支持ext2,ext3和ReiserFS。2.4.20和2.5.6版本中加入了对JFS的支持;2.5.36版本加入了对XFS的支持。通过下载补丁也可以让早期的Linux版本支持JFS和XFS。
