파일 메타 데이터는 Windows에 어떻게 저장됩니까?


13

(Windows XP를 사용하고 있지만 모든 최신 버전의 Windows와 비슷하다고 생각합니다.)

예를 들어 텍스트 문서를 새로 만들면 속성에서 크기가 0 바이트임을 알 수 있습니다. 0 바이트는 정보가 없음을 의미 합니다 . 데이터가 없습니다.
그러나 여전히 파일 이름은 마지막 액세스, 수정 및 생성 날짜를 가질 수 있습니다. 그것은 숨겨진 파일인지 아닌지, 읽기 전용인지 아닌지에 대한 정보를 전달합니다 ...

그렇다면 모든 메타 데이터는 어디에 저장됩니까?


여기 마법이 없습니다. 이 답변을 여기에서 읽으십시오 : stackoverflow.com/questions/4954991/…
HighTechGeek

오래 전에 필자는 PC의 파일 몇 개를 손상시켜 약 100GB 크기의 바이러스처럼 보이는 일종의 바이러스를 사용 했었다는 것을 기억합니다. 그들 각각. 내 40GB 하드 디스크. 그래서 어떤 종류의 마술이 있었을 것입니다 ... :-D
Jeyekomon

답변:


11

하드 디스크에는 파일이 포함되어 있지만 이것이 사실은 아닙니다. 실제로 하드 드라이브에는 많은 단일 비트로 표현되는 매우 큰 숫자가 하나 포함되어 있습니다. 그러나이 해석은 큰 숫자 하나를 처리하는 것이 일반적이지 않기 때문에 (나도 정말 큰 숫자에 대해 이야기하고 있기 때문에) 당신이나 컴퓨터에는 의미가 없습니다. 대신 컴퓨터는 작은 단어 (8 비트, 16 비트, 32 비트 등)로 나누고 그와 같이 사용합니다. 그럼에도 불구하고, 그것은 단지 많은 단어입니다 (8 비트 단어, 즉 바이트를 가정하십시오).

이제 해당 드라이브가 분할되었습니다. 이 답변 에서 분할이 좋은 아이디어 인 이유를 설명했습니다 .

일반적으로 드라이브는 파티셔닝없이 사용할 수 있습니다. 대부분의 pendrive는 그런 식으로 작동합니다. 그러나 파티션을 사용하면 그중 일부를 명명하는 것만으로도 많은 장점이 있습니다.

  • 동일한 하드 드라이브에 두 개의 OS가 있고 서로 간섭하지 않도록 할 수 있습니다. 각 파티션은 파티션을 논리 드라이브로 취급하며 사용자가 지시하지 않는 한 다른 파티션을 망칠 수 없습니다.
  • 논리적으로 데이터를 분리 할 수 ​​있습니다. 어떤 이유로 하나의 파티션이 손상되면 다른 파티션은 그대로 유지됩니다.
  • 시스템이 더 조용하고 에너지 소비가 적으며 크기를 조정, 삭제, 이동할 수 있기 때문에 파티션을 사용하는 것이 여러 개의 작은 하드 드라이브를 사용하는 것보다 낫습니다.
  • 특별한 목적으로 하드 드라이브의 일부를 사용할 수 있습니다.

이제 모든 파티션에는 고유 한 파일 시스템이 있습니다. 최신 버전의 Windows는 NTFS를 사용 하지만 외부 미디어 또는 레거시 파티션에는 FAT , FAT32exFAT 가 지원됩니다. 매일 사용하는 Linux 설치는 일반적으로 ext 파일 시스템을 사용 하며 ext4 는 최신 파일 시스템 입니다.

파일 시스템은 파일이 디스크에 실제로 위치하는 방식을 정의합니다. 다음과 같이 생각할 수 있습니다. 장, 페이지 번호 또는 줄 바꿈이없는 10000 페이지의 책이 있다면 사용하기가 매우 어려울 것입니다. 물론 페이지 번호와 챕터 제목은 페이지에서 약간의 공간을 차지하지만 책을 훨씬 쉽고 빠르게 사용할 수 있습니다. 42 장으로 넘어가려면 목차에서 찾아보십시오. 그런 다음 원하는 장을 찾을 때까지 책을 훑어보십시오. 파일은 챕터이고 파일 시스템은 책입니다. 파일 경계, 파일 이름 등과 같은 파일 시스템 메타 데이터도 공간을 차지하지만 비교적 적은 양의 공간이므로 작업 속도가 훨씬 빨라집니다.

"장"이 비어 있다면 여전히 제목이나 페이지 번호를 가질 수 있습니까? 빈 파일에는 0 바이트의 데이터가 포함됩니다. 메타 데이터는 공간을 차지하지만 파일의 일부가 아니라 파일 시스템의 일부입니다. 그렇지 않으면 텍스트 파일 안에 파일 이름이 표시됩니까?

그건 그렇고, 초기 버전의 DOS는 8.3 이름 만 허용합니다-파일 이름을 위해 예약 된 공간이 매우 제한되었습니다. NTFS는 255 자 길이의 파일 이름을 허용합니다 [1] .


귀하의 의견에 한 마디 만 더하십시오.

예전에 PC의 파일 몇 개를 손상시켜 약 100GB 크기의 바이러스로 보이는 일종의 바이러스를 사용했습니다. 그들 각각. 내 40GB 하드 디스크. 그래서 어떤 종류의 마술이 있었을 것입니다 ... :-D

sparse files 라는 기능 덕분에 하드 드라이브보다 더 큰 유효한 파일 을 가질 수 있습니다 . Hennes는 이 질문에 대한 그의 의견에서 이것에 대한 훌륭한 설명을했습니다 .

100 페이지를 담을 수있는 바인더를 상상해보십시오. 해당 바인더를 일반 파일로 사용하면 100 페이지를 삽입 할 수 있습니다. 100 개를 모두 읽을 수 있습니다. 100 개를 모두 쓸 수 있습니다. 이제 스파 스 바인더를 상상해보십시오. "1 페이지 : 내용 A"라고 쓴 첫 페이지를 삽입합니다. 그런 다음 "9999 페이지 : content b :"라고 쓴 두 번째 페이지를 삽입하십시오. 페이지를 읽으려고 할 때마다 페이지가 있는지 확인합니다. 그렇지 않은 경우 귀하의 답변은 빈 페이지입니다. 존재하는 경우 페이지의 내용을 반환합니다. 바인더에 아직없는 페이지에 쓸 때마다 새 용지를 추가합니다.


그렇지 않으면 텍스트 파일 안에 파일 이름이 표시됩니까? 그림이나 PDF 파일과 같은 다양한 파일 형식에는 많은 메타 데이터가 포함될 수 있습니다. 간단한 UTF-8로 인코딩 된 텍스트 파일조차도 대부분의 텍스트 편집기에 의해 숨겨지는 시퀀스 EFBBBF를 포함하므로 파일 메타 데이터가 파일의 숨겨진 다른 부분 일뿐이라고 예상했습니다. 어쨌든, 당신은 멋진 선생님이 될 것입니다! 여기에 주어진 모든 답변은 어떤 식 으로든 실제로 도움이되었지만 도움이 될 것입니다.
Jeyekomon

이것은 질문에 대답하지 않습니까? 그렇다면 모든 메타 데이터는 어디에 저장됩니까?
Koray Tugay

@KorayTugay 실제 질문은 "파일 메타 데이터가 Windows에 저장되어 공간을 차지하지 않도록하는 방법 "이었습니다. 내 의견으로는 수퍼 유저 게시물에 제공 할 수있는 가장 좋은 대답은 파일이 아닌 파일 시스템에 저장되어 있기 때문에 파일 크기에 포함되지 않는 이유입니다. 그들은 책에 있지만 텍스트의 일부는 아닙니다.
gronostaj

7

오늘 Windows ADS (Alternate Data Streams)에 대해 배웠습니다. 파일에 첨부 된 숨겨진 리소스 포크입니다. Windows NT 3.1 이후 NTFS의 일부였습니다.

예를 들어, 빈 텍스트 파일이 있지만 파일의 속성 태그에 일부 요약 정보를 채우면 숨겨진 ADS 파일이 작성되어 텍스트 파일에 첨부됩니다. 대부분의 Windows 버전은 원본 파일의 크기를보고 할 때 ADS 파일의 크기를 포함하지 않습니다.

명령 프롬프트에서 ADS 파일을 작성하고 볼 수 있습니다.

echo "ABCDE" > test.txt:hidden.txt

hidden.txt라는 ADS 파일로 test.txt 파일을 만듭니다.

이 명령을 사용하여 파일을 편집 할 수 있습니다.

notepad test.txt:hidden.txt

여기 더 세부로가는 기사를 읽기 쉬운을.


정말 흥미로운 일입니다! 나도 들어 본 적이 없어요. 감사합니다.
Jeyekomon

@Jeyekomon 그것은 'type'이 그것을 지원하지 않는 것 같습니다, pastebin.com/raw/4Ae3GGkN 그러나 echo 및 notepad do (win7에서 테스트 됨)를
보았습니다

2

검색을 수행 한 결과 Stack Overflow와 비슷한 질문이 나왔습니다.

기본적으로 파일이 생성되어 몇 바이트 또는 하드 드라이브 클러스터 등을 차지한다고 말합니다. 하드 드라이브 및 파일 시스템의 세분성 등에 따라 다릅니다.

그들은 여기에서 토론합니다 : https : //.com/questions/4954991/are-0-bytes-files-really-0-bytes

추가 연구를위한 추가 링크가 있습니다.


2

NTFS 볼륨에서이 정보는 메타 파일에 저장됩니다. 특히 파일 이름과 타임 스탬프는 $ MFT라는 메타 파일에 저장됩니다. 탐색기 나 명령 프롬프트와 같은 일반적인 Windows 방법으로 메타 파일에 액세스 할 수 없습니다.

더 많은 것을 읽으려면 :

http://ntfs.com/ntfs-system-files.htm

http://en.wikipedia.org/wiki/NTFS


감사합니다. 그래서 대답은 내 HDD의 파일 시스템에 대한 더 깊은 이해에 있습니다 ... 그리고 호기심에서 "비정상적인"Windows 방법을 알고 있습니까? 이러한 메타 파일에 액세스하는 데 실제로 유용한 것입니까? 구글에 대한 몇 가지 키워드로 충분합니다 ...
Jeyekomon

1
@Jeyekomon 섹터 편집기를 사용해야합니다. 여기에 예가 있습니다 : blogs.technet.com/b/askcore/archive/2013/03/01/…
David Marshall
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.