Я не буду подробно рассказывать, как создать VHD-образ (или VHDX-образ) системы. Лично я "поднимаю виртуалку" на сервере Hyper-V, накатываю на нее обновления, устанавливаю нужный софт, делаю необходимые настройки и запускаю Sysprep.
С недавних пор я стал ставить друзьям и знакомым системы, которые запускаются с VHD-образа. Я не буду вдаваться в подробности преимуществ и недостатков этого метода, для меня самый главный плюс - быстрота установки и возможность переноса системы на другой физический диск за считанные минуты (плюс резервное копирование образа).
Итак, чистая система, один физический жесткий диск.
1. Копируем на флэшку VHD-образ и загружаемся с любого загрузочного диска Windows/WinPE.
2. Открываем командную строку (Shift+F10) и вводим последовательно команды:
diskpart
select disk 0
clean
create partition primary
active
format fs=ntfs label=HDD quick
assign letter=K
exit
copy /y /z E:\Win81.vhdx K:\Win81.vhdx
diskpart
select vdisk file=K:\Win81.vhdx
attach vdisk
select partition 1 (2, если у вас образ со скрытым разделом загрузки)
assign letter=L
exit
bcdboot L:\Windows /s K:\
wpeutil reboot
Теперь по порядку: что же произошло?
1. Первый блок команд diskpart создал на нашем диске единственный загрузочный раздел для нашей системы (можно также создать скрытый раздел для файлов загрузки) и назначил метку K: логическому диску.
2. Копирование VHD-образа на вновь созданный логический диск.
3. Второй блок команд diskpart монтирует VHD-образ и назначает метку L: виртуальному тому.
4. Копирование загрузочных файлов с помощью утилиты bcdboot с виртуального тома L: на логический загрузочный диск K:.
5. Перезагрузка установщика Windows/WinPE.
Блоки diskpart можно оформить в файлы сценариев (создать текстовый файл с блоками командам) и запускать с помощью diskpart /s script_name.
Таким образом, можно автоматизировать процесс, что я и сделал, написав простейший bat-файл:
diskpart /s win81_1.txt
copy /y /z E:\Win81.vhdx K:\Win81.vhdx
diskpart /s win81_2.txt
bcdboot L:\Windows /s K:\
wpeutil reboot
где win81_1.txt и win81_2.txt - сценарии diskpart
P.S. В процессе установки я столкнулся с ошибкой VHD_BOOT_HOST_VOLUME_NOT_ENOUGH_SPACE, возникающей тогда, когда на физическом диске (разделе) меньше пространства, чем раздел виртуального образа VHD. Для решения нужно уменьшить (shrink) размер VHD-образа в Hyper-V Manager или сторонних утилитах. Учтите, вы не сможете этого сделать, если размер раздела установленной системы в VHD-образе превышает раздел физического жесткого диска. Т.е. нужно:
1. подмонтировать VHD-образ
2. открыть оснастку Управление дисками (diskmgmt.msc)
3. проверить размер раздела, при необходимости сжать
4. отмонтировать VHD-образ
5. открыть Hyper-V Manager и сделать уменьшение диска
С недавних пор я стал ставить друзьям и знакомым системы, которые запускаются с VHD-образа. Я не буду вдаваться в подробности преимуществ и недостатков этого метода, для меня самый главный плюс - быстрота установки и возможность переноса системы на другой физический диск за считанные минуты (плюс резервное копирование образа).
Итак, чистая система, один физический жесткий диск.
1. Копируем на флэшку VHD-образ и загружаемся с любого загрузочного диска Windows/WinPE.
2. Открываем командную строку (Shift+F10) и вводим последовательно команды:
diskpart
select disk 0
clean
create partition primary
active
format fs=ntfs label=HDD quick
assign letter=K
exit
copy /y /z E:\Win81.vhdx K:\Win81.vhdx
diskpart
select vdisk file=K:\Win81.vhdx
attach vdisk
select partition 1 (2, если у вас образ со скрытым разделом загрузки)
assign letter=L
exit
bcdboot L:\Windows /s K:\
wpeutil reboot
Теперь по порядку: что же произошло?
1. Первый блок команд diskpart создал на нашем диске единственный загрузочный раздел для нашей системы (можно также создать скрытый раздел для файлов загрузки) и назначил метку K: логическому диску.
2. Копирование VHD-образа на вновь созданный логический диск.
3. Второй блок команд diskpart монтирует VHD-образ и назначает метку L: виртуальному тому.
4. Копирование загрузочных файлов с помощью утилиты bcdboot с виртуального тома L: на логический загрузочный диск K:.
5. Перезагрузка установщика Windows/WinPE.
Блоки diskpart можно оформить в файлы сценариев (создать текстовый файл с блоками командам) и запускать с помощью diskpart /s script_name.
Таким образом, можно автоматизировать процесс, что я и сделал, написав простейший bat-файл:
diskpart /s win81_1.txt
copy /y /z E:\Win81.vhdx K:\Win81.vhdx
diskpart /s win81_2.txt
bcdboot L:\Windows /s K:\
wpeutil reboot
где win81_1.txt и win81_2.txt - сценарии diskpart
P.S. В процессе установки я столкнулся с ошибкой VHD_BOOT_HOST_VOLUME_NOT_ENOUGH_SPACE, возникающей тогда, когда на физическом диске (разделе) меньше пространства, чем раздел виртуального образа VHD. Для решения нужно уменьшить (shrink) размер VHD-образа в Hyper-V Manager или сторонних утилитах. Учтите, вы не сможете этого сделать, если размер раздела установленной системы в VHD-образе превышает раздел физического жесткого диска. Т.е. нужно:
1. подмонтировать VHD-образ
2. открыть оснастку Управление дисками (diskmgmt.msc)
3. проверить размер раздела, при необходимости сжать
4. отмонтировать VHD-образ
5. открыть Hyper-V Manager и сделать уменьшение диска
Комментариев нет:
Отправить комментарий