KR20030075738A - 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법 - Google Patents

윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법 Download PDF

Info

Publication number
KR20030075738A
KR20030075738A KR1020020015099A KR20020015099A KR20030075738A KR 20030075738 A KR20030075738 A KR 20030075738A KR 1020020015099 A KR1020020015099 A KR 1020020015099A KR 20020015099 A KR20020015099 A KR 20020015099A KR 20030075738 A KR20030075738 A KR 20030075738A
Authority
KR
South Korea
Prior art keywords
mft
entry
file
mft entry
parent
Prior art date
Application number
KR1020020015099A
Other languages
English (en)
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 KR1020020015099A priority Critical patent/KR20030075738A/ko
Publication of KR20030075738A publication Critical patent/KR20030075738A/ko

Links

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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1612Error detection by comparing the output signals of redundant hardware where the redundant component is persistent storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 윈도우즈 NT/2000/XP에서 폴더 정보를 확인하여 프로그램 또는 데이터가 원래의 위치에 복구가 되도록 하여 사용자의 편의성을 향상시킨 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법에 관한 것으로서,
하드디스크(HDD)의 처음부터 마지막 섹터까지 순차적으로 MFT 엔트리인지를 확인하고, MFT 엔트리를 저장하는 제1 과정; MFT 엔트리의 OxE 오프셋 값이 0x02 또는 0x03이면 MFT 엔트리가 폴더 정보인 것으로 결정하고, 아니면 MFT 엔트리가 파일 정보인 것으로 결정하는 제2 과정; 디스크 버퍼의 포인터를 속성(ATTRIBUTE) 시작 바이트로 이동하여 MFT 엔트리의 속성값이 0x20 또는 0x90 이면 그에 따라 자식 MFT 정보에서 부모 MFT 번호를 읽어와서 MFT 번호를 생성하는 제3 과정; MFT 엔트리의 속성값이 0xA0 이면 인덱스 루트 클러스터(Index Root Cluster)를 읽어와서 인덱스 루트의 인덱스 엔트리에서 자신의 MFT 번호를 읽어와서 저장하는 제4 과정; 및 상기 제4 과정이 이루어진 후 저장된 각각의 MFT 엔트리에 대하여 부모 MFT 번호가 0x05인지를 확인하고, 부모 MFT 번호가 0x05이면 해당 MFT 엔트리를 루트집합에 추가시키고, 부모 MFT 번호가 0x05가 아니면 또는 저장해 놓은 MFT 엔트리에서 MFT 번호가 없다면 해당 MFT 엔트리를 루트집합에 부모 MFT 번호로 추가시키는 제5 과정;을 포함하여 이루어지는 것을 특징으로 한다.

Description

윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법{DATA RECOVERING METHOD FOR NEW TECHNOLOGY FILE SYSTEM}
본 발명은 윈도우즈 NT/2000/XP에서 사용하기 위한 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법에 관한 것으로서, 더욱 상세하게는 폴더 정보를 확인하여 프로그램 또는 데이터가 원래의 위치에 복구가 되도록 하여 사용자의 편의성을 향상시킨 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법에 관한 것이다.
일반적으로 부팅된 OS에서 데이터가 나타나지 않는 경우는 다음의 5가지 경우로 구분할 수 있다. a) 해당 파일을 삭제했기 때문, b) 해당 드라이브를 포맷했기 때문, c) 해당 드라이브의 파티션을 FDISK로 삭제했기 때문, d) 디스크의 크래쉬, e) 바이러스에 의해 해당 파일이 삭제되거나 포맷된 경우 등이다.
상기와 같은 이유로 인해 데이터를 삭제하거나 하드디스크 드라이브가 고장났다고 하더라도 Media(DISK, TAPE)가 심하게 손상되지 않는 한 사용자가 작업한 데이터는 하드디스크의 데이터 영역에 그대로 존재하고 있다. 데이터 복구는 여러 원인에 의하여 꼭 필요로 하는 데이터가 백업을 하지 않은 상태에서 손실되었을 때 저장매체(Media)에 남아있는 데이터를 다시 살려내는 것이다.
결국, 컴퓨터 프로그램 상에서 파일을 삭제(Delete)한다는 것은 파일의 데이터 자체를 모두 없애는 것이 아니라 데이터 영역에는 그대로 두고 파일이 존재하고 있는 위치 정보를 없애서 다른 파일의 저장시 덮어쓰기가 이루어지도록 하는 것이며, 포맷이나 바이러스에 의한 데이터 손실의 경우도 대부분의 데이터는 그대로 남아있는 상태에서 데이터까지 접근할 수 있는 연결고리만 파손되는 경우가 대부분이기 때문에 고장난 부품을 교체하거나 소프트웨어 적으로 연결고리를 다시 살려주거나 하는 방법에 의하여 데이터를 복원해 낼 수 있다.
종래의 기술에 따르면, 데이터의 복구과정에서 하드디스크(HDD)의 데이터 영역을 직접 스캔하여 파일(file) 단위로 데이터를 복구하는 방법을 사용하고 있는데, 복구가 이루어지는 파일들은 원래 사용되었던 폴더(folder)에 관계없이 하나의 폴더에 연속적으로 저장이 이루어지게 된다.
그런데, 일반적으로 컴퓨터의 하드디스크(HDD)는 대용량이기 때문에 파일의수가 수 만개에 이르고 있다. 그와 같은 이유로 인해 데이터 복구를 실행하게 되면 복구되는 파일의 수가 많아서 사용자는 원하는 파일이 정확히 복구가 되었는지를 확인하는데 많은 시간이 소요되게 되는 문제점이 발생된다.
특히, 데이터가 삭제되기 전에 동일한 파일명을 갖는 파일이 다수 개 존재하였던 경우에는 어느 파일이 최종적인 파일인지, 서로 다른 내용의 파일인지 또는 동일한 내용의 파일인지를 확인할 수 없기 때문에 하나의 파일만이 덮어쓰기에 의해 복구되어 데이터 복구작업을 다시 실행하여야 하는 경우가 발생하거나 또는 복구를 원하는 파일이 완전히 삭제되는 경우가 발생되는 문제점이 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 안출된 것으로서, 그 목적은 기존의 파일 단위의 데이터 복구에서 발생하는 문제점을 해소하기 위하여 하드디스크의 데이터 영역을 섹터(sector) 단위로 읽어와서 폴더정보를 수집하여 복구되는 각 폴더의 연관관계를 확인하여 트리 구조로 폴더를 복구하고, 그 후 폴더 단위의 데이터 복구를 실행함으로써 복구되는 파일이 원래의 위치에 정확히 복구가 이루어지도록 하는 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법을 제공하는데 있다.
또한, 본 발명의 다른 목적은 마스터 파일 테이블(MTF : master File Table)을 이용하여 복구되는 각 폴더의 연관관계를 확인하고, 파일의 고유특성을 이용하여 파일종류를 확인함으로써 파일의 정확한 복구가 이루어지도록 하는 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법을 제공하는데 있다.
상기의 목적을 달성하기 위한 본 발명의 일 측면에 따르면, 컴퓨터 하드디스크(HDD)의 처음 섹터(sector)부터 마지막 섹터까지 순차적으로 읽어서 MFT 엔트리인지를 확인하고, MFT 엔트리를 임시적으로 가상의 배열에 저장하는 제1 과정; 상기 제1 과정이 이루어진 후 MFT 엔트리의 OxE 오프셋(offset)의 값이 0x02 또는 0x03이면 MFT 엔트리가 폴더 정보인 것으로 결정하고, OxE 오프셋(offset)의 값이 0x02 또는 0x03이 아니면 MFT 엔트리가 파일 정보인 것으로 결정하는 제2 과정; 상기 제2 과정이 이루어진 후 디스크 버퍼의 포인터를 속성(ATTRIBUTE) 시작 바이트로 이동하고, MFT 엔트리의 속성값이 0x20 또는 0x90 이면 그에 따라 자식 MFT 정보에서 부모 MFT 번호를 읽어와서 MFT 번호를 생성하는 제3 과정; 상기 제3 과정이 이루어진 후 MFT 엔트리의 속성값이 0xA0 이면 인덱스 루트 클러스터(Index Root Cluster)를 읽어와서 인덱스 루트의 인덱스 엔트리에서 자신의 MFT 번호를 읽어와서 저장하는 제4 과정; 및 상기 제4 과정이 이루어진 후 저장된 각각의 MFT 엔트리에 대하여 부모 MFT 번호가 0x05인지를 확인하고, 부모 MFT 번호가 0x05이면 해당 MFT 엔트리를 루트집합에 추가시키고, 부모 MFT 번호가 0x05가 아니면 또는 저장해 놓은 MFT 엔트리에서 MFT 번호가 없다면 해당 MFT 엔트리를 루트집합에 부모 MFT 번호로 추가시키는 제5 과정;을 포함하여 이루어지는 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법을 제공한다.
이때, 본 발명의 부가적인 특징에 따르면, 상기 제1 과정에서는 파일 사이즈 데이터를 이용하여 파일 사이즈의 마지막 위치에 "FFFFFFFF"가 기록되어 있으면 정상적인 MFT 엔트리 인 것으로 판단하는 단계가 포함될 수 있다. 또한, 상기 제1 과정에서는 MFT 엔트리의 길이가 1024바이트 보다 작거나 같은지를 확인하여 1024 바이트 보다 작거나 같으면 정상적인 MFT 엔트리로 판단하고, MFT 엔트리의 길이가 1024 바이트 보다 크면 정상적인 MFT 엔트리가 아닌 것으로 판단하는 단계가 포함될 수 있다.
또한, 본 발명의 다른 부가적인 특징에 따르면, 상기 제1 과정에서는 MFT 엔트리에서 해당 파일의 시작 클러스터, 파일 사이즈 등이 손상되어 있는 경우에 파일의 헤더 부분의 문자열을 이용하여 파일의 종류를 판단하고 해당 확장자로 파일을 생성하는 단계가 포함되어 이루어지는 것이 바람직하다.
또한, 본 발명의 다른 부가적인 특징에 따르면, 상기 제2 과정에서는 MFT 엔트리가 폴더 정보인 경우에 상기 0x30 속성의 부모 MFT 번호를 확인하여 0x05이면 루트 폴더로 결정하는 단계가 포함되어 이루어지는 것이 바람직하다.
도 1은 본 발명에서 사용되는 마스터 파일 테이블(MFT)의 속성값의 예를 나타내는 도면
도 2a 및 도 2b는 본 발명에 의하여 윈도우즈 운영체계를 적용한 컴퓨터에서 마스터 파일 테이블(MFT)을 이용한 데이터 복구동작을 나타내는 흐름도
도 3은 일반적인 파일의 종류에 따른 헤더 부분의 문자열과 확장자의 예를 나타내는 도면
이하, 첨부된 도면을 참조하여 본 발명에 의한 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법의 바람직한 실시예를 상세히 설명하면 다음과 같다.
먼저, 윈도우즈 NT 운영체계가 하드디스크 상에 파일들을 저장하고 검색하는 데 사용하는 시스템 즉, NEW TECHNOLOGY FILE SYSTEM(이하 NTFS라고 한다.)에 대하여 설명하고자 한다.
NTFS의 역할은 Windows 95의 FAT(File Allocation Table) 또는 OS/2의 HPFS(High Performance File System)에 해당하는 것이나, NTFS는 FAT나 HPFS에 비해 성능이나 확장성 및 보안성 면에서 많은 개선점들을 지원한다. 특히, 주목할만한 NTFS의 기능들은 1) 파일 클러스터들을 추적하기 위해 b_tree 디렉토리 개념을 사용함, 2) 파일의 클러스터들에 관한 정보와 다른 데이터들이 각 클러스터에 함께 저장됨, 3) 최대 64비트 약 160억 바이트 정도의 매우 큰 파일도 지원 가능함, 4) 서버관리자가 누가 어떤 파일만을 엑세스할 수 있는지 등을 통제 가능함, 5) 통합된 파일 압축 가능함, 6) 유니코드 기반의 파일이름 들을 지원함 등이다.
상기 NTFS에는 마스터 부트 레코드(MBR), 파티션 부트 섹터(PBS), 마스터 파일 테이블(MFT), 데이터 저장공간, MFT 복사본, 데이터 저장공간 등이 순차적으로 위치된다. 이때, 상기 마스터 부트 레코드(MBR)는 하드디스크의 첫 섹터로서 파티션에 대한 정보와 부팅에 관여하는 실행코드를 포함한다. 또한, 상기 파티션 부트 섹터(PBS)는 부팅하는 과정중에 NT가 시작될 수 있도록 NT BOOTSTRAP CODE가 존재하고, NTFS 파티션 내의 섹터, 클러스터 등의 설정에 관한 정보를 포함하며 MFT의 실제위치정보를 가지고 있다. 또한, 마스터 파일 테이블(MFT)은 각 파일과 디렉토리, 로그 파일에 대한 정보를 저장하며, 파일의 분산되어 있는 클러스터들의 위치를 찾는데 사용된다.
상기 MFT(Master File Table)에는 파일명, 속성값, 갱신시간, 갱신날짜 및 파일 사이즈 등이 기록되어 있다. 첨부도면 도 1에는 MFT의 속성값이 제시되어 있다. 상기 도 1에서와 같은 속성값을 이용하면 데이터의 복구 동작이 용이하게 이루어질 수 있다.
첨부도면 도 2a 및 도 2b는 본 발명에 의하여 윈도우즈 운영체계를 적용한 컴퓨터에서 MFT를 이용한 데이터 복구동작을 나타내는 흐름도이다.
상기 첨부도면 도 2a 및 도 2b를 참조하면, 먼저 컴퓨터 하드디스크(HDD)의 처음 섹터(sector)부터 마지막 섹터까지 순차적으로 읽어서(S10 단계 참조), 읽어온 데이터가 MFT 엔트리인지를 확인한다.(S11 단계 참조) 이때, MFT 엔트리인지를 확인하는 동작은 각종 데이터를 이용한 방법이 사용될 수 있는데 본 발명에서는 파일 사이즈를 이용하여 파일 사이즈의 마지막 위치에 "FFFFFFFF"가 기록되어 있으면 정상적인 MFT 엔트리로 판단하게 된다.
상기 S11 단계에서 정상적인 MFT 엔트리로 판단되면 임시적으로 가상의 배열에 MFT 엔트리를 저장한다.(S12 단계 참조) 이때, 상기 MFT 엔트리의 길이가 1024바이트 보다 작거나 같은지를 확인한다.(S13 단계 참조) 이 동작은 에러를 체크하기 위한 것으로서, 일반적으로 MFT 엔트리가 1024 바이트 보다 작거나 같기 때문에 그 길이가 1024 바이트 보다 크면 MFT 엔트리가 아닌 것으로 판단하여 다시 S10 단계로 진행시켜 다음 섹터를 읽도록 한다.
그후, 상기 MFT 엔트리의 OxE 오프셋(offset)의 값이 0x02 또는 0x03 인지를 확인하고(S14 단계 참조), OxE 오프셋(offset)의 값이 0x02 또는 0x03이면 MFT 엔트리가 폴더 정보인 것으로 결정하고(S15 단계 참조), OxE 오프셋(offset)의 값이 0x02 또는 0x03이 아니면 MFT 엔트리가 파일 정보인 것으로 결정한다.(S16 단계 참조)
그후, 디스크 버퍼의 포인터를 속성(ATTRIBUTE) 시작 바이트로 이동하고(S17 단계 참조), 상기 MFT 엔트리의 속성값이 0x20 즉, $ATTRIBUTE_LIST 속성이 있는지를 확인하고(S18 단계 참조), 있으면 다시 $ATTRIBUTE_LIST 속성 중에 읽어온 MFT엔트리에 자식 MFT 정보가 있는지를 확인하여 상기 자식 MFT 정보에서 부모 MFT 번호를 읽어와서 MFT 번호를 생성하게 된다.(S19 단계 참조)
상기 S18 단계에서 $ATTRIBUTE_LIST 속성이 없으면 다시 상기 MFT 엔트리의 속성값이 0x90 즉, $INDEX_ROOT 속성이 있는지를 확인하고(S20 단계 참조), 있으면 다시 $INDEX_ROOT 속성 중에 읽어온 MFT 엔트리에 자식 MFT 정보가 있는지를 확인하여 상기 자식 MFT 정보에서 부모 MFT 번호를 읽어와서 MFT 번호를 생성하게 된다.(S21 단계 참조)
상기 S20 단계에서 $INDEX_ROOT 속성이 없으면 다시 상기 MFT 엔트리의 속성값이 0xA0 즉, $INDEX_ALLOCATION 속성이 있는지를 확인하고(S22 단계 참조), 있으면 $INDEX_ALLOCATION 속성의 인덱스 루트 클러스터(Index Root Cluster)를 읽어온다.(S23 단계 참조) 이때, 상기 읽어온 클러스터가 인덱스 루트가 맞는지를 확인하고(S24 단계 참조), 인덱스 루트의 인덱스 엔트리에서 자신의 MFT 번호를 읽어와서 저장하게 된다.(S25 단계 참조)
상기와 같은 과정에 의하여 하드디스크의 모든 섹터에 대하여 MFT 엔트리인지를 확인하여 MFT 엔트리만을 저장한 후에는, 상기 저장된 각각의 MFT 엔트리에 대하여 부모 MFT 번호가 0x05인지를 확인하고(S26 단계 참조), 상기 S26 단계의 확인결과가 부모 MFT 번호가 0x05이면 해당 MFT 엔트리를 루트집합에 추가시킨다.(S27 단계 참조) 또한, 상기 S26 단계의 확인결과가 부모 MFT 번호가 0x05가 아니면 또는 저장해 놓은 MFT 엔트리에서 MFT 번호가 없다면 해당 MFT 엔트리를 루트집합에 부모 MFT 번호로 추가시킨다.(S28 단계 참조)
결국, 상기와 같은 과정에 의하여 폴더의 트리 구조가 먼저 복구되며 파일의 복구가 진행되는 과정에서 원래 저장되어 있던 폴더에 직접 저장이 이루어지도록 함으로써 사용자가 원하는 파일을 용이하게 찾아낼 수 있게 된다.
한편, 사용자가 복구하고자 하는 파일이 있더라도 MFT 엔트리에서 해당 파일의 시작 클러스터, 파일 사이즈 등이 손상되어 있는 경우에는 상기의 과정에 의하여 복구가 이루어지지 않기 때문에 각 섹터에서 복구하고자 하는 파일을 찾아내고, 파일의 고유 특성을 이용하여 손상된 파일을 복구하게 된다.
즉, 파일의 시작 부분에는 헤더라고 불리는 특정 문자열을 포함하고 있는데, 도 3에는 파일의 종류에 따른 헤더 부분의 문자열과 확장자의 예가 도시되어 있다. 예를 들어 실행 파일은 "MZ" 또는 "PE"라는 문자열이 포함된다. 따라서, 모든 종류의 파일 헤더 부분을 데이터 베이스화 시킨 후 상기 각 섹터를 검색하는 과정에서 이를 이용하여 파일을 복구할 수 있다.
결국, 하드디스크의 데이터 영역의 각 섹터를 처음 섹터부터 마지막 섹터까지 순차적으로 읽은 다음, 읽어온 섹터의 시작 부분을 파일 형식의 데이터 베이스에서 비교 검색하여 같은 형식이 존재하면 데이터 베이스에 기록된 해당 확장자로 파일을 생성하게 된다.
이상의 본 발명은 상기에 기술된 실시예들에 의해 한정되지 않고, 당업자들에 의해 다양한 변형 및 변경을 가져올 수 있으며, 이는 첨부된 청구항에서 정의되는 본 발명의 취지와 범위에 포함된다.
이상에서 살펴본 바와 같이, 본 발명의 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법을 적용하면 하드디스크의 데이터 영역을 섹터(sector) 단위로 읽어와서 마스터 파일 테이블(MTF : master File Table)을 이용하여 복구되는 각 폴더의 연관관계를 확인하여 트리구조로 폴더를 수집하고 폴더 단위의 데이터 복구를 실행함으로써 복구를 원하는 파일의 정확한 복구가 이루어지게 되는 효과가 있다.
또한, 파일의 시작 클러스터, 파일 사이즈 등이 손상되어 있는 경우에도 파일의 고유특성을 이용하여 파일종류를 확인함으로써 파일의 정확한 복구가 이루어지게 되는 효과가 있다.

Claims (5)

  1. 컴퓨터 하드디스크(HDD)의 처음 섹터(sector)부터 마지막 섹터까지 순차적으로 읽어서 MFT 엔트리인지를 확인하고, MFT 엔트리를 임시적으로 가상의 배열에 저장하는 제1 과정;
    상기 제1 과정이 이루어진 후 MFT 엔트리의 OxE 오프셋(offset)의 값이 0x02 또는 0x03이면 MFT 엔트리가 폴더 정보인 것으로 결정하고, OxE 오프셋(offset)의 값이 0x02 또는 0x03이 아니면 MFT 엔트리가 파일 정보인 것으로 결정하는 제2 과정;
    상기 제2 과정이 이루어진 후 디스크 버퍼의 포인터를 속성(ATTRIBUTE) 시작 바이트로 이동하고, MFT 엔트리의 속성값이 0x20 또는 0x90 이면 그에 따라 자식 MFT 정보에서 부모 MFT 번호를 읽어와서 MFT 번호를 생성하는 제3 과정;
    상기 제3 과정이 이루어진 후 MFT 엔트리의 속성값이 0xA0 이면 인덱스 루트 클러스터(Index Root Cluster)를 읽어와서 인덱스 루트의 인덱스 엔트리에서 자신의 MFT 번호를 읽어와서 저장하는 제4 과정; 및
    상기 제4 과정이 이루어진 후 저장된 각각의 MFT 엔트리에 대하여 부모 MFT 번호가 0x05인지를 확인하고, 부모 MFT 번호가 0x05이면 해당 MFT 엔트리를 루트집합에 추가시키고, 부모 MFT 번호가 0x05가 아니면 또는 저장해 놓은 MFT 엔트리에서 MFT 번호가 없다면 해당 MFT 엔트리를 루트집합에 부모 MFT 번호로 추가시키는 제5 과정;을 포함하여 이루어지는 것을 특징으로 하는 윈도우즈 운영체계를 적용한컴퓨터에서의 데이터 복구방법.
  2. 제 1 항에 있어서,
    상기 제1 과정에서는 파일 사이즈 데이터를 이용하여 파일 사이즈의 마지막 위치에 "FFFFFFFF"가 기록되어 있으면 정상적인 MFT 엔트리 인 것으로 판단하는 단계가 포함되어 이루어지는 것을 특징으로 하는 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법.
  3. 제 1 항에 있어서,
    상기 제1 과정에서는 MFT 엔트리의 길이가 1024바이트 보다 작거나 같은지를 확인하여 1024 바이트 보다 작거나 같으면 정상적인 MFT 엔트리로 판단하고, MFT 엔트리의 길이가 1024 바이트 보다 크면 정상적인 MFT 엔트리가 아닌 것으로 판단하는 단계가 포함되어 이루어지는 것을 특징으로 하는 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법.
  4. 제 1 항에 있어서,
    상기 제1 과정에서는 MFT 엔트리에서 해당 파일의 시작 클러스터, 파일 사이즈 등이 손상되어 있는 경우에 파일의 헤더 부분의 문자열을 이용하여 파일의 종류를 판단하고 해당 확장자로 파일을 생성하는 단계가 포함되어 이루어지는 것을 특징으로 하는 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법.
  5. 제 1 항에 있어서,
    상기 제2 과정에서는 MFT 엔트리가 폴더 정보인 경우에 상기 0x30 속성의 부모 MFT 번호를 확인하여 0x05이면 루트 폴더로 결정하는 단계가 포함되어 이루어지는 것을 특징으로 하는 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법.
KR1020020015099A 2002-03-20 2002-03-20 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법 KR20030075738A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020015099A KR20030075738A (ko) 2002-03-20 2002-03-20 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020015099A KR20030075738A (ko) 2002-03-20 2002-03-20 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법

Publications (1)

Publication Number Publication Date
KR20030075738A true KR20030075738A (ko) 2003-09-26

Family

ID=32225526

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020015099A KR20030075738A (ko) 2002-03-20 2002-03-20 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법

Country Status (1)

Country Link
KR (1) KR20030075738A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688629B1 (ko) * 2015-11-17 2016-12-21 한국전자통신연구원 메타데이터 및 데이터 클러스터를 이용하는 파일 시스템 복구 방법 및 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
KR20010047092A (ko) * 1999-11-17 2001-06-15 이채홍 하드 디스크의 조각난 데이터 복원 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체
KR20010047091A (ko) * 1999-11-17 2001-06-15 이채홍 손상된 데이터를 갖는 손상된 디렉토리 정보로부터 데이터복원 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체
KR20030063620A (ko) * 2002-01-23 2003-07-31 주식회사 파이널데이터 손상된 데이터베이스 데이터 복구 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6173291B1 (en) * 1997-09-26 2001-01-09 Powerquest Corporation Method and apparatus for recovering data from damaged or corrupted file storage media
KR20010047092A (ko) * 1999-11-17 2001-06-15 이채홍 하드 디스크의 조각난 데이터 복원 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체
KR20010047091A (ko) * 1999-11-17 2001-06-15 이채홍 손상된 데이터를 갖는 손상된 디렉토리 정보로부터 데이터복원 방법 및 이를 저장한 컴퓨터가 판독 가능한 기록 매체
KR20030063620A (ko) * 2002-01-23 2003-07-31 주식회사 파이널데이터 손상된 데이터베이스 데이터 복구 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101688629B1 (ko) * 2015-11-17 2016-12-21 한국전자통신연구원 메타데이터 및 데이터 클러스터를 이용하는 파일 시스템 복구 방법 및 장치
US10884873B2 (en) 2015-11-17 2021-01-05 Electronics And Telecommunications Research Institute Method and apparatus for recovery of file system using metadata and data cluster

Similar Documents

Publication Publication Date Title
EP1739535B1 (en) File system storing transaction records in flash-like media
US6851073B1 (en) Extensible system recovery architecture
US8037032B2 (en) Managing backups using virtual machines
EP1744246B1 (en) File system having deferred verification of data integrity
CA2818472C (en) Optimized startup verification of file system integrity
US7934064B1 (en) System and method for consolidation of backups
US8117410B2 (en) Tracking block-level changes using snapshots
US6820214B1 (en) Automated system recovery via backup and restoration of system state
US8412752B2 (en) File system having transaction record coalescing
US6535998B1 (en) System recovery by restoring hardware state on non-identical systems
US8959125B2 (en) File system having inverted hierarchical structure
US20070043973A1 (en) Isolating and storing configuration data for disaster recovery for operating systems providing physical storage recovery
WO2001098905A1 (fr) Procédé de gestion des fichiers
JPH10124367A (ja) ファイルおよびディレクトリを変換する方法
US20040143609A1 (en) System and method for data extraction in a non-native environment
US20070043969A1 (en) Isolating and storing configuration data for disaster recovery for operating systems providing physical storage recovery
US20080270493A1 (en) System for automatically replicating a customer's personalized computer system image on a new computer system
KR20030075738A (ko) 윈도우즈 운영체계를 적용한 컴퓨터에서의 데이터 복구방법
JP2008123104A (ja) データアクセス装置
JP3178671B2 (ja) ファイルシステム及びそのファイル復旧方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application