diff --git a/scripts/Windows/OS/Install.ps1 b/scripts/Windows/OS/Install.ps1 index af0a8958..b015ebf0 100644 --- a/scripts/Windows/OS/Install.ps1 +++ b/scripts/Windows/OS/Install.ps1 @@ -84,7 +84,25 @@ function Start-InstallationLoop { } switch (Get-Stage) { + ([SetupStage]::Configure) { + if (Get-Config "valhalla.windows.dualboot.enable") { + # Fix synchronization between Linux and Windows clocks. + Set-ItemProperty "HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation" -Name "RealTimeIsUniversal" -Value 1 -Type "DWord"; + + # Force time resynchronization + $service = Get-Service W32Time; + $stopped = ($service.Status -eq "Stopped"); + Start-Service $service; + w32tm /resync /force; + + if ($stopped) { + Stop-Service $service; + } + } + } ([SetupStage]::Install) { + Write-Host "Entering install phase"; + Set-IsFinished $true; } Default {} } diff --git a/scripts/Windows/Scripts/Config.ps1 b/scripts/Windows/Scripts/Config.ps1 index a4bcf477..311b13b7 100644 --- a/scripts/Windows/Scripts/Config.ps1 +++ b/scripts/Windows/Scripts/Config.ps1 @@ -4,6 +4,7 @@ using namespace System.Security.Principal; enum SetupStage { Initialize + Configure Install } @@ -171,6 +172,8 @@ $null = New-Module { param( $Value ) + + Set-SetupOption $finishedOption $true; } <#