Как я могу клонировать жесткий диск непосредственно на образ 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.