Files
FWS-ISO/configs/releng/airootfs/usr/local/share/fws/gameboot-windows/Install-FwsGameboot.ps1
T
nocode beec38a899 feat(gameboot-windows): add Windows dual-boot orchestration scripts for FWS gaming
Add PowerShell scripts to manage dual-boot transitions between FWS and Windows 11 for gaming sessions with Valorant.

Includes:
- fws-return.ps1: Arms firmware boot-next (one-shot) to target OS via bcdedit
- fws-play.ps1: Orchestrates Valorant session with robust crash recovery
- Install-FwsGameboot.ps1: Deploys scripts, disables hibernation, creates ONSTART task
- README.md: Documentation on dual-boot workflow and prerequisites

Design principles:
- Minimal footprint, no Vanguard interference (no injection/kernel hooks)
- Permanent fallback: BootOrder[0]=FWS catches unmanaged reboots
- Robust locale-independent bcdedit parsing via EFI paths and GUIDs
- Crash-proof game session: ONSTART task disabled during play to prevent mid-match boot changes
2026-07-08 02:39:27 +02:00

45 lines
2.4 KiB
PowerShell

<#
Install-FwsGameboot.ps1 — installe le composant de RETOUR FWS dans Windows.
A lancer UNE FOIS, EN ADMIN, dans le Windows gaming. Deploie les scripts,
desactive l'hibernation/Fast Startup de Windows (pour un reboot PLEIN → NTFS
jamais "sale"), et cree une tache ONSTART (SYSTEM) qui arme le boot suivant
vers FWS des le demarrage — filet anti-crash : si Windows redemarre tout seul
(Windows Update, plantage) sans passer par fws-play, le boot suivant repart
vers FWS.
Empreinte minimale et SANS interference avec Vanguard : aucune injection,
aucun pilote/hook noyau — juste des scripts, une tache planifiee et un reglage
d'alimentation.
#>
#Requires -RunAsAdministrator
$ErrorActionPreference = 'Stop'
$dest = Join-Path $Env:ProgramData 'FWS'
New-Item -ItemType Directory -Force -Path $dest | Out-Null
Copy-Item (Join-Path $PSScriptRoot 'fws-return.ps1') $dest -Force
Copy-Item (Join-Path $PSScriptRoot 'fws-play.ps1') $dest -Force
# (1) Pas d'hibernation Windows / Fast Startup : reboot PLEIN → volumes propres.
& powercfg /h off 2>$null
# (2) Tache ONSTART (SYSTEM) : armer le boot suivant vers FWS au demarrage.
$action = New-ScheduledTaskAction -Execute 'powershell.exe' `
-Argument ('-NoProfile -ExecutionPolicy Bypass -WindowStyle Hidden -File "{0}\fws-return.ps1" -Target FWS' -f $dest)
$trigger = New-ScheduledTaskTrigger -AtStartup
$principal = New-ScheduledTaskPrincipal -UserId 'SYSTEM' -LogonType ServiceAccount -RunLevel Highest
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
Register-ScheduledTask -TaskName 'FWS-Return-OnStart' -Action $action -Trigger $trigger `
-Principal $principal -Settings $settings -Force | Out-Null
Write-Host ""
Write-Host "Composant FWS installe dans $dest et tache 'FWS-Return-OnStart' creee." -ForegroundColor Green
Write-Host ""
Write-Host "RAPPELS IMPORTANTS :" -ForegroundColor Yellow
Write-Host " - NE PAS activer BitLocker (Device Encryption) sans sauvegarder la cle :"
Write-Host " le passage de Secure Boot OFF->ON cote FWS change PCR7 et declencherait"
Write-Host " l'ecran de recuperation BitLocker. (Verifie : manage-bde -status)"
Write-Host " - Pour un lancement AUTO de Valorant : ajouter fws-play.ps1 au demarrage"
Write-Host " de session du compte gaming (autologin), sinon lance-le a la main."
Write-Host " - Vanguard exige Secure Boot + TPM 2.0 + VBS/HVCI : ne les desactive pas."