Відповіді:
В dd
підхід працює, але тільки якщо адресат фізичний диск може застрявати , і повністю переписані, і по крайней мере , так само великий , як максимальний розмір зростання віртуального диска. Це також може зайняти багато часу, якщо віртуальний диск не "заповнений".
Альтернативним підходом є використання інструменту для обробки зображень на зразок Ghost або ImageX для ефективного фіксації вмісту файлів розділів віртуального диска в якийсь архівний файл архіву, а потім вилучення їх вмісту на розділений фізичний диск.
dd
буде працювати безпосередньо, VHD - це не формат RAW. Можливо, доведеться спочатку qemu-img
перетворити його у файл IMG.
Я використовую лише безкоштовний інструмент Windows HDD Raw Copy Tool для запису зображень .vhd на фізичні носії.
У моєму випадку використання використовується Windows 7 для копіювання розділів FAT32 на мікро SD карти, але він може підтримувати широкий спектр інтерфейсів / типів медіа.
Він має портативну версію, доступну для разового або кочового використання, або інсталятор, якщо ви віддаєте перевагу саме такі речі.
Графічний інтерфейс досить простий:
Приєднайте VHD до віртуальної машини (ви можете використовувати MS Virtual PC, VirtualBox або будь-яке інше програмне забезпечення для віртуалізації, яке підтримує VHD). Потім завантажте відеомагнітофон із Acronis True Image ISO, встановленим у віртуальному CD-диску, і створіть TIB
зображення, а потім завантажте фізичний комп'ютер тим самим компакт-диском (цього разу записаним на диску) та відновіть TIB
зображення на фізичному жорсткому диску за допомогою Sector-by- сектор.
Це підтримує відновлення декількох розділів з одного зображення.
create TIB image
і де його зберегти? На віртуальний жорсткий диск? Що робити, якщо VHD 200 або більше Gb? Це рішення не застосовується
Наступні операції виконуються на knoppix (live linux) з терміналу.
su
modprobe nbd
qemu-nbd -r -c /dev/nbd0 -f vpc <vhd_file_name>
якщо VHDX fromat
qemu-nbd -c /dev/nbd0 -f VHDX <vhdx_file_name>
ddrescue -v -f /dev/nbd0 /dev/sda >>>> image to /dev/sda writing
написання лише одного розділу
qemu-nbd -P 2 -r -c /dev/nbd2 -f vpc <vhd_file_name>
ddrescue -v -f /dev/nbd2 /dev/sda2 >>>> part2 of image to /dev/sda2 writing
кріплення перегородки
qemu-nbd -P 2 -r -c /dev/nbd2 -f vpc <vhd_file_name> >>> -P 2 part2 of image
mount /dev/nbd2 /mnt
відключити та відключити файл зображення
unmount /mnt
qemu-nbd -d /dev/nbd2
Якщо ви віддаєте перевагу використовувати інструмент на базі Windows, ви можете зробити це:
Savepart - це інструмент (безкоштовний, але не з відкритим кодом, доступний як для Windows, так і для Linux), який можна використовувати для зображення розділів. Після того, як VHD приєднаний, його можна відновити до фізичного розділу розділом savepart, як би фізичним розділом.
Я робив це сам на системному диску за допомогою Acronis, і це спрацювало. Це була Windows 8.1 з Hyper-V, і мені потрібно було перемістити її на фізичний диск, щоб оновити до Windows 10.
Ось як я це зробив: я підключив SSD до іншого ПК та встановив VHD. Потім я клонувався з змонтованого VHD на інший SSD (я все одно збирався його замінити). Я вибрав "Вручну" та налаштування за замовчуванням, але це може працювати і з "Авто".
Коли я завантажився з новим SSD Windows, Windows не запустився, тож я перезавантажився з диска встановлення Windows і вибрав "Ремонт". Windows запустився як звичайно безпосередньо з диска.
Єдиною проблемою після цього була помилка при запуску віртуальної машини, яка мені сказала, що Hypervisor не працює. Вирішили це, виконавши наступну команду з підвищеного MS-DOS-підказки та перезавантажте: "bcdedit / set Hypervisorlaunchtype Auto".