Мне известно о огромном количестве постов в Интернете, в которых говорится, что это не сработает, и почему я действительно потратил несколько дней на поиски решений несколько месяцев назад, но вчера я нашел несколько советов, как «включить поддержку команд TRIM» для гостевых машин. , Я попробовал и "похоже" работает. То, что я хотел бы знать, - то, где подвох или это действительно работает, как должно.
Источники:
https://forums.virtualbox.org/viewtopic.php?f=7&t=51768
http://jaysonrowe.blogspot.com/2013/08/compacting-virtualbox-vdi.html.
Моя точная команда прикрепления файла на диске:
VBoxManage storageattach "GuestOsMachineName" --storagectl "SATA" --port 1 --device 0 --необорот на --discard на --medium "C: \ path \ to \ file.vdi" --type hdd
Который породил эту запись в файле * .vbox машины:
<AttachedDevice nonrotational="true" discard="true" type="HardDisk" port="1" device="0">
<Image uuid="{3836a042-a83e-4000-9a59-e95ad65162ce}"/>
</AttachedDevice>
Чтобы быть уверенным, я не потерял бы никаких данных, этот диск был вторым, присоединенным к машине. Я сделал простой тест, такой как копирование какого-либо файла на диск, оставление его, перезагрузка компьютера, выключение компьютера, проверка его наличия после загрузки, просмотр использования файла диска в операционной системе хоста. Результаты:
- файл диска, прикрепленный без параметров --nonrotational и --discard сохраняют свой (динамический) размер даже после удаления файлов в гостевой ОС
- файл диска, прикрепленный к обеим опциям, упомянутым выше, освобождает место после удаления данных
Теперь вот мои вопросы:
- что делает опция --discard? он не описан в руководстве VirtualBox ( http://www.virtualbox.org/manual/ch08.html#vboxmanage-storageattach )
- действительно ли он передает TRIM на хост-операционную систему или просто выглядит?