Почему я не могу сжать виртуальный диск в Hyper-V

1583
Daniel

У меня есть виртуальная машина под управлением Ubuntu 12.04, которую я создал с помощью Hyper-V на хосте Windows 8.1. В какой-то момент у меня на виртуальной машине был очень большой файл, из-за которого мой динамически расширяемый жесткий диск вырос почти до 200 ГБ. С тех пор я удалил файл и пытаюсь снова сжать файл жесткого диска. Как вы можете видеть из этого снимка экрана GParted из Ubuntu, я не использую много дискового пространства:

192 ГиБ неиспользованных

Я попытался использовать опцию «компакт-диск» в настройках Hyper-V; однако это не повлияло на размер файла VHDX на хосте, размер которого остается близким к 200 ГБ. Я также попытался следовать этим инструкциям для использования diskpartутилиты Windows, но это также не имело никакого эффекта. Я что-то пропустил? Есть что-то еще, что я могу попробовать?

0
`компакт-диск '* никогда * не изменял размер виртуального жесткого диска, только объем памяти, необходимый для хранения виртуального жесткого диска. Если вы хотите сделать это, вам нужно будет создать новый виртуальный жесткий диск или использовать команду для изменения размера существующего (что, конечно, создаст новый виртуальный жесткий диск). Ramhound 6 лет назад 0
@ Ramhound Я думаю, что либо я не понимаю, что вы говорите, либо вы не понимаете, что я говорю. Я не хочу уменьшать емкость виртуального жесткого диска. Я хочу, чтобы осталось 200 ГБ. Я просто хочу уменьшить размер файла .vhdx, потому что диск в настоящее время хранит только 6 ГБ данных. Daniel 6 лет назад 0
Я понимаю, что вы говорите. Вы пытаетесь изменить размер виртуального жесткого диска с помощью команды, которая просто уменьшает объем дискового пространства, который потребляет файл. В заголовке этого вопроса говорится, что вы хотите * сжать * файл VHDX, а мой ответ объясняет, как это сделать. В любом случае все, что вам нужно сделать, это уменьшить его на 1 ГБ, чтобы решить вашу проблему. Ramhound 6 лет назад 0

1 ответ на вопрос

1
Ramhound

Я настоятельно рекомендую вам сделать шаги, чтобы сделать копию .vhdx, прежде чем изменять ее. Чтобы изменить размер существующего файла .vhdx, первое, что вы должны сделать, это смонтировать виртуальный жесткий диск с помощью команды: mount-vhd в командной строке PowerShell с повышенными привилегиями.

mount-vhd \\FS01\vmdata\AS02_C.vhdx -passthru | get-disk | get-partition | get-volume 

Вывод команды будет выглядеть так

Если вы хотите изменить размер одного из разделов с помощью: resize-partition в командной строке с повышенными привилегиями PowerShell.

resize-partition -driveletter E -size 35GB 

Прежде чем вы сможете изменить размер виртуального жесткого диска, вы должны будете использовать команду: dismount-vhd в командной строке с повышенными привилегиями PowerShell.

dismount-vhd \\FS01\vmdata\AS02_C.vhdx 

После того, как вы изменили размер раздела и отключили виртуальный жесткий диск. Вы можете изменить размер виртуального жесткого диска с помощью команды: resize-vhd в командной строке с повышенными привилегиями PowerShell.

resize-vhd \ FS01 \ vmdata \ AS02_C.vhdx -ToMinimumSize

Работа и изменение размера виртуальных жестких дисков Windows Server 2012 Resize-VHD

Этот процесс, кажется, работает специально для дисков NTFS. Я имею дело с ext4. Выполнение первой команды в вашем ответе не дает вообще никакого вывода. Daniel 6 лет назад 0
Вам нужно, чтобы Windows понимала, как читать разделы ext4 в этом случае. В любом случае, resize-vhd, команда, которую вы хотите использовать. Ramhound 6 лет назад 0

Похожие вопросы