Что такое расширение файла vhd?
Содержание:
Как создать виртуальный жёсткий диск средствами Hyper-V
***
Итак, друзья, отдельное создание виртуального жёсткого диска для виртуальной машины Hyper-V. Повторюсь, нужно это, если мы хотим создать машину на базе фиксированного виртуального диска, а также если нам нужно подключить дополнительный диск или даже несколько таковых. Фиксированные виртуальные диски более производительны, они сразу занимают на реальном диске по факту свой номинальный объём, который мы для них указали. И они не вырастают в плане фактического занятия места на реальном диске за пределы своего нормального объёма, как это происходит с динамическими виртуальными дисками.
Создание фиксированного диска, основного для виртуальной машины Hyper-V
Если мы хотим создать виртуальную машину на базе фиксированного виртуального жёсткого диска, при её создании на этапе подключения диска нужно выбрать «Подключить виртуальный жёсткий диск позднее». Машина будет создана без диска.
Потом в диспетчере Hyper-V мы жмём «Создать», далее – «Жёсткий диск».
Запустится мастер создания виртуального жёсткого диска. Жмём «Далее».
Я создаю диск для виртуальной машины поколения 2, которая работает с форматом файла виртуального диска VHDX. Соответственно, этот формат я и выберу.
И вот на этапе выбора типа диска нам, друзья, и нужно указать диск фиксированного размера, т.е. это будет фиксированный виртуальный жёсткий диск.
Указываем имя и путь хранения диска. Я диск создаю для машины на базе Windows 10 и, соответственно, с именем Windows 10, поэтому и её диск у меня будет носить такое же имя. В качестве пути я указываю заранее созданную мною подпапку для виртуальных дисков внутри папки машины. Чтобы всё было аккуратно разложено.
Указываем размер диска. Поскольку он фиксированный, я создам его небольшим – 50 Гб. Этого хватит для работы Windows 10
Обратите, друзья, внимание на опции ниже. Мастер создания виртуальных дисков предлагает нам вместе с созданием виртуального диска копирование на него содержимого наших реальных жёстких дисков
Возможно, кому-то из вас это пригодится.
Финальный этап мастера: вот параметры нашего виртуального диска – он фиксированный, с размером 50 Гб. Жмём «Готово».
Немного придётся подождать, пока диск создастся.
Теперь можем подключить наш фиксированный диск к машине. Открываем её параметры.
Кликаем слева контроллер виртуального жёсткого диска. Друзья, у меня машина поколения 2, работающая только с SCSI-контроллерами, его я и кликаю. Если же вы будете работать с виртуальной машиной поколения 1, вам нужно кликать IDE-контроллер. Только при условии подключения диска через IDE-контроллер на машине поколения 1 возможна загрузка операционной системы. Дополнительные виртуальные диски, на которых не будет установлена операционная система, к машине поколения 1 вы можете подключать через любой контроллер – хоть IDE, хоть SCSI. Справа выбираем «Жёсткий диск».
Указываем путь к созданному нами фиксированному жёсткому диску. И применяем изменения.
Вот и всё: машина теперь с диском, можем заниматься установкой гостевой операционной системы.
Создание дополнительного диска для виртуальной машины Hyper-V
А как создать и подключить к виртуальной машине дополнительный диск – второй, третий, четвёртый? Делается это точно так же, как создание и подключение основного диска к машине без диска. Но, друзья, мастер создания виртуального жёсткого диска Hyper-V интегрирован в параметры виртуальной машины, и, соответственно, в обоих случаях мы можем создать и подключить диск в параметрах машины. Добавляем новый жёсткий диск.
Жмём «Создать».
Запустится мастер создания виртуального диска, и мы проходим все его этапы, проходим так, как рассмотрено в предыдущем пункте статьи.
Когда новый виртуальный диск будет создан и подключён к машине, применяем изменения.
После запуска машины, чтобы новый диск нам был доступен для работы, надо проинициализировать его и создать на нём разметку. В среде Windows для этого необходимо зайти в управление дисками, и процесс инициализации запустится автоматически.
Как удалить виртуальный диск из виртуальной машины Hyper-V
Друзья, если вам понадобится удалить виртуальный жёсткий диск из машины Hyper-V, вне зависимости от того, это основной диск, на котором установлена гостевая операционная система, либо же это дополнительный диск с обычными данными, вы можете это сделать в параметрах машины. Кликаем слева жёсткий диск, жмём кнопку «Удалить». Применяем изменения.
Этот ход удаляет виртуальный диск из конфигурации машины Hyper-V, сам же файл диска в формате VHD или VHDX удаляется как обычные данные в проводнике по пути его хранения.
Convert VDI To VMDK In Windows
Virtualization allows you to run multiple operating systems on one system. There are several popular virtual hard disk formats in use such as VDI and VMDK. Oracle VirtualBox is a free virtualization platform and supports Windows, Mac, and Linux. It can boot all three major hard disk formats and has the ability to convert existing virtual hard disks to other formats using its command-line tool. Virtualbox uses the VDI format by default.
Important Note: Keep in mind before converting VDI to VMDK, make sure to eliminate snapshots in VirtualBox. As each snapshot keeps different hard disk files separately from major disk files. So if you convert the major VDI file to VMDK then you will get the first version of the virtual machine before any snapshots. Therefore we have to merge all snapshots to major disk files to get the latest virtual machine in VMware. By removing snapshots you can merge all snapshot hard disks to the main hard disk file.
Conversion Process 1: Using VBoxManage Utility
- Firstly, Download and install the latest version of Oracle Virtualbox if it is not already installed.
- Secondly., Click the “Windows” key and “R” to bring up a “Run” dialog box. Type cmd and hit the enter button to start a command prompt.
- Now Type “cd C:\Program Files\Oracle\VirtualBox” command. And Change the “C” drive to the location of your “Program Files” folder.
- In the command prompt run the following command:
VBoxManage clonehd source.vdi target.vmdk –format VMDK
Press “Enter.” Replace both instances of “filename” with the actual files you want to import and export. For example, you could type “VBoxManage clonehd C:\Users\Test\linux.vdi C:\Users\Test\linux.vmdk –format vmdk” if you have a VDI file named “linux.vdi” in the “C:\Users\Test” directory.
Conversion Process 2: Using QEMU Manager
Here is another method to convert vdi to vmdk. Follow the steps to use qemu manager with your windows machine to convert vdi to vmdk without Virtualbox:
- Get QEMU Manager for your Windows System.
- In “cmd” run the following qemu-img convert command
qemu-img convert qbc.vdi -O vmdk qbc.vmdk
Click enter to initiate vdi to vmdk conversion process.
General Tips:
Although you can be much adjustable with your conversions, you should take into account that VMware and VirtualBox support things a little differently. Some times some conversion may fail if you have special stuff enabled, like multi-processors, video acceleration, and other cool things.
Therefore, if your conversions are not successful, consider doing the following:
- Merge multiple disks files into one.
- Disable any video acceleration or special features.
- Delete snapshots.
- Uninstall VMware Tools and/or Guest Additions.
- Try to match the virtual machine settings between the source and destination.
- If VDI is damaged then it is really tough to achieve the vdi to vmdk conversion process. So you can fix the VDI file issues with VDI Recovery Software with ease.
Time To Conclude
So if you have created a VM file using windows VirtualBox and need to have a way to add it to your VMware farm or ESXi system, but the VirtualBox VM is in VDI format. No worries, in the above discussion we have told you 2 different techniques by which you can convert vdi to vmdk VMware with ease. Till then keep reading.
You can also read: How to convert VMDK to VHD easily
Руководство по преобразованию P2V с помощью Disk2VHD
Перейдите на страницу Windows Sysinternals и скачайте программу.
Программа Disk2vhd v2.01.
Шаг 2. Запустите Disk2vhd на физическом сервере, который необходимо преобразовать
Просто распакуйте ее и запустите на сервере. Как показано на рисунке, интерфейс программы очень простой. Чтобы создать диск VHDX, поставьте флажок Use Vhdx (Использовать Vhdx).
ПРИМЕЧАНИЕ. VHDX — это формат диска, появившийся в Windows Server 2012. По сравнению с традиционным VHD, в VHDX был внесен ряд изменений: появился специальный внутренний журнал, снижающий вероятность повреждения данных, увеличилась емкость (до 64 ТБ), добавлены некоторые другие функции. Я рекомендую по возможности использовать формат VHDX.
Выберите Use VSS (Использовать VSS), если вы хотите получить копию диска, согласованную на уровне транзакций, а не сбоев. Выберите место, где будет находиться файл VHDX (если оно будет расположено на том же диске, возможно «поглощение», поэтому для хранения образа лучше использовать другой жесткий диск). Выберите любой диск/том, который нужно виртуализовать. Если вы хотите сделать этот диск загрузочным, необходимо включить туда системный диск и область загрузки (поставьте флажок System Reserved (Зарезервировано системой)). Нажмите Create (Создать), чтобы начать преобразование.
Запустите Disk2vhd на физическом сервере, который необходимо преобразовать.
Шаг 3. Преобразуйте диск(и) в формат VHDX и скопируйте на хост Hyper-V
Во время этой операции вы увидите примерное время, оставшееся до ее завершения.
Преобразуйте диск(и) в формат VHDX и скопируйте на хост Hyper-V.
После ее завершения вы получите файл/диск VHDX, который можно скопировать на сервер Hyper-V и поместить в папку, где находятся диски ВМ.
Преобразуйте диск(и) в формат VHDX и скопируйте на хост Hyper-V.
Шаг 4. Создайте новую ВМ на хосте Hyper-V
Чтобы использовать созданный диск, необходимо создать ВМ. Запустите мастер (New → Virtual Machine (Создать → Виртуальная машина)) в Менеджере Hyper-V и настройте ее в соответствии со своими требованиями. Параметры настройки очень просты, за исключением выбора поколения ВМ (появился только в Windows Server 2012 R2).
Создайте новую ВМ на хосте Hyper-V.
ПРИМЕЧАНИЕ. Необходимо внимательно подойти к выбору поколения ВМ. Начиная с Windows 2012 R2, в Hyper-V появился новый параметр:Generation 2 virtual machine (Виртуальная машина 2 поколения). Речь идет о втором поколении встроенного ПО для ВМ с обновленным набором виртуального аппаратного обеспечения и новыми возможностями для пользователей, такими как загрузка с устройства, подключенного по iSCSI. Но ВМ 2 поколения имеют существенные ограничения, например, они поддерживают гостевые ОС, только начиная с Windows 8, а семейство Unix не поддерживают совсем. Таким образом, на практике этот вариант следует выбирать только для Windows 8/8.1 или Windows Server 2012/2012 R2 и только для 64-разрядных версий.
Поэтому к выбору поколения ВМ нужно отнестись внимательно, и если вы не уверены на 100%, что вам необходимо Поколение 2, выбирайте поколение 1.
Создайте новую ВМ на хосте Hyper-V.
Шаг 5. Подключите созданный диск
Дойдя до шага Connect Virtual Hard Disk (Подключение виртуального жесткого диска), необходимо настроить виртуальный жесткий диск. Найдите уже созданный диск и выполните оставшиеся действия с помощью мастера.
Подключите виртуальный жесткий диск.
Шаг 6. Запустите ВМ и приступайте к работе
Щелкните правой кнопкой мыши на ВМ, выберите Run (Запустить), затем еще раз щелкните правой кнопкой и подключитесь к ней.
Запустите ВМ.
Загрузка ВМ может занять некоторое время, поскольку конфигурация аппаратного обеспечения будет отличаться. Но через несколько минут вы увидите экран приветствия и сможете войти в систему. Готово!
Запустите ВМ.
Вот и все!
Наслаждайтесь преимуществами своих ВМ и не забудьте их защитить, используя бэкап виртуальной инфраструктуры с помощью Veeam!
Также вас могут заинтересовать:
- Скачать пробную версию Veeam Availability Suite v9 бесплатно
- Бесплатный бэкап виртуальных машин Hyper-V
- Как выполнить миграцию работающей ВМ в Hyper-V
- Как защитить виртуальные машины Hyper-V
Базовые действия, выполняемые с VHD-дисками
К базовым операциям, которые можно проводить с виртуальными жесткими дисками, можно отнести такие действия, как: создание, присоединение, отсоединение, удаление виртуальных жестких дисков. Возможно также сжатие дисков, конвертирование физических дисков в виртуальные, подключение дисков как папки и другое. В этом руководстве рассматриваются не все возможные операции, которые проводятся над виртуальными жесткими дисками.
Создание виртуальных жестких дисков
Для того чтобы создать виртуальный жесткий диск, выполните следующие действия:
Виртуальный жесткий диск также можно создать средствами утилиты командной строки DiskPart
. Для этого в командной строке с правами администратора нужно воспользоваться командой Create Vdisk
Create Vdisk File= Maximum= Type=Fixed|Expandable
- При помощи параметра File
можно указать полный путь и имя виртуального диска. - Параметр Maximum
отвечает за максимальное дисковое пространство, предоставляемое виртуальным диском, заданное в мегабайтах. - При помощи параметра Type
можно указывать формат виртуального диска. Существует два значения для данного параметра:- FIXED создает файл виртуального диска фиксированного размера;
- EXPANDABLE создает динамически расширяемый образ виртуального диска.
- При помощи параметра Parent
можно указать путь к существующему родительскому файлу виртуального диска для создания разностного диска. При использовании Parent нельзя использовать параметр Maximum, поскольку размер разностного диска определяется родительским файлом. Помимо этого, также нельзя задавать параметр Type, поскольку создавать можно только расширяемые (параметр Expandable) разностные диски. - Параметр Source
предназначен для того чтобы указывать путь к существующему файлу виртуального диска для предварительного заполнения нового файла виртуального диска. При использовании параметра Source данные из исходного файла виртуального диска копируются блок за блоком в создаваемый файл виртуального диска. Однако между ними отсутствуют отношения родитель-потомок.
С помощью параметра SD
можно указать дескриптор безопасности в формате языка SDDL. По умолчанию дескриптор безопасности берется из родительского каталога. В простейшем случае строка может содержать дескриптор безопасности, обеспечивающий защиту доступа, который называется списком управления доступом на уровне пользователей (DACL).
Присоединение виртуального жесткого диска
Если у вас уже имеется созданный виртуальный жесткий диск, то вы его можете присоединить к оснастке управления дисками. Это можно сделать следующим образом:
Также виртуальный жесткий диск можно присоединить средствами утилиты командной строки DiskPart
. Для этого в командной строке с правами администратора нужно выбрать нужный виртуальный диск командой Select Vdisk
Attach Vdisk
. Синтаксис следующий:
Attach Vdisk
Эту команду можно использовать без параметров. Доступные параметры:
Инициализация виртуального жесткого диска
После того как виртуальный жесткий будет создан или присоединен, для дальнейшей работы его нужно инициализировать. При помощи графического интерфейса это можно сделать следующим образом:
Для того чтобы создать простой том в VHD диске, выполните следующие действия:
Отсоединение виртуального диска
Для того чтобы отсоединить виртуальный диск, выполните следующие действия:
Отсоединить виртуальный жесткий диск также можно при помощи утилиты командной строки DiskPart
. Для этого в командной строке с правами администратора нужно выбрать предполагаемый виртуальный диск командой Select Vdisk
, а затем воспользоваться командой Detach Vdisk
. Синтаксис команды следующий:
Просмотр информации о виртуальном диске
Для того чтобы просмотреть подробную информацию о диске, выполните следующие действия:
- Выберите нужный виртуальный диск при помощи команды Select Vdisk
; - Присоедините диск, если он еще не присоединен к компьютеру;
- Воспользуйтесь командой Detail Vdisk
Для данной команды не существует дополнительных параметров.
Сжатие виртуальных дисков
При помощи утилиты командной строки DiskPart
можно сжимать виртуальные диски. Для этого выберите нужный виртуальный диск, подключите диск в режиме «только для чтения»
и воспользуетесь командой Compact Vdisk
. Эта команда сжимает файл виртуального диска для уменьшения физического размера файла. Сжатие возможно только для отсоединенного расширяемого виртуального диска или для расширяемого виртуального диска, подключенного в режиме «только для чтения».
Parameters
-AsJob
Runs the cmdlet as a background job.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CimSession
Runs the cmdlet in a remote session or on a remote computer.
Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet.
The default is the current session on the local computer.
Type: | CimSession |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Specifies one or more Hyper-V hosts on which a virtual hard disk is to be resized.
NetBIOS names, IP addresses, and fully qualified domain names are allowable.
The default is the local computer.
Use localhost or a dot (.) to specify the local computer explicitly.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Specifies one or more user accounts that have permission to perform this action.
The default is the current user.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Passthru
Specifies that an object representing the resized virtual hard disk is to be passed through to the pipeline.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specifies the path to the virtual hard disk that is to be resized.
Type: | String |
Aliases: | FullName |
Position: | |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-SizeBytes
Specifies the size to which the virtual hard disk is to be resized.
Type: | UInt64 |
Position: | 1 |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ToMinimumSize
Specifies that the virtual hard disk is to be resized to its minimum possible size.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs.
The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Конвертирование VDI в VHD средствами VirtualBox
VirtualBox не позволяет своими средствами монтировать диски ВМ для доступа к ним из среды хост-системы Windows. Но в числе её арсенала есть конвертер, который может преобразовывать диски родного формата VDI в VHD, VMDK и прочие типы. А, к примеру, VHD-файл в среде хостовой Windows 8.1 или 10 можно открыть штатными средствами ОС. Более того, при необходимости продолжить работу с ВМ, её можно пересоздать на базе уже конвертированного диска VHD. В окне VirtualBox переключаемся на раздел «Инструменты». Кликаем диск нужной ВМ, в контекст-меню выбираем «Копировать».
Далее указываем тип «VHD» (можно и «VMDK», если параллельно проводится работа с VMware). Затем жмём кнопку обзора в графе указания нового диска.
Здесь важный момент: графу «Имя файла» нужно подчистить — удалить из имени расширение «.vdi». И отследить ниже, чтобы как тип был задан «VHD». Жмём «Сохранить».
И теперь – «Копировать».
Конвертированный файл впоследствии открываем с помощью проводника.
Убираем его из хост-системы путём извлечения, как показано в п.1 статьи.
Однако если попутная цель реанимации ВМ не преследуется, если речь идёт только об изъятии ценной информации из файла VDI, проще прибегнуть к двум следующим вариантам решения вопроса.
VirtualBox
Одна из самых простых программ – VirtualBox от компании Oracle. Она рассчитана на создание и работу с виртуальными машинами (дисками) с возможностью установки дополнительных операционных систем.
Установочный файл скачивается с официального сайта (кликните по активной ссылке заголовка). Следуйте инструкциям установщика. Во время установки утилиты отключится сетевое подключение, о чем мы увидим предупреждение.
Преимущество программы – простой, понятный и очень удобный интерфейс. Вот главное окно VirtualBox.
В настройках утилиты можно задать папку сохранения виртуальных машин, настроить горячие клавиши (вкладка «Ввод»), поменять язык и проч.
Несмотря на минималистичный интерфейс, возможности программы вполне соответствуют профессиональному инструменты для работы с VHD:
- работа с несколькими дисками VHD;
- импорт и экспорт настроек, конфигураций готовых виртуальных машин;
- возможность удаленной работы с виртуальной машины (с другого компьютера), объединение нескольких машин в одну сеть;
- создание скриншотов и видеозаписей;
- поддержка не только Windows, но и других ОС;
- программа абсолютно бесплатная.
На наш взгляд, это самая доступная во всех отношениях программа для работы с VHD-дисками. Она бесплатная, с простым интерфейсом, широкими настройками и широкими возможностями.
Parameters
-AsJob
Runs the cmdlet as a background job.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-CimSession
Runs the cmdlet in a remote session or on a remote computer.
Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet.
The default is the current session on the local computer.
Type: | CimSession |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Specifies one or more Hyper-V hosts on which a virtual machine is to be optimized.
NetBIOS names, IP addresses, and fully qualified domain names are allowable.
The default is the local computer.
Use localhost or a dot (.) to specify the local computer explicitly.
Type: | String |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Prompts you for confirmation before running the cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Specifies one or more user accounts that have permission to perform this action.
The default is the current user.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Mode
Specifies the mode in which the virtual hard disk is to be optimized.
For a VHD disk, the default mode is Full.
For a VHDX disk, the default mode is Quick.
Valid modes are as follows:
- Full scans for zero blocks and reclaims unused blocks. (Allowable only if the virtual hard disk is mounted read-only.)
- Pretrimmed performs as Quick mode, but does not require the virtual hard disk to be mounted read-only. The detection of unused space is less effective than Quick mode (in which the virtual hard disk had been mounted read-only) because the scan cannot query information about free space in the NTFS file system within the virtual hard disk. Useful when the VHDX-format file has been used by operating system instances that are at least Windows 8 or Windows Server 2012, or when this cmdlet has already been run on a .vhdx file in Retrim mode.
- Prezeroed performs as Quick mode, but does not require the virtual hard disk to be mounted read-only. The unused space detection will be less effective than if the virtual hard disk had been mounted read-only as the scan will be unable to query information about free space in the NTFS file system within the virtual hard disk. Useful if a tool was run previously to zero all the free space on the virtual disk as this mode of compaction can then reclaim that space for subsequent block allocations. This form of compaction can also be useful in handling virtual hard disk containing file systems other than NTFS.
- Quick reclaims unused blocks, but does not scan for zero blocks. (Allowable only if the virtual hard disk is mounted read-only.)
- Retrim sends down retrims without scanning for zero blocks or reclaiming unused blocks. (Allowable only if the virtual hard disk is mounted read-only.)
Type: | VhdCompactMode |
Accepted values: | Full, Quick, Retrim, Pretrimmed, Prezeroed |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Passthru
Specifies that an object is to be passed through to the pipeline representing the virtual hard disk to be optimized.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Specifies one or more paths to the dynamic or differencing virtual hard disk files to be optimized.
Type: | String |
Aliases: | FullName |
Position: | |
Default value: | None |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Shows what would happen if the cmdlet runs.
The cmdlet is not run.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |