How to add boot entries for Linux LiveCDs in Windows Boot Manager on Windows 10 when EasyBCD refuses to run?

How to add boot entries for Linux LiveCDs in Windows Boot Manager on Windows 10 when EasyBCD refuses to run?

How to add boot entries for Linux LiveCD's on Windows 10? I used to use EasyBCD 2.4 to achieve this, trouble is I can't use it right now, tried uninstalling it and then reinstalling it, it just won't open(not displaying a window, also I can't find it in taskmgr). I don't have any USB flash drives right now. I know I can use bcdboot for Windows, but here I am talking about Linux LiveCDs... And Googling this won't give any useful results(irrelevant or easybcd, and I somehow can't open the search result dkai.*):Google Search:how to create boot entry for livecd on windows 10

So how to add boot entries for Linux LiveCDs on Windows 10 using Command Line Interface or any boot editor other than EasyBCD? Or how can I fix EasyBCD that isn't working? I really am very experienced in Command Prompt and PowerShell, and I use *.cpl *.msc *.exe found in System32 in cmd.

It must be very easy to do, I just don't know it, yet...

For more context, I tried a repair installation using Win10_20H2_v2_English_x64.iso (I used the same .iso file to install Windows 10 20H2!), mounted and clicked setup.exe, after some steps it shows:"Windows can't be installed because this PC has an unsupported disk layout for UEFI firmware." It means my disk is MBR disk, but strangely there is a recovery partition(created by installation of current Windows OS); Tried system reset it said no media detected(or something like that); Msinfo32.exe BIOS mode is legacy, I had run powercfg -h off in cmd, there is no "Secure Boot" option in BIOS settings; So my system is not booted using EFI Bootloader...

I opened EasyBCD 2.4, it gave me this:

 EFI Bootloader Detected!

 EasyBCD has detected that your machine is currently booting in EFI mode. Due to limitations 
 set by Microsoft, many of EasyBCD's multi-booting features cannot be used in EFI mode 
 and have been disabled.

I wanted to create boot entry for a Linux LiveCD .iso file using "Add New Entry"->"ISO" to boot into Fedora 33 to wipe local disk, repartition and clean install Windows 10 and make a Fedora/Windows 10 dual boot, because I don't have USB Flashdrives that I can burn the image to, and I am able to do all these things...

But EasyBCD wouldn't let me create ISO boot entry, the option was greyed; I then deleted recovery partition using diskpart, no adverse effect observed except for EasyBCD refusing to run. Everytime I tried to run it, cursor rolled, observed disk usage increase in taskmgr, and it quickly drops, and that is it, no EasyBCD window ever showed up, there wasn't even a single error message, also EasyBCD showed up in taskmgr Processes tab Background Processes section and then instantly became suspended and magically disappeared without trace, the whole process was less than 2 seconds(I need time to open taskmgr and scroll down)... I tried uninstalling and reinstalling EasyBCD, it didn't work. And there is no "NeoSmart Technologies" folder in %LocalAppdata% at all...

After some Googling I found I can use BCDBoot and BCDEdit and BootSect to create boot entries for Windows OS installed to physical storage, they seem to be unable to achieve what I intend to do(create boot entries specifically for Linux LiveCDs in Windows Boot Manager metro style without ever burning the iso to physical storage), downloaded Visual BCD Editor and found it really is a GUI frontend for bcdedit, downloaded Grub2Win online installer from SourceForge and it failed to download, kept giving me errors, forcing me to cancel it; So I downloaded an offline installer of an older version of Grub2Win, it warned about old version, and it can't know whether my computer is EFI or not, after installing and running, I found it only capable of creating boot entries for installed Linux systems...

But I do remember EasyBCD used grub2 to create Linux LiveCD boot entries in Windows Boot Manager... So how can I create boot entries for Linux LiveCDs without installing them to physical storage first in Windows Boot Manager Metro on Wibdows 10?

Edit: EasyBCD never crashes, it magically disappears silently without error messages...

Used eventvwr and got these:

Application Error 1000

Faulting application name: EasyBCD.exe, version: 2.4.0.237, time stamp: 0x5bfeecfa
Faulting module name: KERNELBASE.dll, version: 10.0.19041.572, time stamp: 0x1183946c
Exception code: 0xe0434352
Fault offset: 0x0000000000023e49
Faulting process id: 0x1d58
Faulting application start time: 0x01d6dcbb765be172
Faulting application path: C:\Program Files (x86)\NeoSmart Technologies\EasyBCD\EasyBCD.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 0418e1a4-d3da-4718-a4d5-44c77075c5c7
Faulting package full name: 
Faulting package-relative application ID:

.NET Runtime 1026

Application: EasyBCD.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Xml.XmlException
   at System.Xml.XmlTextReaderImpl.Throw(System.Exception)
   at System.Xml.XmlTextReaderImpl.ParseText(Int32 ByRef, Int32 ByRef, Int32 ByRef)
   at System.Xml.XmlTextReaderImpl.ParseText()
   at System.Xml.XmlTextReaderImpl.ParseElementContent()
   at System.Xml.XmlTextReaderImpl.Skip()
   at System.Configuration.XmlUtil.StrictSkipToNextElement(System.Configuration.ExceptionAction)
   at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(System.Configuration.XmlUtil, System.String, Boolean, System.String, System.Configuration.OverrideModeSetting, Boolean)
   at System.Configuration.BaseConfigurationRecord.ScanSectionsRecursive(System.Configuration.XmlUtil, System.String, Boolean, System.String, System.Configuration.OverrideModeSetting, Boolean)
   at System.Configuration.BaseConfigurationRecord.ScanSections(System.Configuration.XmlUtil)
   at System.Configuration.BaseConfigurationRecord.InitConfigFromFile()

Exception Info: System.Configuration.ConfigurationErrorsException
   at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean)
   at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(System.Configuration.ConfigurationSchemaErrors)
   at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(System.Object, System.Configuration.Internal.InternalConfigEventArgs)

Exception Info: System.Configuration.ConfigurationErrorsException
   at System.Configuration.ConfigurationManager.PrepareConfigSystem()
   at System.Configuration.ConfigurationManager.get_SupportsUserConfig()
   at System.Configuration.ClientSettingsStore.RevertToParent(System.String, Boolean)
   at System.Configuration.LocalFileSettingsProvider.Reset(System.Configuration.SettingsContext)
   at System.Configuration.ApplicationSettingsBase.Reset()
   at ..()
   at NeoSmart.EasyBCD.MainUI..ctor()
   at ..()

And here is my current boot info:

Windows Boot Manager
--------------------
identifier              {bootmgr}
device                  partition=C:
description             Windows Boot Manager
locale                  en-US
inherit                 {globalsettings}
default                 {current}
resumeobject            {be3fbd92-3b90-11eb-8417-e30314409a36}
displayorder            {current}
                        {572db1a2-3b0b-11eb-8ef8-8732688610b4}
toolsdisplayorder       {memdiag}
timeout                 30

Windows Boot Loader
-------------------
identifier              {current}
device                  partition=C:
path                    \WINDOWS\system32\winload.exe
description             Windows 10
locale                  en-US
inherit                 {bootloadersettings}
recoverysequence        {572db1a0-3b0b-11eb-8ef8-8732688610b4}
displaymessageoverride  Recovery
recoveryenabled         Yes
testsigning             No
allowedinmemorysettings 0x15000075
osdevice                partition=C:
systemroot              \WINDOWS
resumeobject            {be3fbd92-3b90-11eb-8417-e30314409a36}
nx                      OptIn
bootmenupolicy          Legacy
hypervisorlaunchtype    Auto

Real-mode Boot Sector
---------------------
identifier              {572db1a2-3b0b-11eb-8ef8-8732688610b4}
device                  partition=C:
path                    \grub2\g2bootmgr\gnugrub.kernel.bios
description             Grub 2 For Windows

答案1

Never mind, I had solved the problem myself, I had identified it as wrong user configuration file in its %LocalAppdata% folder, like I said, there wasn't a folder named "NeoSmart Technologies" in %LocalAppdata%, that is true indeed, because the folder is NeoSmart_Technologies and I used cmd to remove it:

rd "%LocalAppdata%\NeoSmart Technologies" /s /q

And the result: The system cannot find the file specified.

I used explorer to open %LocalAppdata% and found NeoSmart_Technologies folder, in it there is a folder named EasyBCD.exe_StrongName_ge4xjewlvhidmksvx1etlpptdtrgpnqg, inside it a folder 2.4.0.237 with a file user.config, deleted the EasyBCD.exe_StrongName_ge4xjewlvhidmksvx1etlpptdtrgpnqg folder and I can use EasyBCD again...

And now "Add New Entry"->"ISO" isn't greyed...

It really is just so simple, but I Googled and Googled and never got an explanation and there wasn't a helpful error message to prompt what went wrong...

相关内容