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

16

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

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

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

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

Пол Д. Уэйт
источник
1
К сожалению, это больше не работает в VMWare Fusion 4, так как vdiskmanager больше не находится в этой папке. Никто, кажется, не знает, где он сейчас существует, если вообще существует.
1
В окне библиотеки виртуальных машин выберите виртуальную машину , не запуская ее. Обновите линейчатую диаграмму Reclaimable и затем нажмите Очистить, если доступно. Также см. KB 1001934: дефрагментация, сжатие и очистка дисков виртуальной машины VMware Fusion .
jww

Ответы:

6

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

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

ся
источник
Правда, но с VMware Fusion 7+ он никогда не предлагает очистить гостевой Mac OS.
Даккарто
@dakcarto - VMware Fusion 5 предлагает это, но только когда есть что-то, что можно исправить. Возможно, у вас нет ничего исправимого? (У меня есть 33 ГБ исправимой для гостя Windows 8.1 после обновления 8.0 → 8.1).
jww
10

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

  1. Файл представляет собой разреженный образ диска и не выделяется заранее.
  2. ВМ не имеет снимков.

Короче говоря:

Удалите свободное место на диске гостевой ОС из гостевой ОС с помощью Дисковой утилиты, а затем извлеките диск гостевой ОС из ОС хоста с помощью vmware-vdiskmanagerкомандной строки.

В длинных:

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

  1. Откройте Дисковую Утилиту.
  2. Выберите раздел гостевой ОС.
  3. Перейдите на вкладку «Стереть».
  4. Нажмите на кнопку «Удалить свободное пространство».
  5. Убедитесь, что выбран «Zero Out Deleted Files», и удалите свободное место.
  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 ГБ.

Пол Д. Уэйт
источник
8

Они добавили опцию CLI, которая была очень простой - сделайте это из гостевой ОС:

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

От мудальцов на форумах VMware Commmunity :

Немного более простой метод - функция сжатия встроена в утилиту командной строки 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

Colin
источник
Это самый простой способ «одной команды» сжать диск. Работает для VMware Fusion 8.
pointum
5

В вариантах VMware Fusion, следующих за 3.x, языковой стандарт vmware-vdiskmanager, указанный в принятом ответе:

/ Приложения / VMware \ Fusion.app/Contents/Library/vmware-vdiskmanager

Так что все, что вам нужно, это

/Applications/VMware\ Fusion.app/Contents/Library/vmware-vdiskmanager -k 

затем перейдите к поиску, перейдите к вашей виртуальной машине, которая обычно находится в "~ / Documents / Virtual Machines /".

Щелкните правой кнопкой мыши Файл, выберите «Показать содержимое пакета», затем перетащите файл .vmdk в Терминал и нажмите Enter.

Джо Тест
источник
0

В VMWare Fusion 6 это трехэтапный процесс.

  1. Замените все удаленные файлы нулями:

    $ diskutil secureErase freespace 0 Macintosh\ HD

  2. Запустите утилиту сжатия дисков VMWare

    $ sudo /Library/Application\ Support/VMWare\ Tools/vmware-tools-cli disk shrinkonly

  3. Выключите (или перезапустите) виртуальную машину.
Ян
источник