Windows 10 changed the boot order !!
-
Hello everyone !
I searched in the forum but I don’t find a solution… Well, after the deployement, Windows 10 changed the boot order (UEFI) to put windows manager at the top.
How can I prevent this ?Thanks !
-
@Tanguy FOG does not touch the UEFI boot entries at all. The change in boot order is probably happening due to the UEFI firmware applying some logic to recognize new installs or just any bootloader file it finds on an EFI boot partition.
Check your mainboard/firmware manual to see if you can disable that “auto feature”.
-
@tanguy said in Windows 10 changed the boot order !!:
Windows 10 changed the boot order (UEFI) to put windows manager at the top.
As they say, this is a feature not a bug. Windows 10 will change the boot order because it thinks it knows best. For bios based computer it wasn’t possible to do, but for uefi computers, during winsetup/oobe windows 10 will reset the boot order so that windows boot image will always start. You will need to reset the boot order from within windows after oobe finishes.
-
@george1421 Thanks for your reply ! I work in a school with a lot of computers, and change the boot order for each is time consuming !
If I can’t prevent this, maybe I can automate after deploying with a script ? -
@tanguy If it’s Dell manufacturer you can use CCTK config tool to modify boot order
-
@florent Bonjour Florent ! Merci pour votre réponse. Il se trouve que nous n’avons pas que des DELL, et que le CCTK ne fonctionne pas sur tous les DELL ( nous avons aussi des Vostro). J’ai essayé un snapin powerShell mais celui-ci ne semble pas fonctionner non plus. Au vu du nombre de postes, passer sur chacun pour remettre à la main l’ordre de boot ne m’emballe pas beaucoup !
Il y a-t-il une procédure particulière pour que mon snapin s’execute ?Merci d’avance !
-
@tanguy Ah oui compliqué alors.
Chez nous une solution de contournement que nous avons trouvé est de positionner le wakeonlan sur “boot on pxe” mais ça revient au meme il faut une methode pour le propager sur vos divers modèles de plusieurs marques.
Pour les snapins il faut juste avoir un agent FOG installé sur les PC concernés, et que sur les Host dans FOG snapins soit coché -
@florent Merci beaucoup, je vais creuser du côté du snapin. Comme je débute sur FOG, je tâtonne un peu…
Bonne journée -
@florent Bonjour,
J’ai enfin réussi à changer l’ordre de boot en passant par bcdedit dans le SetupComplete. Cela me semble une méthode de “bourrin” mais après quelques test, cela à l’air de fonctionner.
Merci encore pour votre aide et bonne journée -
@tanguy Salut, Peux tu partager le code utilisé ?
-
@florent Bien sûr !
Voici le code du reseal.cmd@echo off set curdir=%~dp0 %~d0 cd %curdir% set unattendfile=unattend.xml if NOT %1!==! set unattendfile=%1 echo sysprep with %unattendfile% echo pres Ctrl+C to cancel, or any key to continue pause :: Step #12 rem mkdir %windir%\Setup\Scripts rem echo del /Q /F %windir%\system32\sysprep\unattend.xml > %windir%\Setup\Scripts\SetupComplete.cmd rem echo del /Q /F %windir%\panther\unattend.xml >> %windir%\Setup\Scripts\SetupComplete.cmd :: Step #13 sc stop "FOGservice" sc config "FOGService" start= disabled echo on copy "%unattendfile%" %windir%\system32\sysprep\unattend.xml cd %windir%\system32\sysprep %systemdrive% sysprep /generalize /oobe /quit /unattend:unattend.xml
J’ai mis en commentaires tout le “Step #12” au cas où…
Et j’ai mis dans C:\Windows\Setup\Scripts le script "SetupComplete.cmd suivant :
powercfg -h off sc config FOGService start= auto sc start "FOGservice" del /Q /F c:\windows\system32\sysprep\unattend.xml del /Q /F c:\windows\panther\unattend.xml bcdedit /set {fwbootmgr} displayorder {bootmgr} /addlast shutdown -r -t 0
Parfois le reseal.com lancé en tant qu’admin bloque, alors le lance un script powershell en tant qu’admin suivant :
# List of Applications to Remove $AppPackages = @() $AppPackages += 'microsoft.windowscommunicationsapps' $AppPackages += 'Microsoft.BingWeather' $AppPackages += 'Microsoft.DesktopAppInstaller' $AppPackages += 'Microsoft.Getstarted' $AppPackages += 'Microsoft.Windows.Photos' $AppPackages += 'Microsoft.WindowsCamera' $AppPackages += 'Microsoft.WindowsFeedbackHub' $AppPackages += 'Microsoft.WindowsStore' $AppPackages += 'Microsoft.XboxApp' $AppPackages += 'Microsoft.XboxIdentityProvider' $AppPackages += 'Microsoft.ZuneMusic' $AppPackages += 'Microsoft.StorePurchaseApp' $AppPackages += 'Microsoft.XboxOneSmartGlass' $AppPackages += 'Microsoft.GetHelp' $AppPackages += 'Microsoft.Microsoft3DViewer' $AppPackages += 'Microsoft.MicrosoftOfficeHub' $AppPackages += 'Microsoft.LanguageExperiencePackfr-fr' $AppPackages += 'Microsoft.ZuneVideo' foreach ($App In $AppPackages) { Write-Host "Removing Package : $App" $Package = Get-AppxPackage | Where-Object {$_.Name -eq $App} If ($Package -ne $null) {Remove-AppxPackage -Package $Package.PackageFullName -ErrorAction SilentlyContinue} $Package = Get-AppxPackage -Allusers| Where-Object {$_.Name -eq $App} If ($Package -ne $null) {Remove-AppxPackage -Package $Package.PackageFullName -ErrorAction SilentlyContinue} $ProvisionedPackage = Get-AppxProvisionedPackage -Online | Where-Object {$_.DisplayName -eq $App} If ($ProvisionedPackage -ne $null) {Remove-AppxProvisionedPackage -Online -PackageName $ProvisionedPackage.PackageName -ErrorAction SilentlyContinue} }
Je n’ai pas poussé loin les tests, mais cela à l’air de fonctionner. N’hésite pas si tu as des questions !
-
Merci je testerais cela un de ces jours.