실수로 기본 디스크(SSD)에서 Windows 관련 파티션 2~3개를 삭제했습니다(Mint와 Win 10을 이중 부팅했습니다). 나는 내가 잘못된 드라이브에서 작업하고 있다는 것을 깨달았을 때(내장 하드 드라이브에서 파티션을 삭제하려고 했음) 즉시 하던 일을 중단했습니다.
시스템이 실행 중인 동안 실수로 삭제된 파티션을 어떻게 복구할 수 있습니까?
답변1
파티션을 삭제하고 이전에 파티션이 차지했던 공간에 아무 것도 쓰지 않은 경우 파티션을 다시 만들 수 있습니다. 파티션을 다시 생성하기만 하고 해당 파티션에 파일 시스템을 생성하거나 포맷하지 않도록 주의하십시오. 파티션 테이블을 다시 작성하면 됩니다.
시스템을 다시 시작해도 이 작업을 수행할 수 있지만 필요한 정보를 찾는 것이 더 어려울 수 있습니다.
파티션을 다시 생성하려면 다음 사항을 알아야 합니다.
- 시작 위치. 이것은 절대적으로 필요합니다. 문제가 발생하면 어떤 데이터에도 액세스할 수 없습니다.
- 그것의 치수. 너무 크면 공간낭비가 됩니다. 너무 작으면 주의하세요. 정상적으로 작동하는 것처럼 보이지만 심각한 데이터 손실로 이어질 수 있습니다.
- 아마도 그 유형일 것입니다. Linux는 일반적으로 파티션 유형에 관심이 없지만 Windows는 관심이 있습니다. 다행히 운영 체제와 파티션의 목적(예: 파일 시스템, 스왑, 암호화된 볼륨...)을 알고 있으면 파티션 유형을 결정할 수 있습니다.
- 아마도 그 번호일 겁니다. 파티션 번호는 Linux에서는 번호를 결정
/dev/sdz99
하고 Windows에서는 드라이버 문자를 결정합니다.
오프셋 및 크기의 반올림과 1,000,000바이트(1MB, 10진수) 대 2 20 =1,048,576바이트(1MiB, 2진수)와 같이 10진수와 2진수 단위 접두어 간의 차이를 확인하세요. fdisk
모든 크기와 오프셋은 512바이트의 배수이고 더 큰 단위는 반올림의 위험이 있으므로 512바이트 섹터 크기를 사용하고 지정하는 것이 좋습니다 .
Linux에서는 .txt 파일에서 커널에 알려진 파티션의 위치를 찾을 수 있습니다 /sys/block
. 커널이 여전히 일부 오래된 파티션을 사용하고 있다면 파티션 테이블을 수정한 후에 다시 읽을 수 없으므로 이는 여전히 오래된 정보가 됩니다. 단위는 512바이트 블록입니다. 예를 들어:
$ cat /sys/block/sda/sda2/start
14680064
$ cat /sys/block/sda/sda2/size
2097152
이는 파티션 번호 2가 오프셋 14680064*512바이트(7GiB)에서 시작하고 크기가 2097152*512바이트(1GiB)임을 보여줍니다.
파티션이 시작되는 위치를 알 수 없는 경우 도구를 사용하여 파티션을 검색할 수 있습니다.테스트 디스크이 기능이 포함되어 있습니다. Mint(Debian 패키지가 있음)에 설치하거나 liveCD/liveUSB에서 실행할 수 있습니다. 실시간 실행은 삭제된 파일을 복구할 때 매우 필요한 작업이지만, 파티션 테이블에서 파티션만 삭제한 경우에는 시스템을 정상적으로 계속 사용할 수 있습니다. 하나의 매개변수 testdisk
, 복구하려는 파티션이 있는 디스크를 사용하여 실행한 다음 분석 메뉴를 사용하십시오.
제안된 파티션이 합리적으로 보이는지 확인하십시오. 이 도구는 특히 오늘 이전에 삭제한 이전 파티션의 위치에 국한되지 않고 오탐지를 찾을 수 있습니다.
파티션을 복구했다고 생각되면 몇 가지 상태 점검을 수행하십시오.
file -s /dev/sdz99
/dev/sdz99
어떤 유형의 파일 시스템이나 기타 볼륨을 기대하는지 알려줄 것입니다 .tune2fs -l
ext2/ext3/ext4 파일 시스템에서 실행되어ntfsinfo
NTFS 파일 시스템 등을 감지합니다.fsck -n
파일 시스템에서 실행합니다. 파티션이 파일 시스템보다 먼저 끝나면 큰 소리로 불평해야 합니다(그러나 이것이 모든 파일 시스템 유형에 해당되는지는 확실하지 않습니다).