Linux에서 재 파티셔닝하기 위해 SSD를 모든 파티션에서 정리하는 가장 빠른 방법은 무엇입니까? 정리하고 다시

SSD의 모든 파티션과 데이터를 깨끗하게 정리하고 다시 분할 할 수 있습니다 (보안 목적이 아님).

나는 살펴 보았지만 sudo dd if=/dev/zero of=/dev/sdb bs=1M이것이 각 파티션을 0으로 채우면 내가하고 싶은 일이 확실하지 않습니다.

이 명령을 자주 실행할 계획이며 SSD 쓰기를 소진하고 싶지 않습니다. 누구 든지이 문제를 해결하는 데 조언을 줄 수 있습니까?



답변

SSD에서 :을 사용하여 전체 디스크 또는 파티션을 트리밍 할 수 있습니다 blkdiscard. 매우 안전하지는 않지만 실제로 즉각적입니다 (디스크는 모든 셀을 사용하지 않는 것으로 표시합니다).

보안 : 전체 디스크 암호화를 사용하십시오. 암호화 된 경우 전체 디스크를 지우지 마십시오. 키가 포함 된 영역 (예 : 모든 암호화 된 파티션의 첫 1-2 MiB) 만 정리하면됩니다.

재 파티셔닝 : 모든 데이터를 지우지 않아도됩니다. 를 사용하여 파일 시스템을 삭제 wipefs한 다음 디스크의 첫 번째 1MiB를 문질러 남아있는 부트 로더를 제거하면됩니다. 를 사용하여 파티션을 포맷 mkfs하면 OS는 단순히 완전히 비어 있다고 가정합니다.

실제로 Linux에서는 mkfs.ext4가 포맷하기 전에 전체 파티션을 자동으로 트리밍합니다.


답변

Kamil Maciorowski가 언급 했듯이 전체 디스크 를 삭제하는 가장 적은 쓰기 작업으로 ATA ‘secure erase’명령을 사용하는 것이 가장 좋습니다 . 이렇게하면와 같은 도구를 사용하여 셀을 반복적으로 덮어 쓰지 않고 하드웨어가 단일 전체 지우기를 수행하도록 지시합니다 shred. 파티션을 선택적으로 지워야 하는 경우 전체 디스크에 대해서만 수행 할 수 있습니다. grawity ‘s answer ( blkdiscard)를 참조하십시오.

명령의 정확한 구현은 하드웨어에 따라 다릅니다.

  • 대부분의 SSD 는 대량의 전기 신호를 사용하여 전체 칩을 전혀 또는 전혀 방식으로 닦아냅니다. 이로 인해 (정상적인) 쓰기 마모가 발생하지만 가능한 최소 범위 (~ 단일 쓰기주기)까지 발생합니다.

  • 자체 암호화 SSD 는 일반적으로 컨트롤러 칩 내부의 암호화 키를 삭제합니다 (실제로 순간). 자체 암호화 드라이브 기본적으로 기본 공장 키를 사용하여 항상 암호화합니다. 따라서 키를 닦으면 사용자 키가 설정되지 않은 경우에도 플래시 칩에서 해독 할 수없는 혼란이 발생합니다.

  • Spinning-Rust 하드 디스크 는 모든 섹터에 대해 하드웨어 기반의 제로 쓰기를 수행 dd if=/dev/zero합니다.

프로세스는 https://www.thomas-krenn.com/en/wiki/SSD_Secure_Erase에 잘 설명되어 있습니다
(OS를 다시 설치할 때 자체 SSD 에서이 프로세스를 반복적으로 사용했습니다)

편집 : 보안 영향에 관심이 있다면이 Security.SE의 질문을 확인하십시오.


답변

디스크를 빠르게 지우는 방법에 대한 해결책을 요청했습니다. / dev / sdx를 디스크로 바꾸십시오.

파티션 테이블이 지워집니다.

dd if=/dev/zero of=/dev/sdx bs=1024 count=50

디스크 전체가 지워지는데 시간이 걸립니다.

cat /dev/zero > /dev/sdx


답변