VirtualBox를 사용하면 가상 머신에서 Linux를 실행할 수 있으며, 파일을 지운 후에도 가상 디스크의 크기가 계속해서 커지는 경우가 많습니다. 이러한 볼륨을 다시 크기로 축소하고 압축하여 디스크 공간을 절약하는 방법을 보여 드리겠습니다.
Windows 게스트와 함께 VirtualBox를 사용해 본 적이 있다면(가상 머신 용어로 "게스트"는 가상 머신 내에서 실행되는 운영 체제를 의미함) VirtualBox 디스크 볼륨은 파일을 삭제하면 축소되므로 파일을 포함하는 데 필요한 만큼만 실제 디스크 공간을 사용합니다.
이는 VirtualBox의 동적 할당 기능의 의도된 목적이지만 Linux 게스트에서는 작동하지 않습니다. Linux 게스트를 사용할 때 많은 사용자는 디스크가 전체 크기까지 커지고 파일이 삭제될 때 디스크가 다시 줄어들지 않는다는 것을 알게 됩니다.
이는 Linux가 파일 시스템을 관리하는 방식과 VirtualBox 호스트와 상호 작용하는 방식 때문입니다. Linux는 성능상의 이유로 파일을 삭제할 때 파일을 "제로 아웃"(빈 데이터로 덮어쓰기)하지 않으므로 VirtualBox는 가상 디스크의 어떤 데이터가 활성 데이터이고 어떤 데이터가 삭제되었는지 알 수 없습니다.
해당 데이터를 직접 0으로 설정하고 VirtualBox에 볼륨을 압축하여 실제 크기로 다시 줄이면 이 문제를 해결할 수 있습니다. 그 방법은 다음과 같습니다.
Linux 게스트의 가상 디스크에서 디스크 공간을 회수하기 위해 가장 먼저 해야 할 일은 동적 할당이 활성화되어 있는지 확인하는 것입니다. 그렇지 않은 경우 디스크를 동적으로 할당된 디스크로 변환해야 합니다.
다음으로 가상 디스크를 백업하세요. 문제가 발생하면(명령을 잘못 입력하거나 프로세스 도중에 전원이 꺼지는 등) Linux 게스트의 모든 데이터가 손실될 위험이 있습니다.
그런 다음 Linux 게스트의 터미널에서 다음 명령을 실행합니다.
sudo dd if=/dev/zero of=/var/deleteme
이 명령은 디스크가 완전히 가득 찰 때까지 0으로 된(비어 있는) 데이터를 /var/deleteme 파일에 씁니다. 이렇게 하면 이전에 삭제된 모든 파일을 덮어쓰게 되어 Linux가 삭제된 데이터를 자동으로 덮어쓰지 않는 문제를 해결합니다.
dd 명령을 사용하면 경고 없이 데이터를 덮어쓰게 되므로 주의하세요! 명령과 경로를 실행하기 전에 주의 깊게 확인하십시오.
이 과정은 볼륨의 크기에 따라 다소 시간이 걸릴 수 있으므로 인내심을 갖고 중단하지 마세요. 완료되면 프로세스가 종료됩니다(공간이 부족하다는 오류가 표시될 수 있음). 이 문제가 발생하면 비워진 파일을 삭제하고 Linux 게스트를 종료할 수 있습니다.
sudo rm -rf /var/deleteme <p> sudo shutdown now -h</p>
이제 가상 디스크에서 사용하지 않는 공간이 0이 되고 VirtualBox는 축소하여 호스트의 공간을 회수할 수 있습니다. 그것. 마지막 단계는 vboxmanage 명령을 사용하여 가상 디스크 이미지를 압축하는 것입니다. 다음을 실행하여 이를 수행하십시오:
<code class="hljs ">vboxmanage modifymedium disk /path/to/image.vdi -compact</code>
/path/to/image.vdi를 압축하려는 가상 디스크의 경로로 변경해야 합니다. Windows를 사용하는 경우 다음과 같이 VBoxManage.exe를 사용해야 합니다.
VBoxManage.exe modifymedium disk /path/to/image.vdi -compact
Windows 시스템의 명령줄에서 VBoxManage.exe를 사용할 수 없는 경우 활성화 방법에 대한 지침을 읽어보세요.
VirtualBox Linux 게스트를 압축하는 이 방법은 VirtualBox에서 빈 공간을 식별할 수 있도록 dd 명령을 사용하여 빈 파일을 디스크에 쓰는 것입니다.
dd(데이터 복사기) 명령은 파일을 변환하고 복사하며, 데이터를 쓰는 데에도 사용할 수 있습니다. 전달된 "if" 옵션은 입력 파일을 제공합니다(이 경우 /dev/zero는 값이 0인 데이터 또는 널 데이터의 상수 스트림을 제공합니다). "of" 옵션은 출력 파일을 지정하고 이 0 데이터 스트림이 출력 파일에 기록됩니다. /dev/zero는 널 데이터 제공을 멈추지 않으므로 디스크가 가득 찰 때까지 계속됩니다.
기본적으로 VBoxManage.exe는 Windows 명령줄에서 사용할 수 없습니다. VirtualBox 설치 디렉터리를 포함하도록 Windows 시스템 경로를 업데이트하거나 이를 사용할 때 실행 파일의 전체 경로를 호출하여 이를 추가할 수 있습니다.
& "C:/Path/To/VBoxManage.exe" modifymedium disk /path/to/image.vdi -compact
인용된 명령을 실행하는 호출 연산자라고 하는 "&" 기호 . 이렇게 하면 실행 파일 경로에 공백을 사용할 수 있습니다.
게스트가 증가함에 따라 가상 디스크의 크기를 늘릴 수도 있고 줄일 수도 있습니다. 스냅샷을 사용하면 특정 시점의 가상 머신 상태를 확인하고 저장할 수 있습니다. 나중에 그 정확한 순간의 상태로 돌아가고 싶은 경우(예: 구성 변경을 테스트한 후) 간단히 롤백하면 모든 것이 이전 상태로 유지됩니다.
VirtualBox는 전문적으로 개발자가 소프트웨어를 구축 및 테스트하는 데 사용하고, 일반 사용자가 최신 컴퓨터에서 오래된 소프트웨어와 게임을 실행하거나 두 번째 컴퓨터를 구입하지 않고도 다른 운영 체제를 실행하는 데 사용되는 강력한 가상화 도구입니다. MacOS, Windows 및 Linux 호스트에서 Windows, Linux, ChromeOS, Android 및 기타 운영 체제를 실행할 수 있습니다.
변경사항이 저장되었습니다
이메일이 전송되었습니다
이메일이 이미 전송되었습니다
이메일 주소를 확인하세요.
확인 이메일 보내기팔로우 주제에 대한 계정 최대 한도에 도달했습니다.
위 내용은 디스크 공간이 부족합니까? Linux VirtualBox VM에서 회수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!