| | LevT 
 
  
 Platinum Member
 | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору настройка свежеустановленной винды для запуска Packer
 
 
 Код:
 | 
 Set-WinSystemLocale -SystemLocale 'ru-Ru'
 Set-TimeZone -Id 'Russian Standard Time'
 
 
 Set-ExecutionPolicy RemoteSigned -Force
 
 # скачаем в фоне хелп
 Start-Job -ScriptBlock {Update-Help}
 
 
 # показывает доступные в винде пакетные менеджеры,
 # флаг -ForceBootstrap автоматизирует установку dll, от которой пока зависит пакетный менеджмент в винде
 # C:\Program Files\PackageManagement\ProviderAssemblies\nuget\2.8.5.208\Microsoft.PackageManagement.NuGetProvider.dll
 Find-PackageProvider -ForceBootstrap
 
 Install-Module Chocolatey -Force
 
 
 # этот шаг можно пропустить
 New-Item '~\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1' -Force
 New-Item '~\Documents\WindowsPowerShell\Microsoft.PowerShellISE_profile.ps1' -Force
 New-Item '~\Documents\PowerShell\Microsoft.VSCode_profile.ps1' -Force
 
 
 # выше создаются оба профиля для консольного хоста и для ISE,
 # но автодополнение после choco установится только в тот из них, откуда запущено
 # потом можно повторить в другом хосте
 Install-ChocolateySoftware -Verbose
 
 # чтобы не спрашивало подтверждения на установку каждой софтины
 Get-ChocolateyFeature
 Enable-ChocolateyFeature allowGlobalConfirmation
 
 Install-ChocolateyPackage 7zip, notepadplusplus -Confirm:$false
 
 # требуется перезагрузка после выполнения
 Enable-WindowsOptionalFeature -FeatureName Microsoft-Hyper-V-All -Online
 
 
 | 
 
 
 
 Код:
 | # перенастроим в удобные места пути к виртуалкам и vhd/x
 
 $VmPath = 'C:\A\VM\Hyper-V'
 $VhdPath = Join-Path -Path $VmPath -ChildPath 'Virtual Hard Disks'
 New-Item $VhdPath -ItemType Directory -Force
 
 Set-VMHost -VirtualMachinePath $VmPath -VirtualHardDiskPath $VhdPath
 
 Install-ChocolateyPackage packer -Confirm:$false
 
 # здесь будут кэшироваться скачанные ISO
 $PackerCacheDir = 'C:\A\Packer\PACKER_CACHE_DIR'
 
 New-Item $PackerCacheDir -ItemType Directory -Force
 
 [System.Environment]::SetEnvironmentVariable('PACKER_CACHE_DIR',$PackerCacheDir,[System.EnvironmentVariableTarget]::Machine)
 
 # команда из комплекта choco
 refreshenv
 
 | 
 
 
 При первом запуске билда провайдером hyperv Packer создаст виртуальный свич 'packer-hyperv-iso'.
 Чтобы в виртуалке был интернет (например для скачивания обновлений), надо после его создания выпустить его в интернет:
 
 
 Код:
 | $NetAdapterToInternet = Get-NetRoute | Where DestinationPrefix -eq '0.0.0.0/0' | Get-NetAdapter
 
 Set-VMSwitch -Name packer-hyperv-iso -NetAdapterName $NetAdapterToInternet.Name -AllowManagementOS $true
 
 | 
 
 
 Добавлено:
 
 
 Да, насчёт совместимости виртуалок VirtualBox и Hyper-V я похоже заблуждался.
 
 VirtualBox давно объявил, что проблему решил после
 
 Код:
 | Enable-WindowsOptionalFeature -FeatureName HypervisorPlatform -Online
 
 | 
 
 Но нет, пока только делает вид...
 
 Тем не менее,
 
 
 Код:
 | Install-ChocolateyPackage virtualbox -Confirm:$false
 
 # делаем удобный путь для виртуалок
 
 $VboxDefaultMachinePath = 'C:\A\VM\Virtualbox'
 New-Item $VboxDefaultMachinePath -ItemType Directory -Force
 vboxmanage setproperty machinefolder $VboxDefaultMachinePath
 
 | 
 
 после этого можно билдить в нём
 
 Если включён Hyper-V, то надо предварительно сделать
 
 Код:
 | bcdedit /set hypervisorlaunchtype off
 
 | 
 
 и перезагрузиться...
 
 Настраивать свич для virtualbox нет нужды
 
 
 Добавлено:
 
 Лог настройки винды билдером virtualbox-iso
 |  | Всего записей: 18164 | Зарегистр. 14-10-2001 | Отправлено:  02:04 01-06-2020  | Исправлено: LevT,   12:48 23-07-2020
 | 
 |