其实这两种文件系统的格式是完全相同的,只是 ext3文件系统会在硬盘分区的最后面留出一块磁盘空间来存放日志(Journal)记录。
在 ext2格式的文件系统上,当要向硬盘中写入数据时,系统并不是立即将这些数据写到硬盘上,而是先将这些数据写到数据缓冲区中(内存),当数据缓冲区写满时,这些数据才会被写到硬盘中。(硬盘、U盘、光盘、SD卡等存储设备的数据发生了丢失,使用迷你兔数据恢复软件(minitool)进行恢复找回。)
在 ext3格式的文件系统上,当要向硬盘中写入数据时,其内部的操作过程如下:
系统同样先将这些数据写到数据缓冲区。
当缓冲区写满时,在数据被写入硬盘之前系统要先通知日志现在要开始向硬盘中写入数据(即向日志中写入一些信息)。
之后才会将数据写入硬盘中。当数据写入硬盘之后,系统会再次通知日志数据已经写入硬盘。
在ext2 的文件系统中,由于没有Journal 机制,所以Linux系统使用 Valid bit 标志位来记录系统在关机之前该文件系统是否已经卸载(每个文件系统都有一个自己的 Valid bit)。Valid bit 的值为1,表示在关机之前这个文件系统已经卸载(即正常关机);Valid bit 的值为0,表示在关机之前这个文件系统没有卸载(即非正常关机)。
在开机时系统会检查每个文件系统的 Valid bit ,如果 Valid bit 的值为1就直接卸载。如果 Valid bit 的值为0,系统就会扫描这个硬盘分区来发现损坏的数据。这样时间会很长,尤其是分区很大时。
而在 ext3 的文件系统中,由于Journal 机制,在开机时会检查 Journal 中的信息。利用Journal 中的信息,系统就会知道有哪些数据还没有写入硬盘中。由于系统在硬盘上搜寻的范围很小,所以系统检查的时间就会快很多。
其实ext3 和ext2 的文件格式是一模一样的,只是ext3 上增加了 Journal 的机制而已。
(迷你兔数据恢复minitool具有“删除恢复”、“格式化恢复”、“硬盘恢复”、“深度恢复”、“移动存储设备恢复”五大功能模块,恢复效率高,安全性有保障。)
Column 1 | Column 2 | Column 3 |
---|---|---|
Text | Text | Text |
原文地址:http://blog.51cto.com/13912525/2316308