# FWS Gameboot — composant Windows Composant à déployer **dans le Windows 11 gaming** (partition bare-metal dédiée) pour le dual-boot orchestré « hibernate-swap » de FWS : **retour vers FWS** après la session, **lancement automatique du jeu**, **auto-login**, et **premier démarrage tout automatique** (config + installation des jeux). > ⚠️ **Statut : non validé sur matériel réel.** Sémantique `bcdedit bootsequence`, > auto-login, URLs d'installeurs Riot, resume GPU — à tester. Plan : > `docs/hibernate-swap-dualboot.md`. ## Fichiers | Fichier | Rôle | |---|---| | `FirstBoot-FwsGameboot.ps1` | **1er démarrage (une fois)** : lance Install-FwsGameboot puis Install-Games, pose un marqueur. | | `Install-FwsGameboot.ps1` | Auto-login + tâche **logon** (fws-play) + tâche **ONSTART** + `powercfg /h off`. Vérifie compte admin/sans mot de passe. | | `Install-Games.ps1` | Télécharge + lance les installeurs **officiels** des jeux `autoinstall` (Riot). | | `installers.json` | URLs des installeurs Riot (à vérifier — Riot les change). | | `fws-play.ps1` | Lit le jeu demandé, le lance, attend, rebascule vers FWS. | | `fws-return.ps1` | Arme le boot suivant vers `FWS` ou `Windows` (locale-indépendant). | | `games.json` | Registre des jeux : `id → {type, …, process}`. | ## Ce que FWS ne peut PAS faire (et ce qu'il fait à la place) FWS **ne pré-embarque pas** Valorant/LoL : bundler Windows (licence) et redistribuer les binaires Riot est interdit, et Vanguard flaggerait un jeu pré-copié. **À la place**, `Install-Games.ps1` **télécharge les installeurs officiels depuis Riot** au premier boot → même résultat (« ils sont déjà là ») sans rien redistribuer. L'install de Valorant n'est pas 100 % silencieuse (Vanguard installe un driver noyau + impose un reboot). ## Câbler le « premier démarrage automatique » Le déclencheur dépend de comment Windows est installé : **A. Install Windows piloté par FWS (recommandé, via `autounattend.xml`)** — ajouter dans `` : ```xml 1 powershell.exe -NoProfile -ExecutionPolicy Bypass -File "C:\ProgramData\FWS\deploy\FirstBoot-FwsGameboot.ps1" FWS Gameboot first boot ``` (en ayant copié ce dossier dans `C:\ProgramData\FWS\deploy\` pendant le déploiement). **B. Manuel (pour tester maintenant)** — dans le Windows gaming, PowerShell admin : ```powershell Set-ExecutionPolicy -Scope Process Bypass -Force .\FirstBoot-FwsGameboot.ps1 ``` Idempotent : le marqueur `C:\ProgramData\FWS\.firstboot-done` empêche toute réexécution. ## Prérequis (vérifiés par Install-FwsGameboot, échec explicite sinon) - Compte gaming = **administrateur local** (bcdedit + tâches SYSTEM). - Compte **sans mot de passe** (auto-login fiable), ou lancer avec `-Password`. - **Secure Boot + TPM 2.0 + VBS/HVCI** actifs (Vanguard les exige). ## Flux complet (aucune interaction, hors confirmations Vanguard) 1. **1er boot** → `FirstBoot` → auto-login configuré + Valo/LoL téléchargés et installés. 2. Depuis FWS : `fws-gameboot to-windows --game valorant` → jeton sur l'ESP, hibernation, bascule. 3. Windows démarre **bare-metal** → **auto-login** → `fws-play` lit le jeton, lance le jeu. 4. À la fermeture/crash → retour, **session FWS restaurée** (apps/pages intactes). Filet permanent : côté FWS, `BootOrder[0] = FWS` ré-affirmé à chaque démarrage. ## Ajouter un jeu - Lancement : ajouter une entrée dans `games.json` (`id` en `[a-z0-9_-]`). - Auto-install : ajouter l'URL de l'installeur officiel dans `installers.json` (`autoinstall: true`). Types de lancement : `riot` / `uri` (`steam://…`, `com.epicgames.launcher://…`) / `exe`. ## Rappels sécurité - **Poste kiosque** : auto-login + tâches non-UAC ⇒ accès physique = bureau admin. - **BitLocker** : ne pas l'activer sans sauvegarder la clé (flip Secure Boot → écran de récupération). `manage-bde -status`.