Я случайно расширил динамически размещенный образ VDI до ~ 150 ТБ вместо ~ 150 ГБ, используя VBoxManage modifyhd (урок, который необходимо изучить: [--resize <megabytes>|--resizebyte <bytes>])

Теперь, когда я загружаю виртуальную машину, я получаю следующее предупреждение:

Носитель '/home/bbalint/VirtualBox VMs/wii/wii.vdi' имеет логический размер 143 ТБ, но файловая система, на которой расположен носитель, теоретически может обрабатывать файлы размером до 7 ТБ.

Чтобы исправить свою ошибку, я снова попытался изменить размер VDI, но теперь я получаю следующую ошибку:

$ VBoxManage modifyhd {d013c1f5-3f1f-4918-a079-ee27f4b398a3} --resize 150000
0%...
Progress state: VBOX_E_NOT_SUPPORTED
VBoxManage: error: Resize hard disk operation for this format is not implemented yet!

Это странно, так как я не изменил никаких других параметров изображения, кроме размера:

$ VBoxManage showhdinfo {d013c1f5-3f1f-4918-a079-ee27f4b398a3}
UUID:           d013c1f5-3f1f-4918-a079-ee27f4b398a3
Parent UUID:    base
State:          locked write
Type:           normal (base)
Location:       /home/[...]/VirtualBox VMs/wii/wii.vdi
Storage format: VDI
Format variant: dynamic default
Capacity:       150000000 MBytes
Size on disk:   64526 MBytes
In use by VMs:  wii (UUID: 5810c0ba-4776-48d7-807f-1116295688a0)

Как я могу это исправить?

1 ответ1

0

Я сделал ту же ошибку :(

Это не прямое решение, но, по крайней мере, мне удалось восстановить мои данные, используя метод, который я нашел здесь.

По сути, вы используете nbd и qemu для создания устройства /dev/nbdx

sudo modprobe nbd max_part=16
sudo qemu-nbd -c /dev/nbd0 bad.vdi

Затем я создал новый VDI с правильным размером:

VBoxManage createhd --filename new.vdi --size 15000 --format VDI

Затем я использовал тот же nbd и qemu: sudo qemu-nbd -c /dev/nbd1 new.vdi , а затем клонировал раздел (я использовал gparted: sudo gparted /dev/nbd0 /dev/nbd1).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .