- Автоматическое монтирование VHD/VHDX-диска при загрузке Windows
- VHD Set — новый тип виртуальных дисков в Windows Server 2016
- Загрузка windows server с vhd
- VHD Native Boot снаружи и внутри
- 1. Установка Windows на VHD с нуля
- 2. Установка Windows на VHD на работающем компьютере
- 3. Использование дифференциальных VHD
- 4. Рекомендуемая конфигурация физического диска при работе с загрузочными VHD
Автоматическое монтирование VHD/VHDX-диска при загрузке Windows
В Windows 7 и Windows Server 2008 R2 появилась возможность создавать и подключать файлы виртуальных дисков (VHD/VHDX) прямо из консоли управления дисками (Disk Management). Такие виртуальные диски выглядят в системе как отдельные физические диски и могут использоваться для хранения произвольных данных. Существенный недостаток таких дисков — при каждой перезагрузке Windows приходится каждый раз вручную монтировать все VHD/VHDX файлы. Кроме того, право на монтирование файлов виртуальных дисков vhd есть только у администраторов компьютера, простые пользователи не могут самостоятельно подключить VHDx файл (каждый раз приходится вмешиваться администратору).
В этой статье мы покажем, как автоматически монтировать vhd/vhdx файл при загрузке системы, так, чтобы виртуальные диски были доступны и простым пользователям (не обладающих правами администратора)
В Windows отсутствует встроенная возможность автомонтирования vhd-файлов при перезагрузке системы, поэтому нам придется разработать собственный механизм монтирования. В этом нам поможет планировщик заданий Windows и утилита diskpart.
Итак, создадим текстовый файл (C:\Scripts\attach_vhd.txt) со следующим кодом:
select vdisk file=»C:\vhd2\w10vhd.vhdx»
attach vdisk
select part 1
assign letter=K
exit
где:
C:\vhd2\w10vhd.vhdx – полный путь к VHD или VHDX образу диска
K –буква диска, которую нужно назначить VHD образу
Данный сценарий подключает указанный vhd файл, выбирает на нем первый раздел и назначает ему данную букву диска. Если на диске несколько разделов, измените код соответствующим образом, указав номер раздела, который нужно подключать.
Запустите Windows Task Scheduler (Taskschd.msc) и создайте новое задание планировщика (Actions -> Create Task). Настройте его следующим образом:
- Вкладка General:
- Укажите имя задания (Name):automountvhdx;
- Отметьте, что он должно запускаться независимо от того, вошел пользователь в систему или нет (Runwhetheruserisloggedonornot);
- Укажите, что задание должно запускаться с максимальными привилегиями ( Run with highest privileges);
- Вкладка Triggers:
- Добавьте новый триггер запуска при загрузке (AtStartup) с настройками по-умолчанию.
- Добавьте новый триггер запуска при загрузке (AtStartup) с настройками по-умолчанию.
- Вкладка Actions:
- Создадим новое действие New:
- Действие запуск программы (Start a program);
- Программа/скрипт: diskpart ;
- В качестве аргументов программы укажем: /s«C:\Scripts\attach_vhd.txt» ;
- Создадим новое действие New:
- На вкладке Conditions снимите галку у опции «Start the task only if the computer is on AC power«.
- Сохраните изменения. Система попросит вас указать данные учетной записи, из-под которой будет запускаться задание (учетная запись должна обладать правами администратора).
Чтобы задание выполнялось от имени системы, еще раз откройте его свойства и на вкладке General нажмите кнопку Change User or Group. В окне выбора пользователя укажите system и сохраните изменения.
Теперь при следующей перезагрузке компьютера указанный виртуальный VHDx диск будет смонтирован автоматически.
Если вы хотите, чтобы виртуальный vhdx диск монтировался не в отдельную букву диска, а в папку, измените код в файле c:\Scripts\attach_vhd.txt на:
select vdisk file=»C:\vhd2\w10vhd.vhdx»
attach vdisk
select part 1
assign mount=»c:\mount»
exit
В результате выполнения данной команды виртуальный диск будет смонтирован в отдельный каталог на вашем физическом диске (в данном каталоге будет отображаться содержимое vhdx файла).
Можно смонтировать не только локальный VHD диск, но и диск из сетевого каталога через UNC путь.
select vdisk fils=»\\192.168.1.100\share\shared.vhdx»
Для тестирования работы коды вашего скрипта автоматического подключения виртуальных дисков не обязательно каждый раз перезагружать компьютер, достаточно в командной строке с правами администратора выполнить команду:
diskpart /s c:\Scripts\attach_vhdx.txt
Если ваш код не содержит ошибок, то команда подключит vhdx файл и в системе появится новый диск.
Данные способы автоматического подключения виртуальных дисков работают как в Windows 10, так и в Windows 8.1 и Win 7.
Если вы больше любите PowerShell, можно автоматически смонтировать VHDX диск с помощью следующего PoSh скрипта в автозагрузке (для управления дисками изспользуются командлеты из модуля Storage):
VHD Set — новый тип виртуальных дисков в Windows Server 2016
Следующей полезной новинкой представленной в Windows Server 2016 – новый формат виртуальных дисков — VHD Set (VHDS), предоставляющий возможность одновременного использования одного виртуального диска несколькими виртуальными машинами. Данная возможность предполагает использование в сценариях гостевых кластеров (файловый кластер, SQL Server AlwaysOn FCI и пр), когда нужны общие диски для доступа со всех виртуальных машин-узлов кластера. Технология VHD Set предназначена для замены Shared VHDX дисков, и также не требует настройки виртуальных HBA, SAN для презентации одного LUN нескольким ВМ.
В Windows Server 2012 R2 для реализации функционала гостевых кластеров использовался формат общих виртуальных дисков Shared VHDX. Однако у технологии Shared VHDX есть несколько недостатков:
- невозможность изменения размера или миграции общих VHDX дисков
- для VHDX дисков не поддерживаются резервное копирование, контрольные точки и репликация
VHDS диски лишены данных ограничений, однако будут работать только в ВМ с гостевой ОС Windows Server 2016 . VHDS диски обеспечивают следующий новый функционал:
-
- поддержка репликации и бэкапа на уровне хоста
- изменение размера диска VHD Set на лету (без остановки ВМ)
- поддержка горячей миграции дисков
- создание контрольных точек (чекпоинтов) для файлов .vhds
Чтобы создать новый диск VHD Set, в графическом меню Hyper-V Manager выберите New -> Virtual Disk. В качестве типа диска укажите VHD Set, затем выберите тип диска (фиксированный или динамический), имя файла, местоположение и размер.
Этот диск можно создать и с помощью PowerShell:
New-VHD –Path c:\clusterstorage\vmstorage01\DynamicDisk.vhds -SizeBytes 40Gb -Dynamic
При создании диска достаточно указать расширение файла vhds, в результате чего PowerShell автоматом создаст VHD Set диск. При создании диска типа VHD Set, появляются два файла:
- .avhdx – собственно файл диска с данными (может быть как фиксированного размера так и динамического)
- .vhds – небольшой (260 Кб) файл с метаданными для координации доступа между узлами (нодами) гостевого кластера.
Далее приведем пример создания двухузлового гостевого кластера на VHDS дисках.
Создадим два новых VHDS диска. Один будет являться диском свидетелем в кворуме кластера, второй – диском с данными. К примеру, наш кластер представляет собой две ВМ. На каждой из виртуальных машин подключим оба VHDS диска. Это можно выполнить из графического интерфейса Hyper-V или с помощью PowerShell:
Add-VMHardDiskDrive -VMName VMCL01 -Path «c:\ClusterStorage\SharedDisk\VM_Quorum.vhds» -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL01 -Path «c:\ClusterStorage\SharedDisk\VM_Shared.vhds» -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL02 -Path «c:\ClusterStorage\SharedDisk\VM_Quorum.vhds» -SupportPersistentReservations
Add-VMHardDiskDrive -VMName VMCL02 -Path «c:\ClusterStorage\SharedDisk\VM_Shared.vhds» -SupportPersistentReservations
На каждом из виртуальных серверов нужно установить компонент Failover Clustering:
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools -ComputerName VMCL01
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools -ComputerName VMCL02
get-disk |? OperationalStatus -Like «Offline» | Initialize-Disk
И создадим на них NTFS разделы:
New-Volume -DiskNumber 1 -FileSystem NTFS -FriendlyName Quorum
New-Volume -DiskNumber 2 -FileSystem NTFS -FriendlyName Data
Осталось создать кластер:
# Проверка совместимости
Test-Cluster VMCL01,VMCL02
# Создаем кластер
New-Cluster -Name FSCluster01 -Node VMCL01,VMCL02 -StaticAddress 192.168.0.50
(Get-ClusterResource |? Name -like «Cluster Disk 1″).Name=»Quorum»
(Get-ClusterResource |? Name -like «Cluster Disk 2″).Name=»Data»
# Укажем диск-свидетель
Set-ClusterQuorum -DiskWitness Quorum
# Добавим диск Cluster Shared Volume
Get-ClusterResource -Name Data | Add-ClusterSharedVolume
Если все выполнили правильно, получится двухузловой кластер.
Возможна конвертация имеющихся общих VHDX дисков в формат VHD Set. Конвертация выполняется в офлайн режиме (диск не должен использоваться и быть отключен от всех ВМ) с помощью командлета Convert-VHD:
Convert-VHD «C:\ClusterStorage\SharedDisk\old.vhdx» «C:\ClusterStorage\SharedDisk\new.vhds»
Итак, технология VHD Set в Windows Server 2016 позволяет с легкостью создать гостевой кластер MSFT без использования сложных технология NPIV, виртуальных HBA и виртуальной SAN сети. Виртуальные VHDS диски нативно поддерживают изменение размера, снапшоты и миграцию.
Загрузка windows server с vhd
Если вам, как и мне, требуется запуск Windows 8 “на железе” (в принципе, работа в виртуально машине меня устраивала почти во всем, кроме того, что там нельзя запустить Hyper-V, а значит и эмулятор Windows Phone 8), то у вас возможны следующие варианты:
- установить Windows 8 вместо текущей ОС. Мне не подошло, т.к. рабочая среда у меня – серверная, плюс имеется куча установленного и настроенного ПО, которое почти гарантированно придется переустанавливать
- установить второй системой в dualboot. Вариант хороший, но, по некоторым соображениям я решил отказаться и от него – все же система не основная, и при необходимости удалить файл виртуального диска все же проще, нежели возиться с разделами
- настроить загрузку с виртуального (VHD) диска
Собственно, как ясно из заголовка , я остановился на последнем варианте.
Здесь, правда, есть пара подвариантов:
- вы ставите систему с 0 из дистрибутива. Для частного применения самый, наверное, удобный вариант. На этом варианте я особо останавливаться не буду, т.к. схема подробно описана в блоге Скотта Хансельмана Guide to Installing and Booting Windows 8 Developer Preview off a VHD (Virtual Hard Disk). (в двух словах: качаете дистрибутив делаете из него загрузочную флэшку, запускаетесь с этой флэшки, на этапе выбора диска, куда ставить систему, переключаетесь в консоль, создаете новый виртуальный диск, подключаете его и развертываете систему на этот диск)
Update: если вам ближе читать на русском, то можете воспользоваться пошговым руководством отсюда
- у вас уже есть готовая установленная система на виртуалке и вам требуется просто перенести загрузку “на железо”
Я остановился именно на втором варианте, в первую очередь потому, что в нашей компании для развертывания системы используется система распространения готовых образов через System Center Configuration Manager (там помимо собственно операционки ставится куча корпоративного ПО, плюс накатывается куча различных настроек, например, система включается в домен, …), но в этих образах не предусмотрен выбор диска для установки (что логично – они нужны для развертывания на стандартизованных виртуальных машинах, а там это не требуется).
Итак, у нас есть:
- компьютер, на котором установлена Windows 7 или Windows Server 2008 R2
- VHD-файл c развернутой Windows 8 (у меня это путь D:\Hyper-V\VHDs\T2.vhd).
Все действия нужно, проводить с правами локального администратора.
VHD Native Boot снаружи и внутри
Цель настоящей статьи — рассказать о моем опыте работы с весьма полезной и не слишком хорошо известной функцией Windows, которая называется VHD Native Boot, то есть способности загружаться с виртуального жесткого диска формата VHD/VHDx.
Начиная с 7-й версии, в Windows появилась возможность создавать виртуальные диски VHD/VHDx (далее просто VHD), а также подсоединять и отсоединять их через графический интерфейс «Управление дисками» и утилиту командной строки diskpart. Кроме этого, Windows научилась с таких дисков загружаться, и все бы ничего, но этот самый Native Boot был доступен только обладателям старших версий, то есть от Pro и выше. Очевидно, что это было лишь маркетинговое ограничение, потому что с появлением Windows 10, а я проверял Anniversary Update (1607) и Creators Update (1703), никаких ограничений больше нет. Это работает и в Windows 10 Home, причем она может выступать как в роли хоста, так и в роли гостя. О том, как это выглядит и как это можно использовать, вы узнаете ниже.
С давних пор меня интересовала идея использования виртуализации применительно к рабочему компьютеру, внутренней виртуализации, если так можно выразиться. Как полезны и удобны виртуальные машины для разработчиков-программистов, специалистов по безопасности, тестированию. А вот до уровня домашнего/рабочего компьютера и его операционной системы это дело все никак не доходило. Ну, очевидно же, что если операционная система — такой сложный и чувствительный компонент, нельзя огульно доверять ее пользователю, он ее так и норовит чем-нибудь заразить или повредить. Да, есть резервное копирование и восстановление из точек восстановления (то есть из теневой копии), и это отличные вещи. Но это весьма чувствительные к ошибкам компоненты, и могут не спасти, кроме того, многие зловреды умеют удалять теневые копии, не оставляя пользователю шанса. Хотелось бы что-то простое и банальное на уровне copy-paste, чтобы «упавшую» или «испортившуюся» систему вернуть в рабочее состояние в течение нескольких минут. Конечно, идеально было бы, чтобы решение было в самой системе, просто заложено в ней. Hyper-V все же не совсем то, хотя может быть его и допилят до требуемого уровня. Ведь хочется, чтобы все возможности машины, все ее железо, вся мощь были доступны, с минимальными жертвами.
Использование виртуального жесткого диска вместо реального кажется вполне допустимой жертвой с учетом того, что вся система умещается в один файл, и достаточно этот файл время от времени копировать куда-то «в сторонку», и всё будет хорошо. Ведь копировать один файл, пусть и большой, явно проще, чем десятки тысяч. Кроме того, такой файл можно легко использовать для развертывания Windows в организации.
Когда есть несколько (немного) типов компьютеров, достаточно установить систему и все требуемое ПО на VHD, а потом просто скопировать этот файл на все аналогичные компьютеры, сведя работы на местах к минимуму. Неплохо было бы иметь некую оболочку, без загрузки Windows, что-то типа «консоли гипервизора», позволяющую попадать в нее и работать с VHD на уровне файлов, копировать, заменять, обновлять и т.д. Тем более, что сама Windows такую оболочку в своем составе имеет, и называется она Windows Recovery Environment, далее WinRE. Давайте посмотрим, как все это выглядит на практике.
1. Установка Windows на VHD с нуля
Эта тема широко освещена в Сети, существуют десятки толковых руководств (см. ссылки в конце статьи), поэтому я остановлюсь лишь вскользь, попутно рассматривая возможные варианты.
В целом все сводится к нажатию волшебной комбинации Shift-F10 в момент, когда компьютер загрузился с установочного диска. Параллельно открывается окошко командной строки, где следует, используя diskpart, отформатировать и разметить реальный жесткий диск (если компьютер/диск новый) и создать VHD требуемого объема. Для простоты я буду рассматривать установку 64-разрядной версии и жесткие диски с MBR.
Итак, жесткий диск разбит, папка VHDs на соответствующем томе создана, теперь в diskpart надо создать виртуальный жесткий диск в этой папке, дав ему понятное имя, и выполнить присоединение, тогда тому виртуального диска будет присвоена очередная буква. Теперь можно вернуться в окно установки Windows и выбрать именно эту букву для установки. Всё, дальше программа установки все сделает сама. В том числе и добавит нужную запись в файл BCD.
Сразу скажу, что использовать bcdedit мне показалось уж слишком жестоким самоистязанием, поэтому я позволил себе использование одного стороннего инструмента для манипуляций, это утилита Bootice соответствующей разрядности. Предположим, он у вас есть на том же установочном диске. Если нет, в дальнейшем я покажу, как его можно «закинуть» в нашу оболочку «гипервизора».
Итак, для демонстрации пусть у меня есть один жесткий диск 25 Gb (я воспользуюсь любимым Virtualbox для показа), в нем один раздел, там папка VHDs, где я создал виртуальный диск, а на него установил Windows 10.
Вот так будет выглядеть меню загрузки системы в Bootice (раздел BCD, Easy Mode)
Здесь 25 Gb C: это тот «физический» диск, на котором я создал виртуальный размером 20 Gb и куда установил Windows 10. Все прекрасно, но дальше нам нужно создать оболочку для управления. Как известно, WinRE всегда устанавливается вместе с Windows и приходит на помощь тогда, когда обнаруживаются проблемы с загрузкой. Нам же она нужна для другой цели, я хочу попадать туда для работы с VHD-файлами. Добавим пункт WinRE в меню загрузки. Для этого в Bootice воспользуемся Professional Mode, последний объект в списке слева это как раз Windows Recovery, справа видно его расположение на VHD:
Этот объект, вернее, ссылку на него, надо добавить в список меню загрузки, выберем вверху слева ветвь Windows Boot Manager, в правой панели выберем пункт Display Order и добавим пункт про WinRE из выпадающего списка:
Теперь пункт Windows Recovery Environment будет показываться в загрузочном меню системы, в чем мы можем убедиться, вернувшись в Easy Mode:
Осталось перезагрузиться и выбрать второй пункт, начнется загрузка WinRE, а там нас интересует только пункт Поиск и устранение неисправностей, Дополнительные параметры, Командная строка. Все это напоминает и программу установки Windows, и прародителя WinRE, широко известную Windows Preinstallation Environment. Отсюда, собственно, и начинается работа с оболочкой, и не так важно, какую именно вы выберете, поскольку там все приблизительно одно и то же.
Наш основной жесткий диск оказывается в ней диском C:, в его папке VHDs обнаруживается наш master.vhd, и мы можем спокойно его куда-нибудь скопировать. В WinRE волшебной командой мы подключаем сеть:
автоматически выбирается и запускается драйвер сетевого адаптера, получается ip-адрес от сервера DHCP, и мы можем работать с сетью. В Virtualbox я могу подключить сетевую папку такой командой:
и оттуда уже скопировать необходимые инструменты для работы в оболочке. Так как выбрана версия x64, то и программы, запускаемые в WinRE, должны быть x64, никакие суррогаты не запустятся.
Помимо Bootice легко добавляются Far Manager, 7-zip, а с ними уже как-то повеселее. Мне удалось найти даже работающий веб-браузер Palemoon Portable, а уж с ним загрузить из Сети необходимые компоненты совсем легко. Прекрасно установился cygwin64, что открывает путь для ssh/rsync в смешанных средах. Дальше понятно, у нас есть возможность спокойно архивировать и копировать файлы vhd. Если что-то не так в master.vhd, мы загружаемся в WinRE и забираем его резервную копию из сетевого хранилища, затем выходим из WinRE и получаем нашу систему обратно.
Прямо из оболочки WinRE при помощи diskpart или Bootice можно создать новый VHD диск, запустить программу установки Windows, если хочется добавить какую-то иную версию и установить эту новую Windows на новый VHD, нужный пункт в меню загрузки ОС добавится сам.
Осталось только подстраховаться на тот случай, если с master.vhd все настолько плохо, что и в оболочку WinRE не загрузишься, ведь она часть этого диска. Конечно, это не смертельно, всегда можно загрузиться с установочного диска Windows и нажать Shift-F10, но приложив определенные усилия, можно сделать так, чтобы WinRE находилась на нашем хост-диске, и грузиться в нее оттуда. Загрузочное меню будет выглядеть так:
2. Установка Windows на VHD на работающем компьютере
Не представляет никакой проблемы добавить на имеющемся компьютере дополнительную операционную систему, создав новый VHD и присоединив его, а затем запустив программу установки и выбрав букву, назначенную для присоединенного диска. Намного более сложной задачей будет перенос текущей конфигурации, уже установленной на физическом диске системы на диск виртуальный. Здесь приходит на ум несколько вариантов. Первый, о котором я вспомнил, это использовать Windows Backup, ведь он как раз создает файл VHD (vhdx) в режиме создания образа системы. Казалось бы, всё, что требуется — это добавить ссылку на такой VHD в меню загрузки и посмотреть, что выйдет. Так я и сделал, при первой загрузке Windows выдала ошибку, а при всех последующих старательно что-то загружалось, очень долго, и даже промелькивало окошко с картинкой экрана блокировки первоначальной системы, но так и исчезало опять. Не знаю почему, но с VHD-диска, полученного из backup’а, Windows загрузить не удается. Пришлось идти иным путем, воспользоваться Disk2vhd из комплекта Sysinternals.
Все довольно просто, выбираешь раздел физического диска, или весь диск, и Disk2vhd делает из него VHD-файл:
Но дальше начинаются неудобства. Получившийся VHD, какого бы он ни был реального размера, сообщает о себе, что он размером с весь наш физический диск. То есть если у меня был физический диск 180 Gb, а я выбрал только первый раздел размером 100 Gb, VHD-файл получился около 50 Gb, но сообщает он о себе как о 180-гигабайтном. Проблема здесь в том, что если с такого VHD загрузиться, то Windows потребует 180 Гб места для его работы. То есть как его ни оптимизируй (defrag, sdelete -z), как ни сжимай (compact vdisk, shrink), от первоначальных характеристик, снятых Disk2vhd никак не избавиться. Пришлось пойти на сложное преобразование, создать пустой VHD, загрузить в Virtualbox PartedMagic, подсунув тому преобразованный и пустой VHD и при помощи Gparted (и Clonezilla, если не хочется возится с bootrec) перенести раздел. В результате получился VHD 20 Gb, с которого я сейчас и пишу данную статью.
3. Использование дифференциальных VHD
В особо ненадежных средах, на публичных компьютерах или при проведении каких-то опасных экспериментов, может пригодиться возможность использования дифференциальных VHD-дисков, на которых записывается только разница, изменившаяся информация, а оригинальный VHD остается без изменений. Ясно, что для начала надо уже иметь работающую систему на VHD-диске, а потом добавить вариант с дифференциальным диском. Создать такой диск можно в diskpart или все в том же Bootice. Пусть master.vhd наш основной диск, создадим для него дифференциальный child.vhd, нажав кнопку Create:
Теперь нужно добавить/исправить в BCD пункт, отвечающий за загрузку с VHD, указав вместо master.vhd дифференциальный child.vhd.
Для этого воспользуемся Professional Mode в Bootice, сделаем копию имеющегося пункта Windows 10 (правая кнопка мыши, Duplicate this entry) и переименуем новый в Windows 10 Child VHD. Теперь в этом пункте исправим ApplicationDevice и OsDevice, изменив имя vhd-файла:
Всё, теперь нужный пункт добавлен в загрузочное меню. Если выбрать Windows 10 Child VHD, Windows запустится и с этого момента будет все изменения записывать в child.vhd. Следует учесть, что под child.vhd в момент загрузки будет зарезервировано столько же места, сколько указано в master.vhd, то есть в нашем случае 20 Gb, пусть его реальный размер в сотни раз меньше. Время от времени имеет смысл выполнять процедуру слияния (merge), то есть отправлять накопленную разницу из child в master, чтобы ничего не потерять. Дело в том, что стоит вам загрузиться не в child, а в master или даже WinRE на основе master.vhd, то связь между master и child будет нарушена, придется чинить child, но Bootice и это умеет:
4. Рекомендуемая конфигурация физического диска при работе с загрузочными VHD
Я бы предложил разметить физический диск следующим образом.
Один раздел, достаточно большой, оставить под хранение файлов VHD, тут все зависит от того, сколько разных VHD вам понадобится. Минимально для установки Windows x64 требуется 20 Гб, можно создавать динамические диски, то есть увеличивающие свой реальный размер только по мере их внутреннего наполнения. Но еще раз подчеркну, в момент загрузки динамического VHD Windows резервирует под него место в соответствии с указанным максимальным размером.
Microsoft советует использовать VHD фиксированного размера в производственной среде, а динамические — только для тестов, но я особой потери производительности у динамических VHD не ощутил.
Второй раздел я бы предпочел создать для данных пользователя и набора портативных приложений, если требуется, например, загружаться с разных VHD, а работать с одними и теми же файлами и программами. Такое деление может быть полезным еще и для того, чтобы раздел с VHD вообще скрыть, во избежание неразумных действий конечного пользователя.
А скрыть раздел можно при помощи вот такого нехитрого сценария для diskpart, с учетом выбранного диска и раздела для хранения VHD.
Теперь раздел скрыт, буква ему не присвоена, однако Windows все равно будет грузиться с VHD, хранящегося в этом разделе. Единственный нюанс — выбор места на физическом диске для файла подкачки. Если он выбирается системой, и это как раз тот раздел, который будет скрыт, каждый раз при старте Windows будет спрашивать, где же создавать файл подкачки.
А чтобы вернуть ларчик назад, достаточно в diskpart выполнить команду