Как я могу клонировать жесткий диск непосредственно на образ VDI


37

Я хотел бы создать образ VirtualBox .vdi из моего жесткого диска.

Я нашел в Интернете инструкции, описывающие, как это сделать, сначала используя DD для создания образа .raw, а затем используя VBoxManage для преобразования .raw в .vdi. Поэтому, если мой HD составляет 1 ТБ, этот процесс (временно) требует 2 ТБ места для хранения как .raw, так и .vdi.

У меня всего чуть больше 1 ТБ свободного места. Есть ли способ создать образ жесткого диска с расширением .vdi без необходимости сначала создавать образ .raw?


Это рискованно, но если у вас есть жесткий диск, который вы хотите P2V, то вы можете создать образ на вашем запасном диске с около 1 ТБ бесплатно. Затем отформатируйте исходный диск и скопируйте файл RAW на исходный диск. Затем преобразуйте RAW в VDI обратно на ваш основной диск. Однако, если это испортится (может произойти), то вы застряли с RAW-изображением, а не оригиналом.
— Кобальц

@kolbatz Я обдумал это, но подумал, что у него высока вероятность неудачи. Когда я создаю образ жесткого диска, результирующий файл .raw соответствует размеру жесткого диска. Но прежде чем копировать файл обратно на исходный диск, мне нужно дать ему файловую систему. Это включает в себя запись метаданных на диск, оставляя недостаточно места для хранения файла размером с диск.
— SuperElectric

Ответы:


53

Вы можете напрямую создать изображение с VBoxManage convertfromraw. Сначала размонтируйте устройство, затем:

VBoxManage convertfromraw /dev/sda MyImage.vdi --format VDI

Замените /dev/sdaна любой диск или раздел, который вы хотите клонировать.

Возможно, вам придется сделать это как root, чтобы получить доступ к устройству. Если это так, то вам следует сменить владельца готового изображения.


2
Работает прекрасно и из коробки на OSX, когда у вас установлен VirtualBox. Спасибо за указание на это решение
— JosFabre

8

Я попробовал принятое решение, но для меня это не удалось:

# VBoxManage convertfromraw /dev/sdg /path/to/file.vdi --format VDI
Converting from raw image file="/dev/sdg" to file="/path/to/file.vdi"...
Creating dynamic image with size 0 bytes (0MB)...
VBoxManage: error: Cannot create the disk image "/path/to/file.vdi": VERR_INVALID_PARAMETER

Может быть, он не может определить размер, потому что диск был подключен через USB?

Поэтому вместо этого я получил размер диска с fdisk -l

Disk /dev/sdg: 160.0 GB, 160041885696 bytes

И тогда я использовал stdin форму convertfromraw

# dd if=/dev/sdg | VBoxManage convertfromraw stdin /path/to/file.vdi 160041885696 --format VDI
Converting from raw image file="stdin" to file="/path/to/file.vdi"...
Creating dynamic image with size 160041885696 bytes (152628MB)...

2

Существуют и другие более безопасные способы создания файла вашей текущей системы, с которым Virtualbox может работать. Vdi - это файлы, специфичные для виртуальной коробки, и обычно они создаются VB только после установки нового виртуального жесткого диска.

У вас есть много других вариантов.

Недавно я использовал disk2vhd для создания .VHD (виртуального жесткого диска Microsoft), который Virtualbox прекрасно импортировал. (Хотя это была система XP) Я не думаю, что она хорошо работает с другими ОС.

В качестве альтернативы есть инструмент конвертации Vmwares, который может экспортировать вашу систему во множество форматов, которые могут использовать virtualbox, а также другие платформы. Есть открытые стандарты для такого рода вещей.

http://www.vmware.com/products/converter/features.html


2
Почему, по вашему мнению, эти методы "безопаснее"?
— andcoz

disk2vhd использует моментальный снимок тома, что означает, что его можно использовать для клонирования системы во время ее работы.
— mwfearnley

«Я не думаю, что это работает хорошо с другими ОС» -> ну, на самом деле это так, просто горячее отражение Windows 10 с disk2vhd, работало безупречно!
— Энрике де Соуза
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.