Avvisami how to put the EFI partition on the beginning of the disk

May 18, 2020
Reaction score

I'm trying to understand the reason why sometime qemu / kvm / tianocore and also virt-manager can't boot Windows 10 physically,sometimes it can. And maybe I found the reason. Infact I found that when Windows 10 installs the EFI partition as first partition of the disk,qemu / kvm / tianocore / virt-manager can boot it. But sometimes it happens that windows makes another kind of disk structure,for example it can make something like this :

1) 128 mb : microsoft reserved partition

2) 500 mb recovery partition

3) 99 mb EFI partition

in this case,windows 10 will not boot. So,in this case I don't know what to do. Maybe it can work it I delete the 128 and the 500 mb partitions and I expand the EFI partition until the beginning of the disk space. But I'm not sure. I read that I shouldn't erase the 128 mb partition or the system will not boot. So,what should I do ? One thing I'm sure : The EFI partition should be the first partition if I want to boot Windows 10 with tianocore. But I'm not sure about how to do that. Please understand,I don't want to reinstall Windows.


Jan 27, 2016
Reaction score
Many program shift the partitions, and Windows is very very touchy to this... so you need a 3d party program to
"Check Alignment" of partition so that Windows will boot.
or you can read and use BCDEDIT to chek and set proper.
you can edit, you can create a backup and you can restore you can do many things with
command prompt bcdedit /?
C:\Windows\system32>bcdedit /?

BCDEDIT - Boot Configuration Data Store Editor

The Bcdedit.exe command-line tool modifies the boot configuration data store.
The boot configuration data store contains boot configuration parameters and
controls how the operating system is booted. These parameters were previously
in the Boot.ini file (in BIOS-based operating systems) or in the nonvolatile
RAM entries (in Extensible Firmware Interface-based operating systems). You can
use Bcdedit.exe to add, delete, edit, and append entries in the boot
configuration data store.

For detailed command and option information, type bcdedit.exe /? <command>. For
example, to display detailed information about the /createstore command, type:

bcdedit.exe /? /createstore

For an alphabetical list of topics in this help file, run "bcdedit /? TOPICS".

Commands that operate on a store
/store Used to specify a BCD store other than the current system default.
/createstore Creates a new and empty boot configuration data store.
/export Exports the contents of the system store to a file. This file
can be used later to restore the state of the system store.
/import Restores the state of the system store using a backup file
created with the /export command.
/sysstore Sets the system store device (only affects EFI systems, does
not persist across reboots, and is only used in cases where
the system store device is ambiguous).

Commands that operate on entries in a store
/copy Makes copies of entries in the store.
/create Creates new entries in the store.
/delete Deletes entries from the store.
/mirror Creates mirror of entries in the store.

Run bcdedit /? ID for information about identifiers used by these commands.

Commands that operate on entry options
/deletevalue Deletes entry options from the store.
/set Sets entry option values in the store.

Run bcdedit /? TYPES for a list of datatypes used by these commands.
Run bcdedit /? FORMATS for a list of valid data formats.

Commands that control output
/enum Lists entries in the store.
/v Command-line option that displays entry identifiers in full,
rather than using names for well-known identifiers.
Use /v by itself as a command to display entry identifiers
in full for the ACTIVE type.

Running "bcdedit" by itself is equivalent to running "bcdedit /enum ACTIVE".

Commands that control the boot manager
/bootsequence Sets the one-time boot sequence for the boot manager.
/default Sets the default entry that the boot manager will use.
/displayorder Sets the order in which the boot manager displays the
multiboot menu.
/timeout Sets the boot manager time-out value.
/toolsdisplayorder Sets the order in which the boot manager displays
the tools menu.

Commands that control Emergency Management Services for a boot application
/bootems Enables or disables Emergency Management Services
for a boot application.
/ems Enables or disables Emergency Management Services for an
operating system entry.
/emssettings Sets the global Emergency Management Services parameters.

Command that control debugging
/bootdebug Enables or disables boot debugging for a boot application.
/dbgsettings Sets the global debugger parameters.
/debug Enables or disables kernel debugging for an operating system
/hypervisorsettings Sets the hypervisor parameters.

Command that control remote event logging
/eventsettings Sets the global remote event logging parameters.
/event Enables or disables remote event logging for an operating
system entry.


Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question