KR100550288B1 - Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체 - Google Patents

Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체 Download PDF

Info

Publication number
KR100550288B1
KR100550288B1 KR1020030086702A KR20030086702A KR100550288B1 KR 100550288 B1 KR100550288 B1 KR 100550288B1 KR 1020030086702 A KR1020030086702 A KR 1020030086702A KR 20030086702 A KR20030086702 A KR 20030086702A KR 100550288 B1 KR100550288 B1 KR 100550288B1
Authority
KR
South Korea
Prior art keywords
extracting
data
file system
partition
information
Prior art date
Application number
KR1020030086702A
Other languages
English (en)
Other versions
KR20050053094A (ko
Inventor
김재곤
신주환
Original Assignee
주식회사 하우리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하우리 filed Critical 주식회사 하우리
Priority to KR1020030086702A priority Critical patent/KR100550288B1/ko
Priority to JP2004330855A priority patent/JP2005166042A/ja
Priority to US10/999,070 priority patent/US20050144501A1/en
Publication of KR20050053094A publication Critical patent/KR20050053094A/ko
Application granted granted Critical
Publication of KR100550288B1 publication Critical patent/KR100550288B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 별도의 프로그램을 미리 설치하지 않아도 사후복구가 가능한 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구방법과 그 프로그램을 기록한 기록매체에 관한 것으로서, 파티션 테이블을 추출하는 단계와, 해당 파티션으로부터 디렉토리와 파일의 엔트리를 추출하는 단계와, 추출된 엔트리를 이용하여 해당 데이터를 추출하는 단계와, 추출된 데이터를 결합해서 새로운 파일로 저장하는 단계를 포함하는 것을 특징으로 하며, 별도의 프로그램을 미리 설치하지 않아도 EXT2 파일 시스템에서 손상되거나 삭제된 파일을 사후에 복구할 수 있도록 한다.

Description

EXT2파일 시스템의 데이터 복구방법과 그 프로그램을 기록한 기록매체{METHOD FOR RECOVERING DATA IN EXT2 FILE SYSTEM, AND COMPUTER-READABLE STORAGE MEDIUM RECORDED WITH DATA-RECOVER PROGRAM}
도 1은 EXT2 파일 시스템의 구조를 설명한 도면이고,
도 2는 아이노드의 구조를 간략하게 설명한 도면이고,
도 3은 데이터 블록에 존재하는 디렉토리 엔트리의 개략적인 구조를 나타낸 도면이고,
도 4는 디렉토리 트리의 전체 구조를 나타낸 아이노드 테이블과 데이터 블록이고,
도 5는 본 발명의 일실시예에 따른 리눅스 파일 시스템의 데이터 복구방법을 나타낸 흐름도이다.
본 발명은 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구방법과 그 프로그램을 기록한 기록매체에 관한 것으로서, 특히, 별도의 프로그램을 미리 설치하지 않아도 사후복구가 가능한 EXT2 파일 시스템의 데이터 복구방법과 그 프로그램을 기록한 기록매체에 관한 것이다.
최근 컴퓨터의 처리속도가 증가함에 따라 컴퓨터를 이용해서 산출되는 데이터의 양 또한 과거 몇 년 전과는 비교가 안 될 정도로 폭발적으로 증가하는 추세이다. 그리고, 이와 같이 산출된 데이터를 저장하기 위한 저장매체의 용량도 급속하게 증가하고 있다.
그러나, 방대한 양의 데이터를 저장해 놓은 저장매체가 외부의 충격이나 사용자의 실수, 프로그램간의 충돌, 또는 바이러스 등으로 한 순간에 손실되는 경우가 종종 발생하고 있다.
물론, 불의의 사고에 대비해서 백업을 별도로 하지만, 미처 백업하지 못한 데이터는 전혀 손을 쓸 수 없는 상황이 되고 만다.
이러한 문제점을 해결하고자 종래의 기술에서도 여러 가지 복구방법이 개시되고 있다. 그러나, 종래의 기술은 백업을 위해서 디스크를 모니터링하는 프로그램이 미리 설치되어 있어야 하는 문제점이 있다.
그리고, 컴퓨터에서 사용하는 대표적인 운영체계로는 윈도우와 리눅스가 있는데, 종래의 기술에서는 윈도우 기반의 특정 파일 시스템에서 데이터를 복구하는 방법에 대해서만 개시되어 있다. 즉, 윈도우를 기반으로 한 데이터 복구 프로그램으로는 리눅스 기반의 데이터를 복구할 수 없는 문제점 등이 있다.
본 발명은 이러한 문제점을 해결하기 위해 안출한 것으로, 본 발명은 별도의 프로그램을 미리 설치하지 않아도 EXT2 파일 시스템에서 손상되거나 삭제된 데이터 를 사후에 복구할 수 있는 EXT2 파일 시스템의 데이터 복구방법과 그 프로그램을 기록한 기록매체를 제공하는 것이다.
본 발명의 다른 목적은 마스터 부트 레코드(Master Boot Record ; MBR) 영역의 파티션 테이블이 손상되어 디스크가 인식되지 않는 경우에도 데이터를 복구할 수 있는 EXT2 파일 시스템의 데이터 복구방법과 그 프로그램을 기록한 기록매체를 제공하는 것이다.
본 발명의 또 다른 목적은 슈퍼블럭 등의 이상으로 정상적인 부팅이 불가능한 경우에도 데이터를 복구할 수 있는 EXT2 파일 시스템의 데이터 복구방법과 그 프로그램을 기록한 기록매체를 제공하는 것이다.
상기 목적을 달성하기 위해 본 발명의 일실시예에서는 (a) 파티션 테이블을 추출하는 단계; (b) 해당 파티션으로부터 디렉토리와 파일의 엔트리를 추출하는 단계; (c) 상기 엔트리를 이용하여 해당 데이터를 추출하는 단계; 및 (d) 추출된 데이터를 결합하여 새로운 파일로 저장하는 단계를 포함하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구방법을 제공한다.
또한 (b)단계는, (b1) 상기 파티션으로부터 슈퍼블럭 정보를 추출하는 단계; (b2) 상기 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출하는 단계; 및 (b3) 상기 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 루트 디렉토리 이하의 모든 레벨에 대한 디렉토리와 파일의 엔트리를 추출하는 단계를 포함하는 것을 특징으로 한다.
또한 상기 (b1) 단계는, 슈퍼블럭이 손상되었는지 미리 확인하고, 손상되지 않은 슈퍼블럭을 추출하는 것을 특징으로 한다.
또한 상기 (b)단계는, 상기 파티션이 EXT2 파일 시스템을 사용하는지 확인하는 단계를 더 포함하는 것을 특징으로 한다.
또한 상기 (a)단계는, 상기 파티션 테이블이 손상된 경우 섹터단위로 읽어 들인 후 미리 지정된 파일 시스템 형식에 매칭되는 정보가 존재하는지 확인하는 것을 특징으로 한다.
또한 상기 (d)단계는, 외부 저장장치 또는 복구하고자 하는 데이터가 저장된 파티션과 다른 파티션에 새로운 파일로 저장하는 것을 특징으로 한다.
본 발명의 다른 실시예에서는 (a) 파티션 테이블을 추출하는 프로세스; (b) 해당 파티션으로부터 디렉토리와 파일의 엔트리를 추출하는 프로세스; (c) 상기 엔트리를 이용하여 해당 데이터를 추출하는 프로세스; 및 (d) 추출된 데이터를 결합하여 새로운 파일로 저장하는 프로세스를 포함하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공한다.
또한 상기 (b)프로세스는, (b1) 상기 파티션으로부터 슈퍼블럭 정보를 추출하는 프로세스; (b2) 상기 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출하는 프로세스; 및 (b3) 상기 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 루트 디렉토리 이하의 모든 레벨에 대한 디렉토리와 파일의 엔트리를 추출하는 프로세스를 포함하는 것을 특징으로 한다.
또한 상기 (b1)프로세스는, 슈퍼블럭이 손상되었는지 미리 확인하고, 손상되지 않은 슈퍼블럭을 추출하는 것을 특징으로 한다.
또한 상기 (b)프로세스는, 상기 파티션이 EXT2 파일 시스템을 사용하는지 확인하는 프로세스를 더 포함하는 것을 특징으로 한다.
또한 상기 (a)프로세스는, 상기 파티션 테이블이 손상된 경우 섹터단위로 읽어 들인 후 미리 지정된 파일 시스템 형식에 매칭되는 정보가 존재하는지 확인하는 것을 특징으로 한다.
또한 상기 (d)프로세스는, 외부 저장장치 또는 복구하고자 하는 데이터가 저장된 파티션과 다른 파티션에 새로운 파일로 저장하는 것을 특징으로 한다.
또한 상기 (b)프로세스는, (b1) 상기 파티션으로부터 슈퍼블럭 정보를 추출하는 프로세스; (b2) 상기 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출하는 프로세스; 및 (b3) 상기 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 아이노드 번호 필드가 클리어된 디렉토리와 파일의 엔트리를 추출하는 프로세스를 포함하는 것을 특징으로 한다.
또한 상기 (b3)프로세스는, 삭제시간이 설정되어 있는 아이노드 테이블의 디렉토리와 파일의 엔트리를 추출하는 것을 특징으로 한다.
본 발명의 목적과 특징 및 장점은 첨부 도면 및 다음의 상세한 설명을 참조함으로써 더욱 쉽게 이해될 수 있을 것이다.
본 발명은 EXT2 파일 시스템의 데이터가 삭제되거나 손상되었을 때, 이를 복 구하는 방법 및 그를 지원하도록 구현되는 시스템을 바람직한 실시예로 제안한다.
본 발명의 바람직한 실시예는 본 발명방법을 컴퓨터 시스템에서 실행할 수 있도록 구현된 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함한다. 이러한 기록매체에는 자기 저장매체(예를 들면, 플로피 디스크, 하드 디스크 등)와 광학 저장매체(예를 들면, CD, DVD 등) 등이 포함된다.
본 발명의 이해를 돕기 위해서 EXT2 파일 시스템의 구조를 먼저 간단히 설명하기로 한다. 도 1은 EXT2 파일 시스템의 구조를 설명한 도면이다.
일반적인 하드디스크는 도 1과 같이 마스터 부트 레코드(Master Boot Record ; 이하 MBR)와 하나 또는 그 이상의 파티션(Partition)이 존재하는 논리구조를 가지고 있다. MBR에는 부트 및 파티션 할당에 대한 정보가 저장되어 있다.
EXT2 파일 시스템에서 파티션은 하나 또는 그 이상의 블록그룹(Block Group)으로 구성되며, 블록그룹은 슈퍼블럭(Super Block), 그룹 디스크립터(Group Descriptors), 블록 비트맵(Block Bitmap), 아이노드 비트맵(Inode Bitmap), 아이노드 테이블(Inode Table), 데이터 블록(Data Blocks)으로 구성된다.
슈퍼블럭은 아래와 같이 파일 시스템의 크기와 형태 등에 대한 정보를 가지고 있으며, 1024 바이트의 크기를 차지한다. 블록그룹 0의 슈퍼블럭은 블록그룹의 시작점에서 1024 바이트 오프셋 부분에 위치하며, 각 블록그룹의 슈퍼블럭은 모두 동일한 내용을 유지한다.
Figure 112003046011122-pat00001
그룹 디스크립터는 아래와 같이 각 블록 그룹에 대한 블록 비트맵, 아이노드 비트맵, 아이노드 테이블의 시작위치와 크기에 대한 정보를 모두 가지고 있다. 그룹 디스크립터도 슈퍼블럭과 같이 모든 블록그룹에서 동일한 내용이 유지된다.
Figure 112003046011122-pat00002
블록 비트맵은 블록의 사용여부를 나타내며, 아이노드 비트맵은 아이노드의 사용여부를 나타낸다.
아이노드는 하나의 파일(디렉토리, 링크 등)을 표현하는 기본 단위로서, 아이노드 각각에 대한 파일의 경로, 위치, 크기, 타입(파일/디렉토리/심볼링 링크/FIFO 등), 허용권한 등에 대한 정보가 아이노드 테이블에 다음과 같이 저장되 어 있다.
Figure 112003046011122-pat00003
도 2는 아이노드의 구조를 간략하게 설명한 도면이다.
데이터 블록에는 아이노드 테이블의 아이노드가 가리키는 모든 데이터가 실제로 위치한다. 도 3은 데이터 블록에 존재하는 디렉토리 엔트리의 개략적인 구조를 나타낸 도면이며, 아래와 같이 구성된다.
Figure 112003046011122-pat00004
도 4는 디렉토리 트리의 전체 구조를 나타낸 아이노드 테이블과 데이터 블록이다. 여기서는, 루트 디렉토리 밑에 디렉토리(A,B,C,..)와 파일(ㄱ,ㄴ,ㄷ,..)이 있고, B 디렉토리 밑에 파일(a,b,c,..,h,..)가 있는 경우의 디렉토리 트리를 예로 들어 표시하였다.
도 5는 본 발명의 일실시예에 따른 리눅스 파일 시스템의 데이터 복구방법을 나타낸 흐름도이다.
도 5를 참조하면, 본 발명방법은 파티션 테이블을 추출하는 (a)단계(S100)와, 해당 파티션으로부터 디렉토리와 파일의 엔트리를 추출하는 (b)단계(S120,S140~S160)와, 엔트리를 이용하여 해당 데이터를 추출하는 (c)단계(S170)와, 추출된 데이터를 결합하여 새로운 파일로 저장하는 (d)단계(S180)를 포함한다.
(a)단계는 파티션 테이블이 손상된 경우 섹터단위로 읽어 들인 후 미리 지정된 파일 시스템 형식에 매칭되는 정보가 존재하는지 확인한다.
(b)단계는 파티션으로부터 슈퍼블럭 정보를 추출하는 단계(S120)와, 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출하는 단계(S140)와, 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 루트 디렉토리 이하의 모든 레벨에 대한 디렉토리와 파일의 엔트리를 추출하는 (b3)단계(S150~S160)를 포함한다.
여기서, S120 단계는 파티션으로부터 슈퍼블럭 정보를 추출하는데 있어 슈퍼블럭이 손상되었는지 미리 확인하고, 손상되지 않은 슈퍼블럭만을 추출한다. 그리고, (b)단계는 파티션이 EXT2 파일 시스템을 사용하는지 미리 확인하는 S130 단계를 더 포함할 수 있다.
(d) 단계는 외부 저장장치 또는 복구하고자 하는 데이터가 저장된 파티션과 다른 파티션에 새로운 파일로 저장한다.
이상과 같이 구성된 본 발명에서, EXT2 파일 시스템의 데이터 복구과정을 도 1 내지 도 5를 참조하여 자세히 설명하면 다음과 같다.
우선, 파티션 테이블을 추출해서 디스크에 대한 정보를 구한다(S100). 파티션 테이블은 MBR로부터 추출하며, 디스크의 첫 번째 섹터 마지막에 MBR을 인식하기 위한 식별기호(0xAA55)가 존재한다. MBR의 끝에서부터 0xAA55를 제외하고 거꾸로 64 바이트가 파티션 테이블이다.
0xAA55가 존재하지 않거나 파티션 테이블의 일부가 손상된 경우, 하드 디스 크의 논리 드라이브 정보를 파악하는 것이 불가능해질 수도 있다.
이런 경우, 하드 디스크를 섹터 단위로 읽어 들인 후 미리 지정된 파일 시스템 형식에 매칭되는 정보(본 발명의 경우 슈퍼블럭)가 존재하는지 확인함으로써 논리 드라이브 정보를 파악할 수 있다. 이 때, 섹터구간은 사용자로부터 입력받을 수도 있다. 따라서, 사용자가 실수로 포맷한 경우에도 데이터를 덮어쓰지 않으면, 이와 같은 방법으로 논리 드라이브 정보를 파악할 수 있다.
그 다음, 복구하고자 하는 논리 드라이브를 사용자로부터 선택받으면 해당 파티션으로부터 슈퍼블럭 정보를 추출하는데(S120), 이 때 선택받는 논리 드라이브는 본 발명에서 구현하고자 하는 EXT2 파일 시스템인 것이 가장 바람직하다. 그러나, 파일 시스템에 따라서 복구방법이 다르기 때문에, 사용자가 선택한 논리 드라이브의 파일 시스템 종류를 확인할 필요가 있다.
이를 위해서, 추출된 파티션 테이블의 운영체계 설정값이 리눅스인지를 확인한다(S110). 파티션 테이블에는 4개의 파티션에 대한 정보가 저장될 수 있으며, 한 개의 파티션에 대한 정보는 16 바이트로 표시된다.
16 바이트 중 앞에서 5번째 바이트가 해당 파티션의 운영체계를 나타내는데, 이 값이 0x83이면 리눅스, 0x07이면 NTFS 파일 시스템을 나타낸다.
S100 단계에서 확인한 결과 리눅스가 아니면 종료하고, 운영체계가 리눅스인 것으로 확인되면 해당 파티션으로부터 슈퍼블럭 정보를 추출한다(S120). 그리고, 추출된 슈퍼블럭의 호환특징 값(compatible feature set)이 EXT2인지 확인한다(S130). 호환특징 값이 0이면 EXT2를 나타내고, 4이면 EXT3 파일 시스템을 나타낸다.
S120 단계에서 슈퍼블럭 정보는 블록그룹 0에서 추출하는 것이 가장 바람직하다. 그러나, 바이러스 등에 의해서 블록그룹 0에 있는 슈퍼블럭이 가장 손상되기 쉽기 때문에, 본 발명에서는 블록그룹 0에 있는 슈퍼블럭이 손상되었는지 먼저 확인한 후에 추출한다.
슈퍼블럭의 손상을 확인하기 위해서는 Magic signature와 OS, 그리고 Revision level 값을 체크하면 된다. Magic signature(s_magic)의 값은 0xEF53을 가져야 하고, OS(s_creator_os)는 0을 값으로 가져야 하며, Revision level(s_rev_level)은 0 또는 1의 값을 가져야 한다.
슈퍼블럭이 손상되었을 경우에는 Revision 레벨에 따라 그 다음 블록그룹의 슈퍼블럭 정보를 추출한다. 즉, 슈퍼블럭의 사양을 만족하는 데이터를 섹터 단위로 검색함으로써 그 다음 블록그룹의 슈퍼블럭 정보를 추출할 수 있다.
Revision 레벨이 0이면 슈퍼블럭이 각각의 블록그룹마다 하나씩 위치하지만, 1 이상의 값을 가지면 0과 1 이후에는 3,5,7의 거듭제곱{즉, 3, 5, 7, 9(=32), 25(=52), 49(=72), 27(=33), 125(=53), 343(=73),...}에 슈퍼블럭이 위치한다.
이와 같이 슈퍼블럭 정보를 추출하고 파일 시스템이 EXT2로 확인되면, 파티션의 전체 구조를 파악하기 위해서 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출한다(S140).
슈퍼블럭 정보의 s_blocks_count 값을 s_blocks_per_group 값으로 나누면 전 체 블록그룹의 개수를 구할 수 있다. 이렇게 구한 전체 블록그룹의 개수만큼 그룹 디스크립터를 읽어 들이면 된다.
이와 같이 슈퍼블럭 정보와 그룹 디스크립터 정보를 추출하면, 파티션에 포함된 각각의 블록그룹을 구분하는 것이 가능해진다.
그 다음, 추출된 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 루트 디렉토리의 엔트리를 추출한다(S150). 아이노드 테이블의 두 번째 아이노드에 루트 디렉토리에 대한 정보가 저장되어 있으며, 두 번째 아이노드가 가리키는 데이터 블록에 루트 디렉토리의 엔트리가 저장되어 있다.
그리고, 이와 같은 방식으로 루트 디렉토리 이하의 모든 레벨에 대한 디렉토리와 파일의 엔트리를 추출한다(S150).
S150 단계에서 추출된 디렉토리와 파일 목록을 모두 사용자에게 보여주는 것이 바람직하지만, 처리용량상의 문제로 루트 디렉토리, 루트 디렉토리에 속한 그 다음 레벨의 디렉토리, 루트 디렉토리에 속한 파일까지만 보여주도록 구성할 수도 있다.
후자와 같이 구성할 경우에는 사용자가 살펴보고자 하는 디렉토리를 선택할 때, 그에 해당하는 디렉토리와 바로 다음 레벨의 디렉토리, 해당 디렉토리에 속한 파일을 보여주도록 구성하면 된다.
그 다음, 사용자가 복구하고자 하는 디렉토리나 파일을 선택하면, 추출된 엔트리를 이용하여 데이터 블록으로부터 해당 데이터를 추출한다(S170).
그 다음, 추출된 데이터를 결합해서 새로운 파일로 저장한다(S180). 이 때, 결합한 데이터는 원래 데이터의 크기와 같거나 크게 되므로, 원래 크기와 동일하도록 데이터의 마지막 부분을 잘라내는 것이 바람직하다.
예를 들어, 하나의 크기가 4K 바이트인 데이터 블록 10개를 결합했다고 가정하자. 그런데, 원래 데이터의 크기가 38K 바이트라면, 40K 바이트의 데이터 뒷부분 2K 바이트를 잘라내어 38K 바이트를 새로운 파일로 저장하는 것이다.
S100 단계부터 추출된 정보와 데이터들은 메모리에 저장하고, 새로운 파일은 외부 저장장치(예를 들면, 하드 디스크나 플로피 디스켓 등) 또는 복구하고자 하는 데이터가 저장된 파티션과 다른 파티션에 저장하는 것이 바람직하다. 파일이나 디렉토리의 단순 삭제, 또는 바이러스 등으로 인해서 손상되는 경우에도 위와 같은 방법으로 복구가 가능하다.
한편, 일반적으로 삭제된 파일을 복구하는 다른 방법으로 삭제된 파일의 아이노드를 S140~S170 단계 사이에서 검색하면 되는데, S160 단계 바로 다음에 검색하는 것이 가장 바람직하다.
파일 삭제시에 해당 파일이 속해 있는 디렉토리 엔트리의 아이노드 번호 필드가 0으로 클리어 되고, 파일에 대한 정보를 가진 아이노드에 삭제시간이 설정된다. 또, 슈퍼블록과 그룹 디스크립터 등의 정보가 변경된다.
본 실시예에서는 아이노드 번호 필드가 0으로 클리어된 디렉토리 엔트리를 검색해서 검색된 디렉토리와 그에 속한 파일을 사용자에게 보여주지만, 삭제시간이 설정된 아이노드를 검색해서 보여줄 수도 있다.
그 다음, 사용자가 복구하고자 하는 파일을 선택하면, S170과 S180 단계를 순서대로 실행한다.
위에서는 EXT2 파일 시스템에 한정해서 설명했지만, EXT3 파일 시스템이 EXT2 파일 시스템과 물리적으로 동일한 구조를 가지기 때문에, EXT3 파일 시스템에서도 동일한 방법으로 데이터를 복구할 수 있다. 다만, EXT3 파일 시스템에서 삭제된 파일은 제외된다.
이상의 본 발명은 상기에 기술된 실시예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경을 가져올 수 있으며, 이는 첨부된 청구항에서 정의되는 본 발명의 취지와 범위에 포함된다.
이상에서 살펴본 바와 같이 본 발명은, 별도의 프로그램을 미리 설치하지 않아도 EXT2 파일 시스템에서 손상되거나 삭제된 파일을 사후에 복구가 가능하다. 그리고, 실제 데이터가 다른 내용으로 덮어 쓰여지지 않으면 해당 데이터의 복구가 가능하다.
또, MBR 영역의 파티션 테이블이 손상되어 디스크가 인식되지 않는 경우에도 데이터를 복구할 수 있다.
또, 슈퍼블럭 등의 이상으로 정상적인 부팅이 불가능한 경우에도 데이터를 복구할 수 있는 이점 등이 있다.

Claims (16)

  1. (a) 파티션 테이블을 추출하는 단계;
    (b) 해당 파티션으로부터 디렉토리와 파일의 엔트리를 추출하는 단계;
    (c) 상기 엔트리를 이용하여 해당 데이터를 추출하는 단계; 및
    (d) 추출된 데이터를 결합하여 새로운 파일로 저장하는 단계를 포함하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구방법.
  2. 제 1항에 있어서, 상기 (b)단계는
    (b1) 상기 파티션으로부터 슈퍼블럭 정보를 추출하는 단계;
    (b2) 상기 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출하는 단계; 및
    (b3) 상기 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 루트 디렉토리 이하의 모든 레벨에 대한 디렉토리와 파일의 엔트리를 추출하는 단계를 포함하는 것을 특징으로 하는 EXT2 파일 시스템의 데이터 복구방법.
  3. 제 2항에 있어서, 상기 (b1)단계는
    슈퍼블럭이 손상되었는지 미리 확인하고, 손상되지 않은 슈퍼블럭을 추출하는 것을 특징으로 하는 EXT2 파일 시스템의 데이터 복구방법.
  4. 제 2항에 있어서, 상기 (b)단계는
    상기 파티션이 EXT2 파일 시스템을 사용하는지 확인하는 단계를 더 포함하는 것을 특징으로 하는 EXT2 파일 시스템의 데이터 복구방법.
  5. 제 1항 내지 제 4항 중 어느 한 항에 있어서, 상기 (a)단계는
    상기 파티션 테이블이 손상된 경우 섹터단위로 읽어 들인 후 미리 지정된 파일 시스템 형식에 매칭되는 정보가 존재하는지 확인하는 것을 특징으로 하는 EXT2 파일 시스템의 데이터 복구방법.
  6. 제 1항 내지 제 4항 중 어느 한 항에 있어서, 상기 (d)단계는
    외부 저장장치 또는 복구하고자 하는 데이터가 저장된 파티션과 다른 파티션에 새로운 파일로 저장하는 것을 특징으로 하는 EXT2 파일 시스템의 데이터 복구방법.
  7. 제 1항에 있어서, 상기 (b)단계는
    (b1) 상기 파티션으로부터 슈퍼블럭 정보를 추출하는 단계;
    (b2) 상기 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출하는 단계; 및
    (b3) 상기 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 아이노드 번호 필드가 클리어된 디렉토리와 파일의 엔트리를 추출하는 단계를 포함하 는 것을 특징으로 하는 EXT2 파일 시스템의 데이터 복구방법.
  8. 제 7항에 있어서, 상기 (b3)단계는
    삭제시간이 설정되어 있는 아이노드 테이블의 디렉토리와 파일의 엔트리를 추출하는 것을 특징으로 하는 EXT2 파일 시스템의 데이터 복구방법.
  9. (a) 파티션 테이블을 추출하는 프로세스;
    (b) 해당 파티션으로부터 디렉토리와 파일의 엔트리를 추출하는 프로세스;
    (c) 상기 엔트리를 이용하여 해당 데이터를 추출하는 프로세스; 및
    (d) 추출된 데이터를 결합하여 새로운 파일로 저장하는 프로세스를 포함하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  10. 제 9항에 있어서, 상기 (b)프로세스는
    (b1) 상기 파티션으로부터 슈퍼블럭 정보를 추출하는 프로세스;
    (b2) 상기 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출하는 프로세스; 및
    (b3) 상기 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 루트 디렉토리 이하의 모든 레벨에 대한 디렉토리와 파일의 엔트리를 추출하는 프로세스를 포함하는 것을 특징으로 하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  11. 제 10항에 있어서, 상기 (b1)프로세스는
    슈퍼블럭이 손상되었는지 미리 확인하고, 손상되지 않은 슈퍼블럭을 추출하는 것을 특징으로 하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  12. 제 10항에 있어서, 상기 (b)프로세스는
    상기 파티션이 EXT2 파일 시스템을 사용하는지 확인하는 프로세스를 더 포함하는 것을 특징으로 하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  13. 제 9항 내지 제 12항 중 어느 한 항에 있어서, 상기 (a)프로세스는
    상기 파티션 테이블이 손상된 경우 섹터단위로 읽어 들인 후 미리 지정된 파일 시스템 형식에 매칭되는 정보가 존재하는지 확인하는 것을 특징으로 하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  14. 제 9항 내지 제 12항 중 어느 한 항에 있어서, 상기 (d)프로세스는
    외부 저장장치 또는 복구하고자 하는 데이터가 저장된 파티션과 다른 파티션에 새로운 파일로 저장하는 것을 특징으로 하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  15. 제 9항에 있어서, 상기 (b)프로세스는
    (b1) 상기 파티션으로부터 슈퍼블럭 정보를 추출하는 프로세스;
    (b2) 상기 슈퍼블럭 정보를 이용하여 그룹 디스크립터 정보를 추출하는 프로세스; 및
    (b3) 상기 그룹 디스크립터 정보가 가리키는 아이노드 테이블을 참고하여 아이노드 번호 필드가 클리어된 디렉토리와 파일의 엔트리를 추출하는 프로세스를 포함하는 것을 특징으로 하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  16. 제 15항에 있어서, 상기 (b3)프로세스는
    삭제시간이 설정되어 있는 아이노드 테이블의 디렉토리와 파일의 엔트리를 추출하는 것을 특징으로 하는 EXT2 파일 시스템(the Second Extend File System)의 데이터 복구 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020030086702A 2003-12-02 2003-12-02 Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체 KR100550288B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020030086702A KR100550288B1 (ko) 2003-12-02 2003-12-02 Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체
JP2004330855A JP2005166042A (ja) 2003-12-02 2004-11-15 Ext2ファイルシステムのデータ復旧方法及びそのプログラムを記録した記録媒体
US10/999,070 US20050144501A1 (en) 2003-12-02 2004-11-29 Method for recovering data in EXT2 file system, and computer-readable storage medium recorded with data-recovery program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030086702A KR100550288B1 (ko) 2003-12-02 2003-12-02 Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체

Publications (2)

Publication Number Publication Date
KR20050053094A KR20050053094A (ko) 2005-06-08
KR100550288B1 true KR100550288B1 (ko) 2006-02-08

Family

ID=34698377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030086702A KR100550288B1 (ko) 2003-12-02 2003-12-02 Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체

Country Status (3)

Country Link
US (1) US20050144501A1 (ko)
JP (1) JP2005166042A (ko)
KR (1) KR100550288B1 (ko)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FI119664B (fi) * 2004-12-08 2009-01-30 Open Invention Network Llc Menetelmä elektronisissa laitteissa oleviin tiedostoihin pääsemiseksi
US7603387B2 (en) * 2006-06-16 2009-10-13 Microsoft Corporation Techniques to manage media files
US7783686B2 (en) * 2006-06-16 2010-08-24 Microsoft Corporation Application program interface to manage media files
CN100446000C (zh) * 2006-08-16 2008-12-24 珠海金山软件股份有限公司 Fat卷中重建目录结构和恢复数据的方法
US8639656B2 (en) 2007-02-02 2014-01-28 International Business Machines Corporation Method for implementing persistent file pre-allocation
KR100887547B1 (ko) * 2007-02-28 2009-03-09 엔에이치엔(주) 데이터 손상률 확인 방법 및 장치
US7991973B2 (en) * 2008-05-05 2011-08-02 Panasas, Inc. Data storage systems, methods and networks having a snapshot efficient block map
KR101078289B1 (ko) 2009-08-25 2011-10-31 한국전자통신연구원 파티션 복구 방법 및 장치
US8849880B2 (en) * 2011-05-18 2014-09-30 Hewlett-Packard Development Company, L.P. Providing a shadow directory and virtual files to store metadata
KR101413985B1 (ko) * 2012-01-26 2014-07-08 전자부품연구원 비휘발성 메모리에 적합한 파일시스템을 이용한 파일 관리 방법
CN103678026B (zh) * 2012-09-18 2017-05-10 杭州海康威视系统技术有限公司 可修复的视频监控数据存储和修复方法及其装置
CN104991926A (zh) * 2015-06-29 2015-10-21 浪潮(北京)电子信息产业有限公司 文件系统恢复方法和系统
CN106328172A (zh) * 2015-06-30 2017-01-11 四川效率源信息安全技术有限责任公司 基于龙视安嵌入式安防设备的数据解析及提取方法
CN106328171B (zh) * 2015-07-01 2020-04-10 四川效率源信息安全技术股份有限公司 基于海康嵌入式安防设备的数据解析及提取方法
CN105204959B (zh) * 2015-08-28 2018-11-30 小米科技有限责任公司 恢复ext文件系统中已删除文件的方法及装置
CN105389232B (zh) * 2015-10-28 2018-02-09 武汉噢易云计算股份有限公司 Ext文件系统有效数据分析方法
KR101836380B1 (ko) 2016-05-24 2018-03-08 아주대학교산학협력단 파일 시스템의 데이터 관리 방법 및 이를 이용하는 컴퓨팅 시스템
CN107315544A (zh) * 2017-06-29 2017-11-03 郑州云海信息技术有限公司 一种固态盘逻辑分区管理方法和装置
CN108153604B (zh) * 2017-12-29 2021-03-02 四川巧夺天工信息安全智能设备有限公司 一种恢复f2fs文件系统中被删除文件的方法
CN110389855B (zh) * 2018-04-19 2021-12-28 浙江宇视科技有限公司 磁带库数据校验方法、装置、电子设备和可读存储介质
US10719401B2 (en) 2018-09-12 2020-07-21 International Business Machines Corporation Increasing data recoverability during central inode list loss
CN109857589B (zh) * 2018-12-21 2021-11-23 厦门市美亚柏科信息股份有限公司 一种删除文件的恢复方法、装置及存储介质
CN111897675B (zh) * 2020-06-16 2024-04-09 东南大学 一种手机端f2fs文件系统的近期删除文件恢复方法
CN111984467B (zh) * 2020-07-31 2022-08-02 厦门市美亚柏科信息股份有限公司 一种基于ocfs2的数据恢复方法、装置、系统及存储介质
CN112115002B (zh) * 2020-09-21 2024-04-02 武汉轻工大学 从损坏或不可信机械硬盘恢复文件的方法及装置
CN112579364B (zh) * 2020-12-30 2022-08-05 厦门市美亚柏科信息股份有限公司 一种基于qnx6fs文件系统的删除文件深度恢复方法和装置
CN115292266B (zh) * 2022-05-30 2024-05-14 中国电子科技集团公司第五十二研究所 一种基于存储器的高可靠日志存储方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0770966B1 (en) * 1995-10-27 2002-08-28 Ncr International Inc. Method and apparatus for computing filenames with a high probability of uniqueness
US5754844A (en) * 1995-12-14 1998-05-19 Sun Microsystems, Inc. Method and system for accessing chunks of data using matching of an access tab and hashing code to generate a suggested storage location
US5838910A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US7069594B1 (en) * 2001-06-15 2006-06-27 Mcafee, Inc. File system level integrity verification and validation
KR100490723B1 (ko) * 2002-11-29 2005-05-24 한국전자통신연구원 파일 레벨 스트라이핑 장치 및 방법

Also Published As

Publication number Publication date
JP2005166042A (ja) 2005-06-23
KR20050053094A (ko) 2005-06-08
US20050144501A1 (en) 2005-06-30

Similar Documents

Publication Publication Date Title
KR100550288B1 (ko) Ext2파일 시스템의 데이터 복구방법과 그 프로그램을기록한 기록매체
US6173291B1 (en) Method and apparatus for recovering data from damaged or corrupted file storage media
US8818950B2 (en) Method and apparatus for localized protected imaging of a file system
US9286165B2 (en) Apparatus and method for recovering partition using backup boot record information
EP1744246B1 (en) File system having deferred verification of data integrity
US8117410B2 (en) Tracking block-level changes using snapshots
US6615365B1 (en) Storing a computer disk image within an imaged partition
KR100622801B1 (ko) 파일 시스템 액세스 방법, 파일 시스템 복원 방법, 컴퓨터 판독 가능 기록 매체 및 데이터 처리 시스템
EP1744247B1 (en) Optimized startup verification of file system integrity
US20120084272A1 (en) File system support for inert files
US8782360B2 (en) Preserving an existing volume map in re-initializing a data storage volume
US7624243B2 (en) Apparatus and method for protecting system data on computer hard-disk
CN109710455B (zh) 基于fat32文件系统的删除文件恢复方法及系统
JP2015514241A (ja) ストレージ装置
US11494334B2 (en) Embedded reference counts for file clones
KR101593184B1 (ko) 파일시스템 메타데이터 기반 파티션 복구 방법 및 장치
CN112115002B (zh) 从损坏或不可信机械硬盘恢复文件的方法及装置
EP1103894A2 (en) Fragmented data recovery method
EP1103895A2 (en) Disk data recovery method
KR100987320B1 (ko) 고속 파일 복구가 가능한 fat 파일시스템을 사용한데이터 처리장치 및 데이터 처리방법
CN1156763C (zh) 硬盘数据保护与恢复方法
Zhang et al. The research of data recovery on Windows file systems
KR101237746B1 (ko) 데이터 백업 장치 및 방법
CN110781160A (zh) 基于VMware虚拟化文件系统损坏的数据恢复方法
CN100389396C (zh) 一种fat文件系统差错处理方法及其装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee