파티션을 삭제하면 왜 데이터가 손실됩니까? 삭제했으며 주어진 파티셔닝은 본질적으로 공간이

실수로 파티션을 삭제했으며 주어진 파티셔닝은 본질적으로 공간이 분할 되는 방식이므로 실수를 복구하기가 너무 어렵지 않을 것이라고 생각했습니다. 나는 틀렸다 . 파티션을 삭제하면 왜 데이터를 액세스 할 수 있습니까? 디스크에 액세스하려고하면 디스크에 액세스하기 전에 포맷해야한다고 말합니다. 형식이 변경되지 않았기 때문에 혼란 스럽습니다.



답변

파티션을 삭제하면 왜 데이터가 손실됩니까?

그렇지 않습니다.

글쎄, 때로는 그렇지 않습니다.
때때로 그렇습니다.
사용하는 소프트웨어에 따라 다릅니다.

이론적으로 파티션을 삭제하면 데이터가 손실 될 이유가 없습니다. 결국, 파티션은 기본적으로 파티션의 경계를 지정하는 특정 지점 ( “파티션 테이블”이라고 함)에 위치한 일련의 숫자입니다. 이론적으로이 숫자를 0으로 변경해도 파티션 경계 안에있는 다른 섹터는 변경되지 않습니다. 따라서 이론적으로 파일 시스템 볼륨은 그대로 유지되어야합니다.

그러나 그 이론에는 주목할만한 예외가 있습니다.

어떤 이유로 든 (적어도 일부 버전의) MS-DOS FORMAT.COM은 새 파일 시스템 볼륨의 첫 번째 섹터에 FORMAT이 실행되기 전에 비트가 0으로 비워 질 것으로 예상했습니다. 해당 비트를 0으로 지우는 것은 FORMAT.COM이 수행하는 합리적인 작업이지만 FORMAT.COM은이 작업이 완료 될 것으로 예상합니다.

이 이상한 기대를 수용하기 위해 MS-DOS FDISK.EXE (파티션 소프트웨어)는 첫 번째 섹터를 지 웁니다.

가장 현명한 도구는 FORMAT입니다. Linux 매뉴얼 페이지 @ die.net : fdisk 는“이 형식은 DOS FORMAT 및 DOS FDISK의 버그로 간주합니다.”그러나 두 소프트웨어가 모두 동일한 운영 체제와 함께 제공 되므로이 배열은 제대로 작동하는 경향이있었습니다. MS-DOS 설명서의 지침을 따르기 만하면 이러한 상황을 알지 못합니다.

그러나 이러한 배치가 부적절 해 보일 수 있지만 일부 다른 운영 체제는 일반적으로 MS-DOS와 호환되기 위해 동일한 작업을 지원합니다. 이는 MS-DOS가 Windows 95 및 그 이후 버전의 Microsoft Windows 이전에 널리 사용 되었기 때문에 다른 운영 체제가 MS-DOS와 호환되기 때문입니다.

실수하지 마십시오 : 일부 소프트웨어 (예 : OpenBSD의 fdisk)를 사용하여 파티션 (최소 MBR 기반 파티션의 경우 파티션 유형 식별자를 0으로 설정하는 것으로 정의 됨)을 “삭제”할 수 있습니다. 분할. 설정 (경계, 유형 식별자)을 기록한 경우 해당 값을 다시 쓸 수 있으며 파티션의 모든 데이터는 그대로 유지됩니다.

따라서 파티션 시작시 데이터가 잘 릴지 여부는 사용하는 소프트웨어에 따라 다릅니다. (또는 일부 소프트웨어의 경우 어떤 설정 / 옵션을 선택하겠습니까?)


답변

파티션을 삭제하면 운영 체제에 파티션의 디스크 위치와 차지하는 디스크 양을 알려주는 마커 정보가 제거됩니다.

이 정보가 없으면 운영 체제는 유효한 파일 시스템 데이터를 어디에서 찾아야하는지 전혀 모릅니다. 디스크의 파티션 및 포맷의 일부는 운영 체제에게 모든 파일 시스템 메타 데이터를 읽을 수있는 위치를 알려주는 헤더를 설정합니다.

파티션을 삭제하고 다시 생성하면 파티션 헤더에 파일 시스템 특정 데이터가 설정되지 않습니다. 디스크를 사용하려면 먼저 포맷해야합니다.

파티션을 삭제 한 경우 TestDisk 를 사용하여 파티션 을 복구 할 수 있지만 파티션을 수동으로 다시 만든 경우 데이터를 덮어 쓰면 복구하려고 시도했을 것입니다.