Можно ли сжать разреженный образ диска гостевой ОС Mac OS X в VMWare Fusion?

Можно ли сжать разреженный образ диска гостевой ОС Mac OS X в VMWare Fusion?

Я использую VMWare Fusion на своем Mac для запуска виртуальной машины Windows 7, а также виртуальные машины Windows XP, совместимые с Microsoft IE.

В VMWare Tools для гостевых ОС Windows есть опция «Сжать», которая позволяет уменьшить размер разреженного образа диска, используемого гостевой ОС, чтобы сэкономить место на жестком диске хостовой ОС.

Недавно я создал еще одну виртуальную машину, на этот раз на Snow Leopard Server. Мне было интересно, смогу ли я сжать образ запасного диска, используемый этой машиной, но я не могу найти приложение VMWare Tools в гостевой ОС Mac, хотя VMWare Tools были установлены (так как функция VMWare Shared Folders работает).

Есть ли способ сжать разреженный образ диска, используемый гостевыми ОС Mac OS X в VMWare Fusion?

решение1

В VMware Fusion начиная с версии 4 можно перейти в раздел Настройки виртуальной машины -> Общие -> Очистить виртуальную машину.

Кроме того, имеется таблица, где вы можете увидеть, какой размер ожидается после усадки.

решение2

Ага — действительно, можно, согласноэта тема на форумах VMWare по этой проблеме, предполагая:

  1. Файл представляет собой разреженный образ диска, не выделенный заранее.
  2. У виртуальной машины нет моментальных снимков.

Суммируя:

Очистить свободное место на диске гостевой ОСиз гостевой ОСс помощью Disk Utility, затем сожмите диск гостевой ОСиз хостовой ОСиспользование vmware-vdiskmanagerв командной строке.

В длинном варианте:

В гостевой ОС:

  1. Откройте Дисковую утилиту.
  2. Выберите раздел гостевой ОС.
  3. Перейдите на вкладку «Стереть».
  4. Нажмите кнопку «Очистить свободное место».
  5. Убедитесь, что выбран пункт «Обнулить удаленные файлы», и очистите свободное пространство.
  6. После завершения закройте Дисковую утилиту и выключите гостевую ОС.

Или в терминале гостевой ОС, когда раздел называется «Macintosh HD»:

diskutil secureErase freespace 0 Macintosh\ HD
sudo halt

В хостовой ОС:

  1. Откройте Терминал и введите:

    [ -d "/Library/Application Support/VMware\ Fusion" ] && alias vmware-vdiskmanager="/Library/Application Support/VMware Fusion/vmware-vdiskmanager" || alias vmware-vdiskmanager="/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager"; vmware-diskmanager -k

  2. Введите «пробел», а затем путь к файлу виртуального диска вашей виртуальной машины.

  3. Нажмите «Ввод».

Файл виртуального диска гостевой ОС находится в файле ее виртуальной машины. Например, если файл вашей виртуальной машины находится в /Users/you/VM, путь к ее виртуальному диску будет /Users/you/VM.vmwarevm/VM.vmdk.

Кстати, это уменьшило размер моей виртуальной машины Snow Leopard с 15 ГБ до 6 ГБ.

решение3

Они добавили очень простую опцию CLI — сделать это можно прямо из гостевой ОС:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

От мудальцова наФорумы сообщества VMware:

Немного более простой метод — функция сжатия встроена в утилиту командной строки VMware Tools:

sudo /Library/Application\ Support/VMware\ Tools/vmware-tools-cli disk shrink /

Это сначала очистит пустое пространство в файловой системе (так же, как и создание файла, заполненного нулями) и покажет прогресс в гостевом терминале. Когда это будет сделано, сжатие VMDK будет вызвано без выключения виртуальной машины и отобразится в виде полосы прогресса над окном виртуальной машины.

/ — это путь к файловой системе, на которой нужно стереть пустое пространство. Если у вас несколько разделов, вы можете стереть их по отдельности и сделать окончательное сжатие в конце:

  • vmware-tools-cli disk listчтобы увидеть доступные места для стирания
  • vmware-tools-cli disk wipe <location>стереть каждое местоположение (повторить несколько раз), без операции сжатия
  • vmware-tools-cli disk shrinkonlyдля выполнения окончательной операции усадки.

Это также объясняется на справочном диске vmware-tools-cli

решение4

  1. Откройте терминал и запустите

     sudo diskutil secureErase freespace 0 Macintosh
    

    (Убедитесь, что вы заменили Macintosh на фактическое имя раздела вашего жесткого диска, его можно найти в Disk Utility. Если оно неверно, вы получите ошибку «Macintosh HD not found»)

    Подождите, пока команда завершит обработку. Вы также можете получить какую-либо ошибку от VMware, просто нажмите «Продолжить» и проигнорируйте ее.

  2. Когда-то сделали,Неисправностьваша виртуальная машина Mac OS

  3. На вашем основном ПК откройтеКомандная строкас повышенными (административными) привилегиями и запустить

     "\vmware-path\vmware-vdiskmanager.exe" -k "\vm-path\VM-name.vmdk"
    

    ПРИМЕЧАНИЕ: vmware-vdiskmanager.exeне входит вVMware-плеерверсию, которую вы можете скачать сhttps://code.vmware.com/web/sdk/60/vddkиизвлеките загруженный комплект разработчикапапку и вы можете найти vmware-vdiskmanager.exe в папке /bin. Теперь для пункта 3 вам нужно будет использовать этот путь для раздела vmware-vdiskmanager.exe.

  4. После выполнения вышеуказанных шагов вы можете на своей виртуальной машине. Первая загрузка может занять больше времени, чем обычно.


снимок экрана команды хоста, пункт 3

Связанный контент