sdelete -c와 -z의 차이점은 무엇입니까?


24

이 기사 에서 sdelete 를 VDI 파일을 축소하는 단계로 사용 하는 방법을 배웠습니다 .

sdelete -c c:

그러나 -c(도움말 텍스트에 설명 된 '클린 여유 공간')은 무엇을 의미합니까? 여유 공간을 0으로 쓰지 않습니까? 그리고 -z(제로 여유 공간)은 어떻습니까? sdelete -c와 -z의 차이점은 무엇입니까?

편집하다

이전에 언급 한 기사 의 단계를 시도했지만 .vid파일 크기를 줄이는 데 실패했습니다 . 그런 다음 이 수퍼 유저 post를 따라 가고 옵션 -c을으로 변경 -z하고 성공했습니다.

따라서 -z여유 공간을 확보하기 위해 0을 -c쓰고 다른 것을 씁니다 (임의의 비트 가능).

답변:


21

나는 이것이 일반적인 실수라고 생각합니다. 이전 버전에서는 -z 옵션을 사용하지 못할 수 있습니다. 1.61 삭제

-z         Zero free space (good for virtual disk optimization)

이렇게하면 먼저 하드 디스크를 전체 크기로 확장합니다. VMWare의 축소 프로세스에서만 다시 작아집니다.

내 컴퓨터에서 빠른 테스트 :

-z took 1:01 minutes
-c took 2:11 minutes

-z는 단순한 0 만 쓰는 반면, -c는 SDelete 웹 사이트 에 작성된 DoD 5220.22-M을 지우는 군사 표준 입니다.


소프트웨어가 다소 지능적인 경우 파일을 팽창시키지 않습니다. 대부분의 가상화 응용 프로그램이 있습니다. 방금 VMware Fusion에서 시도했지만 파일 크기가 전혀 증가하지 않았습니다.
Daniel B

1
VMWare Workstation Pro 12는 불행히도 디스크를 전체 크기로 확장합니다.
Lebenita

-c와 -z는 1.51에서 정확히 다른 방법으로 광고되었습니다 (설명에 오류가 있거나 기능을 뒤집 었는지 여부는 알 수 없습니다). 1.61 방식은 훨씬 더 의미가 있습니다.
Lebenita

Windows 2012 및 새로운 20GB VHDX 파일을 확인했습니다. -z 옵션은 매우 빠르며 (초) VHDX 디스크 파일의 크기가 증가하지 않았습니다. -c 옵션이 훨씬 느리게 실행되고 VHDX의 크기가 증가합니다. 따라서 -z는 커밋 된 디스크 공간을 초과하는 경우 소위 씬 / 확장 가상 하드 디스크에 선호되는 옵션입니다. 그러나 그것은 -c 옵션만큼 안전하지 않습니다
munrobasher

1
최신 버전 (2.0)을 확인했는데 두 가지 분명한 차이점이 있습니다. 먼저 32 비트 및 64 비트 버전 (sdelete.exe 및 sdelete64.exe)이 있습니다. 그러나 걱정하는 -c 명령에는 미묘한 차이가 있습니다. v1.61에서 -c 옵션은 "여유 공간 청소"라고 말했지만 v2.0에서는 "제로 여유 공간"이라고 표시했습니다. -z 옵션은 제로화라고도합니다. 무작위 데이터 옵션을 잃어 버렸습니까?
munrobasher

5

이것은 Thomas의 답변에 대한 주석으로보다 적절하게 게시되어야하지만 아직 그렇게 할 수 없으므로 여기에 게시하십시오.

"-z"및 "-c"옵션을 혼합하면 "일반적인 실수"일 것입니다. SDelete는 수년에 걸쳐 해당 옵션의 동작을 변경했기 때문입니다. 아래 제공된 참조를 보면 SDelete에 먼저 "군 표준 삭제"를 수행 한 "-z"옵션이 있고 여유 공간을 0으로 만들기위한 "-c"옵션을 추가 한 다음 v1.51과 v1 사이에있는 것으로 보입니다. 61은이 동작을 현재 동작으로 전환했습니다.

참고 자료 : sysinternals.com 포럼 및 archive.org를 통해 Microsoft TechNet의 이전 SDelete 홈페이지


이것은 원래 질문에 대한 답변 이 아닙니다 . 작성자의 의견을 비판하거나 설명을 요청하려면 게시물 아래에 댓글을 남겨주세요. 언제든지 자신의 게시물 에 댓글 수 있으며 평판 이 충분 하면 게시물댓글 수 있습니다 .
DavidPostill

4
이것은 원래 질문에 대한 답변 이 아닙니다 . 그래도 게시물의 첫 줄을 다시 읽어보십시오. 서비스에 가입 한 누군가를 위해 이미 존재하는 답변에 유용하고 적절한 정보를 추가하는 더 좋은 절차가 있다면, 저에게 계몽을 주시기 바랍니다.
LN2

"방금 서비스에 가입 한 누군가를 위해 기존의 답변에 유용하고 적절한 정보를 추가하는 더 좋은 절차가 있다면, 저에게 계몽을 주시기 바랍니다."
DavidPostill

사용하는 스위치에 관계없이 1.61에서는 항상 "제로 여유 공간"이라고 표시되고 (1.51에서는 항상 "여유 공간 정리"라고 표시) 흥미 롭습니다. "-c"가 실제로 "제로"동작이 아니라 "깨끗한"행동이라고 불신하게 만들었습니다.
rkagerer

5

현재 문서 및 프로그램 버전 2.01 :

  • -c: 여유 공간을 청소하십시오. 실행중인 시스템에서 사용하기 위해 여유 공간을 둘 옵션 공간을 지정하십시오.
  • -z: 여유 공간이 없습니다 (가상 디스크 최적화에 적합).

그러나 이전 버전에서는 다음과 같이 바뀌 었습니다.

  • -c: 여유 공간이 없습니다 (가상 디스크 최적화에 적합).
  • -z: 여유 공간을 청소하십시오.

여기에 이미지 설명을 입력하십시오

그러나 그들은 무엇을합니까?

Clean 은 가능한 가장 큰 파일을 만들어 임의의 데이터로 채우고 0으로 채 웁니다. 이것은 대부분의 사람들이 닦는 것으로 생각하는 것이며 과잉입니다.

단점은 가상 디스크를 사용하거나 가상 머신 내부에서 또는 스토리지 공간에서 실행하는 경우 기본 스토리지 시스템이 임의의 데이터를 보유 할 자원을 할당 한 다음 0을 유지한다는 것입니다. 그러면 기본 스토리지 시스템은 드라이브에 할당 된 모든 공간을 회수 할 수 있다는 것을 알게 될 것입니다. 모든 섹터에는 단순히 0이 포함되어 있기 때문입니다.

-z Zero : 모든 섹터에 단순히 0을 씁니다. 여러 가지 이유로 원하는 옵션입니다.

  • 임의의 데이터로 닦아내는 것은 과잉입니다 (데이터를 읽는 것은 실제로 불가능하지 않습니다. 즉, 현미경으로는 불가능하지만 한 번에 1 비트)
  • 일부 SSD는 섹터에 0 을 쓰고 있음을 감지하고이를 사용하여 섹터를 사용 가능한 것으로 표시 할 수 있습니다 (TRIM과 유사).
  • 대부분의 가상 스토리지 시스템 (VMWare, Hyper-V, Windows 가상 디스크, 스토리지 공간)은 전체 섹터 0을 작성하고 기본 스토리지 파일에서 공간을 회수 할 기회를 얻습니다.
  • SSD는 궁극적 인 목표가 본질적으로 영광스러운 TRIM이라는 것을 알지 못하며 (가상 디스크와 같이) 이미 0이 포함 된 섹터를 0이 아닌 섹터로 채워야 만 다시 0으로 채울 수 있습니다. SSD에는 끔찍합니다.

출처 : 가상 하드 디스크를 마운트하고 sdelete가 두 모드에서 수행 한 I / O 작업을 관찰했습니다.

tl; dr : -z Zero를 사용하십시오. 더 빠르고 안전하며 안전합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.