Hyper-V에서 Virtual XP / Ubuntu의 하드 디스크는 휴지통 파일을 삭제하거나 비워도 크기가 줄어들지 않습니까?


0

XP, Ubuntu 등과 같은 가상 컴퓨터가 거의없는 Windows 8에서 Hyper-V를 실행하고 있습니다. 하드 드라이브를 주문형으로 설정하여 소규모로 시작하고 있습니다.

이제 가상 XP에서 파일을 거의 다운로드하지 않았습니다. 하드 디스크 사용 공간이 약 12GB라는 것을 알았습니다. 휴지통에서도 삭제 한 후 일부 파일을 삭제하기로 결정했습니다. 하드 드라이브는 약 6GB이지만 문제는 VHDX의 읽기 크기를 확인했을 때 여전히 약 12GB입니다!

하드 드라이브의 전원을 끄고 편집 / 압축하려고했지만 여전히 같은 크기입니다!

도움을 주시면 감사하겠습니다.

감사.


당신은 SystemRescueCD를 사용할 수 있습니다 대답은 다음과 같습니다 : serverfault.com/questions/551053/…
AmShegar

답변:


1

큰 파일을 삭제하면 (가상) 하드 디스크의 작은 부분 인 블록 할당 만 변경됩니다. 파일의 내용 데이터는 덮어 쓸 때까지 디스크에 남아 있습니다. 파일 시스템 수준에서 하이퍼 바이저 / 디스크 이미지가 작동하지 않습니다. 압축이 성공하려면 데이터를 0으로 덮어 써야합니다. Linux 및 파일이 완전히 가득 찼을 때 파일을 제거 할 수있는 파일 시스템 (btrf는 해당 상황에서 문제가 있음)을 사용하여 다음을 수행 할 수 있습니다.

dd if=/dev/zero of=/filldisk.zero bs=100M ; rm /filldisk.zero

나중에 wipe -z대신 VM에서 파일을 삭제할 수 있습니다 . 동일한 작업을 수행하는 Windows 도구가있을 수 있습니다.


0

Hyper-V는 다음 두 조건 중 하나에 해당 할 때마다 VHD (또는 VHDX)를 압축합니다.

1) VHD와 기본 파일 시스템을 마운트하고 파일 시스템 내에서 데이터를 사용하여 VHD의 어떤 블록이 더 이상 파일 시스템에서 사용되지 않는지 알아낼 수 있습니다.

2) 게스트의 OS는 ATA "trim"명령 또는 SCSI "unmap"명령을 사용하여 기본 디스크에 블록이 해제되고 블록 내의 데이터가 더 이상 중요하지 않음을 나타냅니다.

(1) Windows가 친숙하게 알고있는 파일 시스템이 아닌 한 파일 시스템이 작동하지 않으며, 언급하지는 않았지만 Ubuntu 설치에서 NTFS를 사용하지 않았다고 생각합니다. Windows XP VM의 경우 XP에서 먼저 조각 모음을 수행하여 (프로세스 중에 VHD가 더 커질 수 있음) VM을 끈 상태에서 압축하는 데 도움이되었을 수 있습니다.

(2) 최신 Windows 버전에서만 작동합니다. 트림 및 / 또는 매핑 해제를 지원하는 Ubuntu 버전 또는 패치를 찾을 수 있습니다.


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