neverous / efibooteditor Goto Github PK
View Code? Open in Web Editor NEWBoot Editor for (U)EFI based systems
License: GNU Lesser General Public License v3.0
Boot Editor for (U)EFI based systems
License: GNU Lesser General Public License v3.0
I'd like to make the Italian language for your software.
Could be possible to create the English master
https://github.com/Neverous/efibooteditor/blob/master/translations/efibooteditor_en.ts
without location reference?
This location references can change in many block between versions and if you want find differences between different language version is quite complex to find the real difference if there are many changes about locations.
Thanks.
Right now it's only reported if Secure Boot is enabled, see if maybe we can make it configurable via GUI.
https://uefi.org/specs/UEFI/2.10/32_Secure_Boot_and_Driver_Signing.html
Related variables:
sbctl might be worth checking out for implementation details.
UEFI specifies Hardware Error Reporting that might hold some useful information that's worth showing in the GUI?
Related variables:
Hello,
Would it be possible to add the app to the winget repository?
I have such a strange issue:
https://www.youtube.com/watch?v=zKA_cRkyosM
it behaves this way both in CSM and EFI
Please instruct me what to do?
Instruct me HOW TO READ IT and Edit
From BCD Edit in system admin CMD:
**:\Users*\Desktop>bcdedit /enum firmware
identifier {fwbootmgr}
displayorder {355b2e79-0094-11ee-9619-806e6f6e6963}
{bootmgr}
{355b2e7d-0094-11ee-9619-806e6f6e6963}
{355b2e86-0094-11ee-9619-806e6f6e6963}
timeout 2
identifier {bootmgr}
device partition=M:
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {09f90827-004c-11ee-994c-806e6f6e6963}
displayorder {c46fb3fd-fce2-11ed-993e-806e6f6e6963}
{current}
{15a4a817-fcb9-11ed-9939-98ad65447797}
{a22d34ce-f59a-11ed-8461-fc52d37a8085}
{a22d34cd-f59a-11ed-8461-fc52d37a8085}
{dc155795-fec6-11ed-9948-182649ce2907}
{ab364197-0047-11ee-994b-182649ce2907}
toolsdisplayorder {memdiag}
timeout 10
displaybootmenu Yes
identifier {355b2e79-0094-11ee-9619-806e6f6e6963}
device partition=E:
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
identifier {355b2e7d-0094-11ee-9619-806e6f6e6963}
device partition=O:
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
identifier {355b2e86-0094-11ee-9619-806e6f6e6963}
device partition=Q:
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
bcdedit /enum 👍
:\Users*****\Desktop>bcdedit /enum
identifier {bootmgr}
device partition=M:
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager
locale en-US
inherit {globalsettings}
default {current}
resumeobject {09f90827-004c-11ee-994c-806e6f6e6963}
displayorder {c46fb3fd-fce2-11ed-993e-806e6f6e6963}
{current}
{15a4a817-fcb9-11ed-9939-98ad65447797}
{a22d34ce-f59a-11ed-8461-fc52d37a8085}
{a22d34cd-f59a-11ed-8461-fc52d37a8085}
{dc155795-fec6-11ed-9948-182649ce2907}
{ab364197-0047-11ee-994b-182649ce2907}
toolsdisplayorder {memdiag}
timeout 10
displaybootmenu Yes
identifier {current}
device partition=***:
path \WINDOWS\system32\winload.efi
description NVMe-LTSC-Z-OK-on-F
locale en-US
inherit {bootloadersettings}
recoverysequence {15a4a812-fcb9-11ed-9939-98ad65447797}
displaymessageoverride Recovery
recoveryenabled Yes
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=Z:
systemroot \WINDOWS
resumeobject {09f90827-004c-11ee-994c-806e6f6e6963}
nx OptIn
bootmenupolicy Standard
identifier {15a4a817-fcb9-11ed-9939-98ad65447797}
device partition=E:
path \Windows\system32\winload.efi
description NVMe-Win10-Z-OK-on E
locale en-US
inherit {bootloadersettings}
isolatedcontext Yes
allowedinmemorysettings 0x15000075
osdevice partition=E:
systemroot \Windows
resumeobject {25bde4a3-0050-11ee-93f7-806e6f6e6963}
nx OptIn
bootmenupolicy Standard
identifier {a22d34ce-f59a-11ed-8461-fc52d37a8085}
device unknown
path \Windows\system32\winload.efi
description NVMe-Win7-Z-500-on-R
locale en-US
loadoptions DDISABLE_INTEGRITY_CHECKS
osdevice unknown
systemroot \Windows
resumeobject {17b5cfe2-f762-11ed-8d67-806e6f6e6963}
bootmenupolicy Standard
identifier {a22d34cd-f59a-11ed-8461-fc52d37a8085}
device partition=S:
path \Windows\system32\winload.efi
description WIN-7-Temp-1000 S
locale en-US
osdevice partition=S:
systemroot \Windows
bootmenupolicy Standard
identifier {dc155795-fec6-11ed-9948-182649ce2907}
device partition=:
path \Windows\system32\winload.efi
description OK Note Samsung EFI
locale en-US
osdevice partition=:
systemroot \Windows
identifier {ab364197-0047-11ee-994b-182649ce2907}
device ramdisk=[O:]\boot\macrium\WinREFiles\media\sources\boot.wim,{ramdiskoptions}
path \windows\system32\boot\winload.efi
description Macrium Reflect System Recovery
osdevice ramdisk=[O:]\boot\macrium\WinREFiles\media\sources\boot.wim,{ramdiskoptions}
systemroot \Windows
detecthal Yes
winpe Yes
and this what show EFIBOOTEDITOR
:
(BTW, how to change language? Edit ini or what?)
Would be nice to be able to at least run some commands in CLI, like:
mostly for easy backup/restore without GUI.
(for modifying specific entries etc. from cli, efibootmgr
does the job, probably not worth it to reimplement it's features here)
No response
Please add guide how to install on ubuntu because i have download .deb but when i try to install its says unmet dependencies
I have an Asus motherboard, using a UEFI configuration, not sure if I'm doing something wrong when running your EFI editor, but I don't see my current boot options within your program?
I tried all your different Windows versions (Clang and MSVC), but none of them seem to work for me.
I'm running Windows 10 Pro (x64) - 21H2
What am I doing wrong?
I've been failing to use this on sway because efibooteditor needs access to privileged files:
Error trace:
efivarfs.c:402 efivarfs_set_variable(): : failed to open /sys/firmware/efi/efivars/Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c for writing
I think the intended way on wayland is to ask a polkit service for access ?
I cannot just run it with sudo because then it can't find a display to render on.
Like ask the admin for their password when they want to elevate privilege
Arch linux: 6.7.9
EFI Boot Editor: 1.4.0-aur.1
Sway: 1.9
Polkit: the one from gnome
exec --no-startup-id /usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1
Not reporting any bug, but wanted to make a request.
Will it be possible to make this app compatible with Qt 5.9.7, as it is the only version that is available in my Linux OS.
Please check screenshot about GUI issues (untranslated strings and GUI request for chganges):
Untranslated string.
Please add it to language file.
Untranslated strings.
Please add them to language file.
Please add before version number the string "Version" (that could be translated).
Please move the strings in red box on the right to use space not used and avoid overlap with string (Functions:)
The string "Optional" and relative box value are not aligned vertically.
Today I translated efibooteditor into Slovak via the WEBLATE translation server. How do I implement it when efibooteditor doesn't have a language changer available? I am using EFIBootEditor-v1.2.1-windows-2022-qt-6.5.0-MSVC.msi installation.
Thanks for the reply.
Hello,
The application doesn't have an icon on Windows. Both the exe file and the start menu shortcut don't have one.
Hello,
I'm getting
Couldn't deserialize keys: Boot001C, Boot001D, Boot001B, Boot001A
I got this error:
[ 96%] Building CXX object CMakeFiles/efibooteditor.dir/qrc_translations.cpp.o
[100%] Linking CXX executable efibooteditor
/usr/bin/ld: cannot find -lefiboot: No such file or directory
/usr/bin/ld: cannot find -lefivar: No such file or directory
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/efibooteditor.dir/build.make:448: efibooteditor] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:84: CMakeFiles/efibooteditor.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2
Read Boot Manager Capabilities variable and adjust the GUI based on available features.
It seems that based on the Boot Manager Capabilities we can:
Hi
i tried to launch efibooteditor but it close immediately..i installed qt5-wayland and qt6-wayland..same issue :-(
i've got this message whan i use a term
_qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
qt.core.qobject.connect: QObject::disconnect: Unexpected nullptr parameter
/usr/include/c++/13.2.1/bits/stl_vector.h:1125: std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::operator [with _Tp = unsigned char; _Alloc = std::allocator; reference = unsigned char&; size_type = long unsigned int]: Assertion '_n < this->size()' failed.
fish: Job 1, 'efibooteditor' terminated by signal SIGABRT (Abandon)
an idea ?
thks
No response
No response
No response
The version specified as the PackageVersion drops the last number of the version. Because winget uses the information that is written to control panel to determine version, the additional number results in an infinite upgrade loop.
This is the information written to control panel for version 1.2.2:
DisplayName DisplayVersion Publisher ProductCode
----------- -------------- --------- -----------
EFI Boot Editor 1.2.2.1685314600 EFIBootEditor {62801DB3-6D33-4C70-8A90-B650B9372995}
Because the manifest version is set at 1.2.2
winget interprets this as 1.2.2.0.0.0.0.0.0.........
and when doing a version comparison 1.2.2.0
is lower than 1.2.2.1685314600
.
AppsAndFeaturesEntries
key to the manifests with the DisplayVersion
key specifiedhttps://uefi.org/specs/UEFI/2.10/03_Boot_Manager.html#globally-defined-variables
Related variables:
I'm getting Error loading entries
error on startup.
Exact error message:
Failed to load some EFI Boot Manager entries:
- Boot0002: failed deserialization
$ efibootmgr
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,0002
...
No response
Currently after each commit to master there is a "pre-release" version being built already, but it's only available to maintainers/developers logged in users for download from GitHub Actions. Try connecting it to some pre-release in GitHub or something so anyone can download if they want to.
Actually you can download the artifacts 🤔 just need to be logged in and can download from: https://github.com/Neverous/efibooteditor/actions/workflows/release.yml, but still would probably be nice to link latest in single place.
Hi Maciej Szeptuch,
Thank you for creating a useful tool to manage EFI
I have used it and am very satisfied.
However, when I installed EFI Boot Editor 1.1.6 on Linux Mint 21, I had a problem with the package name with spaces, so I couldn't install it.
Details below.
Package: efi boot editor
dpkg: error processing archive /tmp/EFIBootEditor-v1.1.6-ubuntu-22.04-qt-6.2.4-GCC.deb (--install):
parsing file '/var/lib/dpkg/tmp.ci/control' near line 6:
invalid package name in 'Package' field: character ' ' not allowed (only letters, digits and characters '-+._')
Please fix this error please!
Thank you!
Current GUI is a bit advanced (and will only get more complex with adding support for other EFI Boot Manager features).
Might be worth to implement some Easy mode/view that would display only basic/most used features (and make it default with current one hidden behind "Advanced" option?).
Probably stuff like:
Unfortunately, the title error appears with the context: "Error trace:
windows.h:-1 SetFirmwareEnvironmentVariableEx(): Unknown error: Параметр задан неверно."
The app is able to duplicate existing entries, but it can't delete or even modify them. I can tell that other EFI managers work fine, such as efibootmgr under Linux, bcdedit under Windows via fwbootmgr and EasyUEFI under Windows.
Is it possible to solve this issue?
I used it to build an rpm
If you want to add it to your README or into the repo so users can easily build it on rpm based distributions you're welcome to it:
Name: efibooteditor
Version: 1.1.5
Release: 1%{?dist}
Summary: GUI for managing EFI Boot Manager configuration.
License: GPLv3-or-later
URL: https://github.com/Neverous/efibooteditor
Source0: https://github.com/Neverous/efibooteditor/archive/refs/tags/v%{version}.tar.gz
BuildRequires: cmake
BuildRequires: cmake(Qt5Core)
BuildRequires: pkgconfig(efivar)
Requires: efivar
%description
%{summary}.
%prep
%autosetup -n %{name}-%{version}
%build
%cmake
%cmake_build
%install
%cmake_install
%files
%doc doc/*
%license LICENSE.txt
%{_bindir}/%{name}
%{_datadir}/applications/EFIBootEditor.desktop
%{_datadir}/polkit-1/actions/org.x.%{name}.policy
%{_metainfodir}/EFIBootEditor.metainfo.xml
%changelog
* Sun Jan 22 2023 Justin Zobel <[email protected]> - 1.1.5-1
- Initial Version
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.