9836925a37
Add comprehensive test checklist for validating gameboot Windows dual-boot functionality across 8 phases, from ISO build through hibernation, Secure Boot, Windows deployment, BCD configuration, and full gameboot cycle testing. Includes safety precautions, prerequisite checks, and recovery procedures.
6.8 KiB
6.8 KiB
Checklist de validation matérielle — gameboot + dual-boot Windows
Rien de tout ça n'a encore tourné. Le code a passé deux revues adversariales, mais le déploiement Windows et le BCD sont marqués NON VALIDÉ : cette phase va faire remonter des bugs, surtout aux phases 5–6. Avance dans l'ordre (du moins risqué au plus destructif) et ne saute pas un ✅ pour passer au suivant.
⚠️ Avant tout — sécurité données
- Sauvegarde de tout ce qui compte sur la machine cible (les tests des phases 5+ effacent un disque entier).
- Un disque à sacrifier identifié (≠ disques de jeux
Games-L1/L2). Tes 3 NVMe sont pleins → libère-en un ou ajoute-en un. - Note écrite du disque exact à dédier à Windows (ex.
/dev/nvmeXn1) — tu la revérifieras à chaque étape.
Phase 0 — Prérequis
- Machine cible UEFI (pas BIOS) —
[ -d /sys/firmware/efi ] && echo UEFI - TPM 2.0 présent —
ls /sys/class/tpm/tpm0 - IOMMU activable au firmware (Vanguard l'exige) — à vérifier dans le setup BIOS.
- ISO Windows 11 25H2 (édition Pro de préférence) sur clé USB, branchée.
- Licence Windows valide sous la main (activation post-install).
Phase 1 — Build de l'ISO
./setup-aur.sha déjà tourné (repo local fws-local : anaconda, fws-dnd…)../build-offi.sh→ l'ISO se construit sanstarget not found(les nouveaux paquetswimlib hivex sbctl sbsigntools mokutil binutilssont officiels, tirés par mkarchiso).- ISO produite dans
out/…. - Écrire l'ISO sur une clé USB de boot (
dd/ Ventoy).
Phase 2 — Tests NON destructifs (aucune écriture disque)
- Booter l'ISO FWS en live.
fws-gameboot doctors'exécute et liste RAM / swap / VRAM / Secure Boot / entrées de boot.- Lancer l'installateur : la spoke « Dual-boot Windows » apparaît sur le hub Résumé.
- Cocher la case → le combo disque n'a AUCUN disque présélectionné (choix explicite obligatoire).
- Choisir un disque non vide → l'avertissement affiche « CE DISQUE CONTIENT DES DONNÉES ».
- Sélectionner le même disque pour FWS (Destination) et pour Windows → le Récapitulatif affiche ⛔ CONFLIT (contrôle croisé).
- Les lanceurs « Jouer à Valorant / LoL » apparaissent dans le menu d'applications (wofi/rofi).
pkexec fws-gameboot to-windowssans mot de passe en session active (polkit).
Phase 3 — Hibernation / resume (LE point dur matériel n°1)
À valider avant de câbler quoi que ce soit à Windows. RTX 5090 (Blackwell) = suspend/hibernate historiquement fragile.
- Provisionner un swap ≥ RAM+VRAM (~96 Go) et
resume=(cf.docs/hibernate-swap-dualboot.md§1-2). NVreg_PreserveVideoMemoryAllocations=1posé + servicesnvidia-suspend/hibernate/resumeactifs.systemctl hibernateavec une session graphique chargée (jeu/desktop lourd).- Au rallumage : session restaurée ET affichage NVIDIA intact (pas d'écran noir / Xid).
journalctl -b -1 -k | grep -iE 'hibernation|Image saved|resume'→ propre.
Phase 4 — Secure Boot
sudo fws-secureboot-setup→ signe\EFI\FWS\grubx64.efi+\EFI\BOOT\BOOTX64.EFI+ noyaux.- Firmware : Setup Mode →
sbctl enroll-keys --microsoft→ activer Secure Boot. bootctl status | grep 'Secure Boot'→ enabled.cat /sys/kernel/security/lockdown→ [none] (hibernation préservée).- FWS boote toujours sous Secure Boot (sinon → média de récupération).
Phase 5 — Déploiement Windows 🔴 DESTRUCTIF (disque sacrificiel UNIQUEMENT)
Danger maximum. Vérifie 3× le disque cible. Les garde-fous fail-closed doivent refuser tout disque protégé — teste-les d'abord exprès.
- Test négatif : dans la spoke, choisir le disque de FWS/racine → le déploiement doit ABORTER (
DEPLOY_FAILED), rien d'effacé. - Install FWS + dual-boot activé sur le disque sacrificiel, ISO USB branchée.
- Surveiller
/tmp/fws-windows-deploy.log: garde-fous OK → carve →wimlib apply→ BCD. - Vérifier que seul le disque sacrificiel a été touché (les Games intacts —
lsblk -f). cat /var/lib/fws/windows-deploy.status→DEPLOY_OK(ouDEPLOY_FAILEDexplicite).- Au 1er reboot post-install : la machine boote FWS (pas Windows, pas WinPE en boucle).
Phase 6 — Bootabilité Windows (⚠ voie BCD NON VALIDÉE — debug attendu ici)
- Voie WinPE-bcdfix : au 1er reboot, WinPE tourne,
bcdboots'exécute, puis retour FWS.- Si boucle WinPE : vérifier l'assignation des lettres (
FWSWIN/WINESP) et l'index deboot.wimdansfws-windows-bcdfix.
- Si boucle WinPE : vérifier l'assignation des lettres (
- Depuis FWS,
efibootmgr: entrée Windows Boot Manager présente, FWS en tête de BootOrder, pas d'entrée « FWS WinPE » résiduelle. - Boot manuel de Windows (menu firmware) → Windows démarre jusqu'à l'OOBE unattended.
Phase 7 — Premier démarrage Windows (auto)
- OOBE sans intervention : compte
gaminglocal, auto-login, pas d'écran compte Microsoft. FirstBoot-FwsGameboot.ps1s'exécute (tâches ONSTART + logon créées,powercfg /h off).Install-Games.ps1télécharge/lance les installeurs Valorant + LoL (vérifier les URLsinstallers.jsonsi échec).manage-bde -status→ BitLocker OFF (anti-lockout OK).
Phase 8 — Aller-retour gameboot complet (le but final)
- Depuis FWS : clic « Jouer à Valorant » → FWS hiberne → reboot → Windows bare-metal.
- Vanguard démarre et Valorant se lance (pas de VAN9003 / erreur VM).
- Quitter Valorant → reboot → FWS reprend la session hibernée intacte (apps/onglets).
BootOrder[0]=FWStoujours vrai après plusieurs cycles (fws-gameboot-bootfix).- Test crash : tuer Valorant brutalement → retour propre à FWS (ou reste sur Windows selon le filet).
Filets de récupération (à préparer AVANT la phase 5)
- Média de récupération FWS prêt (ré-enrôlement clés / re-signature) en cas de brick Secure Boot.
- Clé USB d'install Windows officielle (pour réparer un BCD cassé avec
bcdbootnatif). - Savoir entrer dans le menu de boot firmware (touche F2/F12/Suppr selon la carte).
Attentes réalistes (marqué NON VALIDÉ dans le code)
- BCD / WinPE-bcdboot (phase 6) : le plus susceptible d'échouer au 1er essai → itérer.
- Sémantique BootNext du firmware (phase 8) : à confirmer sur ta carte mère précise.
- Resume GPU 5090 (phase 3) : dépend du pilote ; si KO → mode reboot simple (fallback déjà câblé).
- URLs installeurs Riot (phase 7) : Riot les change →
installers.jsonà mettre à jour si le download échoue.