VHD ( Виртуальный жесткий диск ) и его преемник VHDX — это форматы файлов , представляющие виртуальный жесткий диск (HDD). Они могут содержать то, что находится на физическом жестком диске, например разделы диска и файловую систему , которая, в свою очередь, может содержать файлы и папки . Они обычно используются в качестве жесткого диска виртуальной машины , встроены в современные версии Windows и являются собственным форматом файлов для гипервизора Microsoft ( системы виртуальных машин ) Hyper-V .
Формат был создан компанией Connectix для своего продукта Virtual PC, известного как Microsoft Virtual PC , с тех пор, как Microsoft приобрела Connectix в 2003 году. VHDX был представлен в Windows 8/Windows Server 2012 для добавления функций и гибкости, отсутствующих в VHD, которые со временем стали очевидными.
С июня 2005 года Microsoft предоставила спецификации форматов изображений VHD и VHDX третьим сторонам в соответствии с обещанием открытой спецификации Microsoft . [2]
Виртуальный жесткий диск позволяет нескольким операционным системам размещаться на одном хост-компьютере . Этот метод позволяет разработчикам тестировать программное обеспечение в различных операционных системах без затрат и хлопот, связанных с установкой второго жесткого диска или разбиением одного жесткого диска на несколько томов. Возможность напрямую изменять жесткий диск виртуальной машины с хост-сервера поддерживает множество приложений, в том числе:
VHDX был добавлен в Hyper-V в Windows Server 2012 для увеличения емкости хранилища, защиты от повреждения данных и оптимизации для предотвращения снижения производительности на физических дисках с большими секторами. [3]
Виртуальные жесткие диски реализованы как файлы, находящиеся в собственной файловой системе хоста. Microsoft Virtual PC и Virtual Server поддерживают следующие типы форматов VHD :
Возможность загрузки физического компьютера с виртуального жесткого диска дает значительные преимущества:
Собственная загрузка VHD означает способность физического компьютера монтировать и загружаться из операционной системы, содержащейся на VHD. Редакции Windows 7 Enterprise и Ultimate поддерживают эту возможность как при наличии основной операционной системы, так и без нее. Windows Server 2008 R2 также совместим с этой функцией. [4] [5]
Формат VHD имеет встроенное ограничение чуть менее 2 ТиБ (2048 ГиБ ) для размера любых динамических или разностных виртуальных жестких дисков. [6] [7] [8] Это связано с таблицей смещения секторов, которая допускает только максимальное 32-битное значение. Он рассчитывается путем умножения 2 32 на 512 байт для каждого сектора.
Формула C × H × S в спецификации VHD допускает максимум 65535×16×255 секторов. [2] Около 127 ГиБ также является пределом для виртуальных жестких дисков в Windows Virtual PC . [9] Для секторов размером менее 65535×16×63 (около 31 ГиБ) значение CHS в нижнем колонтитуле VHD использует минимум H = 4 и максимум H = 16 головок с S = 17, 31 или 63 сектора. за трек. Затем алгоритм CHS определяет C = ( T / S )/ H . [2] В спецификации не рассматриваются случаи, когда значение CHS в нижнем колонтитуле VHD не соответствует (виртуальной) геометрии CHS в основной загрузочной записи образа диска на VHD. Microsoft Virtual Server (также производный от Connectix) имеет это ограничение при использовании виртуальных драйверов IDE, но 2 ТиБ, если используются драйверы виртуального RAID или виртуального SCSI.
Формат Virtual Hard Disk изначально использовался только Microsoft Virtual PC (и Microsoft Virtual Server ). Однако позже Microsoft использовала формат VHD [10] в Hyper-V , технологии виртуализации на основе гипервизора Windows Server 2008 . Microsoft также использовала этот формат в Complete PC Backup , программном компоненте резервного копирования , входящем в состав Windows Vista и Windows 7 . Кроме того, Windows 7 и Windows Server 2008 R2 поддерживают создание, монтирование и загрузку из файлов VHD. [11]
Графический интерфейс диспетчера дисков Vista (или более поздней версии) поддерживает подмножество функций инструмента командной строки diskpart . [12] Виртуальные жесткие диски, известные как vdisk в diskpart , можно создавать, форматировать, присоединять (монтировать), отсоединять (размонтировать), объединять (для различения виртуальных жестких дисков) и уплотнять (для виртуальных жестких дисков в файловой системе хоста NTFS). Сжатие обычно представляет собой двухэтапную процедуру: сначала неиспользуемые сектора на VHD заполняются нулями, а затем diskpart может использовать функцию NTFS для разреженных файлов для устранения серий нулей на VHD . Добавления виртуальных машин в более старых версиях VPC и функции интеграции виртуальных машин в Windows Virtual PC содержат предкомпактные образы ISO для первого шага в поддерживаемых гостевых системах. [13]
Продукты сторонних производителей также используют формат файлов VHD. Oracle VirtualBox , часть линейки Sun xVM компании Sun Microsystems , поддерживает VHD в версиях 2 и более поздних версиях. В 2017 году Red Gate Software и Windocks представили поддержку клонирования баз данных SQL Server на основе VHD. [14] [15]
Иногда бывает полезно изменить VHD-файл без загрузки операционной системы. Hyper-V поддерживает работу с виртуальными жесткими дисками в автономном режиме, предоставляя администраторам возможность безопасного доступа к файлам на виртуальном жестком диске без необходимости создания экземпляра виртуальной машины. Это предоставляет администраторам детальный доступ к VHD и возможность выполнять некоторые задачи управления в автономном режиме. [16] Плагин MMC для управления дисками Windows может напрямую монтировать VHD-файл как букву диска в Windows 7/Server 2008 и более поздних версиях.
В ситуациях, когда монтирование VHD в операционной системе нежелательно, несколько программ позволяют разработчикам программного обеспечения проверять и изменять файлы VHD, включая .NET DiscUtils, WinImage и R1soft Hyper-V VHD Explorer. 7-Zip поддерживает извлечение и проверку файлов VHD.
Virtual Floppy Disk (VFD) — это родственный формат файлов, используемый Microsoft Virtual PC, Microsoft Automated Deployment Services и Microsoft Virtual Server 2005. [17] [18] [19] VFD, который содержит образ файла низкой плотности размером 720 КБ, С помощью Virtual PC можно смонтировать 3,5-дюймовую дискету высокой плотности емкостью 1,44 МБ или 3,5- дюймовую дискету DMF объемом 1,68 МБ. [17] [19] [20] Другое программное обеспечение для виртуальных машин, такое как VMWare Workstation и VMware Player, может монтировать необработанные образы дискет таким же образом. [21]
Windows Virtual PC для Windows 7 (версия 6.1) не предлагает пользовательский интерфейс для управления виртуальными дискетами; однако он по-прежнему поддерживает физические и виртуальные дискеты посредством сценариев . [22] В Hyper-V файлы VFD можно использовать через настройки виртуальной машины для виртуальных машин поколения 1. Виртуальные машины поколения 2 не эмулируют контроллер гибких дисков и не поддерживают образы гибких дисков.
VHDX (Virtual Hard Disk v2) — формат, пришедший на смену VHD. Если VHD имеет ограничение емкости 2040 ГБ, VHDX имеет ограничение емкости 64 ТБ. Для образов дисков этого нового формата vhdx
вместо vhd
. VHDX защищает от сбоев питания и используется Hyper-V . [23] Формат VHDX оптимизирован как для HDD, так и для SSD.