Дефрагментировать виртуальный жесткий диск (.vhd)?

Как и любой другой жесткий диск, виртуальные жесткие диски (*.vhd) будут страдать от фрагментации.

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

Во-первых, правильны ли эти предположения? И, во-вторых, есть ли способ дефрагментировать оба (виртуальный и физический жесткий диск) сразу?

Спасибо заранее!

Ответ 1

Дефрагментация гостя, а затем хост. Вы можете дефрагментировать только файл vhd на хосте, используя утилиту вроде CONTIG.

Я не верю, что вы можете дефрагментировать оба сразу, так как файл vhd, вероятно, не может быть использован для дефрагментации, требуя отключения виртуальной машины.

Ответ 2

Другим вариантом, который я использовал, является использование JkDefrag, который является бесплатным. Существует также целый процесс дефрагментации виртуального ПК, но поскольку я не могу найти "официальную" ссылку на форуме JkDefrag, для параметров командной строки это выглядит примерно так:

  • Дефрагментировать гостевой диск изнутри виртуальная машина.
  • Выйдите из   виртуальная машина.
  • На хосте       машины, запустите JkDefrag с помощью этих       командной строки

(вы также можете поместить их           в пакетном файле):

jkDefrag -q -a2
jkDefrag -q -a6 C:\PathToVirtualDisks\VDiskToDefrag.vhd
jkDefrag -q -a3 -e C:\PathToVirtualDisks\VDiskToDefrag.vhd

Вот что делают параметры:

  • -q= Завершить работу программы.
  • -a2= Дефрагментировать, не оптимизировать.
  • -a6= Переместить в конец диска
  • -a3= Дефрагментация, быстрая оптимизация.

Процесс может занять много времени в зависимости от размера вашего виртуального диска. Например, на моем ПК с 56-гигабайтным vdisk требуется около 16-18 часов, чтобы завершить этот процесс в очень сильно фрагментированные дни. На самом деле, когда я пишу это, у меня есть более 150 фрагментов этого файла, которые дефрагментируются, и он работает около 30 минут, и только около 10% выполняется только с этим файлом.

Ответ 3

Да, ваше предположение верно. Правильный способ дефрагментации - сначала дефрагментировать гостевой файл, затем гостевой файл hdd, а затем hdd хоста. В зависимости от используемой виртуальной машины она должна предоставить вам эту возможность. VMWare дает вам возможность дефрагментировать гостевой hdd.