WOA-Project / WOA-Deployer-Lumia

Making your Lumias great again!
MIT License
481 stars 71 forks source link

Dual Boot detection wrong #13

Closed uhliksk closed 5 years ago

uhliksk commented 5 years ago

Bug description WOA Deployer think Dual Boot is disabled even when dual boot is active because of wrong default entry in BCD store. In Phone.cs there is hard-coded WinPhoneBcdGuid = 7619dcc9-fafe-11d9-b411-000476eba25f, but if Windows Phone is default to boot then bcdedit return "default" instead of GUID. You have to check if Windows Phone entry is not default.

Steps to reproduce

  1. Enable Dual Boot in WOA Deployer.
  2. Set Windows Phone entry in BCD as default: bcdedit /STORE X:\EFI\Microsoft\Boot\BCD /set {bootmgr} default {7619dcc9-fafe-11d9-b411-000476eba25f}
  3. Run WOA Deployer and check Dual Boot status. It will be detected incorrectly as disabled. Because of that there is no way to disable Dual Boot.

Expected behavior If there is missing WinPhoneBcdGuid entry then you should try to set another entry as default and then check again for WinPhoneBcdGuid.

Note It happened probably when I redeployed WindowsARM because of damaged WindowsARM partition. After reboot BCD was probably set to Windows Phone as default because WindowsARM partition was not readable.

Log file 2019-03-01 20:07:18.713 +01:00 [Verbose] Getting Dual Boot Status... 2019-03-01 20:07:38.637 +01:00 [Verbose] Getting "BOOT" volume 2019-03-01 20:07:52.733 +01:00 [Verbose] Getting "WindowsARM" volume 2019-03-01 20:08:06.607 +01:00 [Verbose] Getting "MainOS" volume 2019-03-01 20:08:20.413 +01:00 [Verbose] Getting "Data" volume 2019-03-01 20:08:34.262 +01:00 [Verbose] Getting "WindowsARM" volume 2019-03-01 20:08:49.542 +01:00 [Verbose] Getting "EFIESP" volume 2019-03-01 20:09:03.526 +01:00 [Verbose] Starting process { FileName: "C:\WINDOWS\SysNative\bcdedit.exe", Arguments: "/STORE \"I:\EFI\Microsoft\Boot\BCD\" " } 2019-03-01 20:09:03.532 +01:00 [Verbose] Process started successfully 2019-03-01 20:09:04.010 +01:00 [Verbose] Process output " Windows Boot Manager -------------------- identifier {bootmgr} device partition=I: path \efi\boot\bootarm.efi description Windows Boot Manager locale en-US inherit {globalsettings} booterrorux Simple default {default} displayorder {default} {7d7ccbb4-3c45-11e9-87ef-502b73e493cb} {87bbed3b-3c45-11e9-87ef-502b73e493cb} bootsequence {01de5a27-8705-40db-bad6-96fa5187d4a6} timeout 30 displaybootmenu Yes persistbootsequence Yes

Windows Boot Loader ------------------- identifier {default} device partition=K: path \windows\system32\boot\winload.efi description Windows 10 Phone locale en-US inherit {bootloadersettings} nointegritychecks Yes osdevice partition=K: systemroot \windows nx AlwaysOn bootmenupolicy Standard bootstatuspolicy IgnoreAllFailures ems No

Windows Boot Application (1020000a) ----------------------------------- identifier {7d7ccbb4-3c45-11e9-87ef-502b73e493cb} device partition=I: path \EFI\boot\BootShim.efi description Windows 10 nointegritychecks Yes testsigning Yes

Windows Boot Application (1020000a) ----------------------------------- identifier {87bbed3b-3c45-11e9-87ef-502b73e493cb} device partition=I: path \Windows\System32\BOOT\developermenu.efi description Developer Menu nointegritychecks Yes testsigning Yes " 2019-03-01 20:09:11.511 +01:00 [Verbose] Getting "BOOT" volume 2019-03-01 20:09:25.413 +01:00 [Verbose] WoA Present: True 2019-03-01 20:09:25.413 +01:00 [Verbose] Windows 10 Mobile Present: True 2019-03-01 20:09:25.413 +01:00 [Verbose] OOBE Finished: True 2019-03-01 20:09:25.413 +01:00 [Verbose] Dual Boot Status retrieved 2019-03-01 20:09:25.414 +01:00 [Verbose] Dual Boot Status is DualBootStatus { IsEnabled: False, CanDualBoot: True }

SuperJMN commented 5 years ago

Fixed in the 2.4 version. https://github.com/WOA-Project/WOA-Deployer-Lumia/tree/v2.4.0