Установка ОС на VHD и развертывание обновлений
VHD-диск в помощь при развертывании операционной системы Windows 7
Прежде чем разбираться, чем VHD-диск поможет нам при установке операционной системы Windows 7 необходимо разобраться, что же представляет собой данная технология и какими возможностями она обладает.
Общее представление о Virtual Hard Disk
Virtual Hard Disk (VHD) – это формат файла, содержащий полную структуру и содержание сходные с жестким диском, и используется для хранения виртуальных операционных систем, программ и других файлов в одном файле-образе, который можно открыть разными программами виртуализации или виртуальными машинами.
Компания Microsoft изначально не участвовала в создании данного формата, а купила его у компании Connectix вместе с программой виртуализации Connectix Virtual PC. C июня 2005 Microsoft сделала спецификацию формата VHD доступной третьим фирмам в рамках Microsoft Open Specification Promise.
Виртуальные жесткие диски позволяют нескольким операционным системам одновременно находиться на одном компьютере. Это позволяет разработчикам тестировать программное обеспечение на различных операционных системах без приобретения дополнительного оборудования. Возможность изменения жесткого диска виртуальной машины из системы хост-машины позволяет осуществлять:
- Обмен файлами между VHD и файловой системой
- Восстановление и резервное копирование
- Обеспечение безопасности данных (антивирусной и т.п.)
- Управление образами
- Конвертирование дисков (физических в виртуальные и т.п.)
Формат Microsoft VHD в настоящее время используется в Microsoft Virtual PC 2007, Microsoft Virtual Server 2005 R2 и Hyper-V. Windows 7 и Windows Server 2008 R2 предоставляет администраторам возможность автономного управления VHD-образами с возможностью безопасного доступа к VHD-образам без установки программного обеспечения для виртуализации.
Формат VHD используется в Complete PC Backup для Windows Vista в Business, Enterprise и Ultimate версиях. VirtualBox, являющаяся частью Sun xVM от Sun Microsystems (Oracle) поддерживает VHD со 2 версии и новее и может читать VHD-файлы на многих операционных системах. VMware ESX Server поддерживает VHD как альтернативу собственному формату VMDK. Acronis True Image Home 10 тоже поддерживает VHD.
Виртуальный образ реализуется как файл, хранящийся в файловой системе родительской ОС. Поддерживаются следующие типы виртуальных дисков:
- Fixed hard disk image - дисковый образ фиксированного размера, выделяется файл такого же размера как заданный размер виртуального диска.
- Dynamic hard disk image - динамический образ, имеет размер равный размеру записанных на диск данных. Перезаписывание существующих данных может не приводить к росту образа.
- Differencing hard disk image - разностный образ, содержит только блоки измененные относительно родительского образа.
- Linked to a hard disk - ссылка на жёсткий диск или раздел жесткого диска. Блоки данных записываются на физический диск или его раздел.
Теперь мы обладаем необходимым минимум знаний о возможностях VHD-дисков. Каким же образом он нам поможет в развертывании Windows 7?
Поддержка VHD-дисков в Windows 7
В первую очередь, возможность установки операционной системы Windows 7 (Windows Server 2008 R2) на виртуальный диск используется теми, кто хотел бы попробовать работу этих систем на своем компьютере, но по каким-то причинам, не рискует этого делать - не хочется, например, переразбивать разделы на жестком диске, есть сомнения в дальнейшей работоспособности или совместимости с уже установленной ОС. В нашем случае данная возможность используется в целях тестирования совместимости как программного, так и аппаратного обеспечения компьютера. Благодаря некоторым новым возможностям Windows 7/Windows Server 2008 R2 - это не проблема. Теперь мы можем установить новую ОС Windows 7 рядом с уже существующей, ни коим образом не затронув ее базовую функциональность, разбивку дисков или файловую структуру, а после тестирования восстановить все изменения (понадобится всего лишь восстановить загрузчик Windows XP и удалить виртуальный диск). Кроме того, мы можем спокойно установить несколько независимых копий ОС Windows 7 на одном разделе и успешно переключаться между ними.
Все это стало возможно благодаря встроенной поддержки виртуальных дисков - файлов в формате VHD. Windows 7/Windows Server 2008 R2 теперь воспринимают такие диски как отдельные разделы и поддерживают загрузку ОС, установленных внутри этих файлов. Т.е. из одного физического диска можно сделать один или несколько виртуальных, при этом остается возможность обращаться напрямую к физическому диску. Т.е., создаем файл .VHD нужного размера на уже существующей файловой системе того или иного диска, в процессе установки Windows 7 или Windows Server 2008 R2 монтируем этот VHD-файл, как отдельный раздел диска, устанавливаем в него ОС. При этом как ОС, установленная на "родительском" разделе, так и ОС в других .VHD, останутся нетронутыми.
Сценарий установки операционной системы на виртуальный диск состоит из следующих этапов:
- Вставляем загрузочный съемный носитель с операционной системой Windows 7 (Windows Server 2008 R2)
- Загружаем наш ПК со съемного устройства (диска/USB-устройства)
- Подтверждаем установку, выбираем язык и редакцию, соглашаемся с лицензией.
- На этапе мастера установки, где нас просят выбрать или создать тот раздел диска, на который будет установлена Windows 7, для начала создаем виртуальный диск, а потом устанавливаем на него операционную систему.
Создание виртуального диска во время установки операционной системы происходит в консольном (текстовом) режиме и обладает некоторой спецификой и сложностью. Поэтому для начала разберем, каким образом создается VHD-диск на установленной операционной системе Windows 7.
Управление виртуальным диском через консоль Управление дисками
Создание, подключение и отключение виртуальных жестких дисков в Windows 7 производится через интерфейс Управление дисками консоли управления Microsoft. Виртуальный жесткий диск может быть создан в любом месте на жестком диске компьютера, кроме папки Windows и вложенных в нее папок. Минимальный размер VHD-диска – 3 мегабайта. Максимальный размер ограничен лишь количеством свободного места на физическом жестком диске.
Разберем несколько сценариев работы с VHD-дисками, а именно: создание, присоединение, отсоединение и удаление.
Создание виртуального жесткого диска на установленной системе:
- Заходим в оснастку " Управление дисками". Несколько вариантов, чтобы попасть туда:
- "Пуск" -> "Выполнить", вводим в поисковую строку diskmgmt.msc и нажмите "Enter"
- "Пуск" -> "Поиск", вводим в поисковую строку diskmgmt.msc и нажмите "Enter"
- "Пуск" -> "Администрирование" -> "Управление компьютером" -> "Запоминающие устройства" -> "Управление дисками"
- Правой кнопкой мыши на "Мой компьютер" -> "Управление" -> "Запоминающие устройства" -> "Управление дисками".
- В меню "Действие" (правой кнопкой мыши на строке "Управление дисками") выбираем " Создать виртуальный жесткий диск".
- Нажмите " Обзор".
- Выбираем место, где будет храниться виртуальный жесткий диск (в любом месте, кроме папки Windows и ее подпапках). Указываем имя создаваемого диска и нажимаем " Сохранить".
- Если хотите, чтобы емкость виртуального жесткого диска увеличивалась по мере сохранения на нем данных, выберите " Динамическое расширение". Если хотите, чтобы емкость виртуального жесткого диска оставалась фиксированной, выберите " Фиксированный размер" и указываем объем создаваемого жесткого диска в мегабайтах, гигабайтах или терабайтах (не менее 3 Мб).
- Нажимаем " ОК" и дожидаемся, пока Windows 7 создаст виртуальный жесткий диск и установит драйвер для него.
- После создания виртуального диска описанным способом Windows 7 автоматически присоединяет (монтирует) его, поэтому сразу после создания диска мы можем увидеть его в интерфейсе управления дисками консоли управления Windows 7 в списке всех дисков, установленных в системе.
- Чтобы начать пользоваться созданным диском, инициализируйте его и создайте на нем раздел.
Присоединение виртуального жесткого диска
- В меню "Действие" выбираем пункт " Присоединить виртуальный жесткий диск" (присоединяем заранее созданный или скопированный диск).
- С помощью кнопки " Обзор" указываем место, где хранится файл виртуального жесткого диска. При необходимости выставляем галочку " Только для чтения" и нажимаем " ОК".
Отсоединение и удаление виртуального жесткого диска
- Щелкаем правой кнопкой мыши по виртуальному жесткому диску и в появившемся контекстном меню выбираем " Отсоединить виртуальный жесткий диск".
- При необходимости выставляем галочку " Удалить виртуальный жесткий диск" после удаления диска. Подтверждаем своё решение.
После отсоединения виртуальный жесткий диск будет недоступен до тех пор, пока вы не присоедините его снова.
После удаления файла виртуального жесткого диска, все данные, хранящиеся на нем, будут безвозвратно удалены.
Управление виртуальным диском через командную строку (консоль)
Для выполнения перечисленных ниже команд необходимо войти в командную строку с правами системного администратора и набрать команду Diskpart. Виртуальный жесткий диск также можно создать средствами утилиты командной строки DiskPart. Для этого нужно воспользоваться командой Create Vdisk. Синтаксис команды:
CREATE VDISK FILE=<"имя_файла"> MAXIMUM=<N> [TYPE={FIXED|EXPANDABLE}] [SD=<строка SDDL>] [PARENT=<"имя_файла">] [SOURCE=<"имя_файла">] [NOERR]
FILE=<"имя_файла"> – Указание полного пути и имени файла виртуального диска. Файл может находится в сетевой папке.
MAXIMUM=<N> – Максимальное дисковое пространство, предоставляемое виртуальным диском, заданное в мегабайтах (МБ).
TYPE={FIXED|EXPANDABLE} – FIXED создает файл виртуального диска фиксированного размера. EXPANDABLE задает изменяемый по мере размещения данных размер файла виртуального диска. По умолчанию используется параметр FIXED.
[SD=<строка SDDL>] – Указывает дескриптор безопасности в формате языка SDDL.
[PARENT=<"имя_файла">] – Путь к существующему родительскому файлу виртуального диска для создания разностного диска. При использовании PARENT нельзя использовать параметр MAXIMUM, поскольку размер разностного диска определяется родительским файлом. Помимо этого, также нельзя задавать параметр TYPE, поскольку создавать можно только расширяемые (параметр EXPANDABLE) разностные диски.
[SOURCE=<"имя_файла">] – Путь к существующему файлу виртуального диска для предварительного заполнения нового файла виртуального диска. При использовании параметра SOURCE данные из исходного файла виртуального диска копируются блок за блоком в создаваемый файл виртуального диска. Однако между ними отсутствуют отношения родитель-потомок.
NOERR – Только для сценариев. При возникновении ошибки программа DiskPart продолжает обработку команд, как если бы ошибки не было. Без использовании параметра NOERR программа DiskPart завершает работу, возвращая код ошибки.
Самый простой пример создания виртуального диска размером в 10 Гб:
CREATE VDISK FILE="c:\virtualdisk\disk.vhd" MAXIMUM=10240
За дополнительной информацией касательно команды create vdisk обращайтесь к справочному руководству утилиты diskpart – help create vdisk.
Для присоединения виртуального диска необходимо выполнить команду attach vdisk. Синтаксис команды:
ATTACH VDISK [NOERR] [READONLY] { [SD=<строка SDDL>] | [USEFILESD] }
NOERR – Только для сценариев. При возникновении ошибки программа DiskPart продолжает обработку команд, как если бы ошибки не было. Без использования параметра NOERR программа DiskPart завершает работу, возвращая код ошибки.
READONLY – Присоединяет виртуальный диск в режиме только для чтения. Любая операция записи приведет к возникновению ошибки ввода-вывода устройства.
SD=<строка SDDL> – Задает дескриптор безопасности в формате SDDL.
USEFILESD – Указывает, что для виртуального диска следует использовать дескриптор безопасности самого виртуального файла. Если параметр не указан, то у диска не будет явно заданного дескриптора безопасности, если не был также задан параметр SD=(строка SDDL).
Для успешного выполнения операции следует выбрать виртуальный диск командой Select vdisk. Синтаксис команды:
SELECT VDISK FILE=<"имя_файла"> [NOERR]
FILE=<"имя_файла"> – Указывает полный путь и имя файла существующего файла виртуального диска.
NOERR – Только для сценариев. При возникновении ошибки программа DiskPart продолжает обработку команд, как если бы ошибки не было. Без использования параметра NOERR программа DiskPart завершает работу, возвращая код ошибки.
SELECT VDISK FILE="c:\virtualdisk\disk.vhd" ATTACH VDISK
Для отсоединения виртуального диска необходимо воспользоваться командой Detach vdisk, предварительно выбрав его командой Select vdisk. Синтаксис команды Detach vdisk:
DETACH VDISK [NOERR]
NOERR – Только для сценариев. При возникновении ошибки программа DiskPart продолжает обработку команд, как если бы ошибки не было. Без использования параметра NOERR программа DiskPart завершает работу, возвращая код ошибки.