Git Product home page Git Product logo

efibooteditor's People

Contributors

dependabot[bot] avatar efibooteditorbot avatar neverous avatar traindoctor avatar venusgirl avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

efibooteditor's Issues

Add app to winget

Hello,
Would it be possible to add the app to the winget repository?

Manual and some problems with multi EFI choice screens.

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

Firmware Boot Manager

identifier {fwbootmgr}
displayorder {355b2e79-0094-11ee-9619-806e6f6e6963}
{bootmgr}
{355b2e7d-0094-11ee-9619-806e6f6e6963}
{355b2e86-0094-11ee-9619-806e6f6e6963}
timeout 2

Windows Boot Manager

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

Firmware Application (101fffff)

identifier {355b2e79-0094-11ee-9619-806e6f6e6963}
device partition=E:
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager

Firmware Application (101fffff)

identifier {355b2e7d-0094-11ee-9619-806e6f6e6963}
device partition=O:
path \EFI\MICROSOFT\BOOT\BOOTMGFW.EFI
description Windows Boot Manager

Firmware Application (101fffff)

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

Windows Boot Manager

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

Windows Boot Loader

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

Windows Boot Loader

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

Windows Boot Loader

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

Windows Boot Loader

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

Windows Boot Loader

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

Windows Boot Loader

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
:
obraz
(BTW, how to change language? Edit ini or what?)

Add CLI commands

Is there an existing issue for this?

  • I have searched the existing issues

Description

Would be nice to be able to at least run some commands in CLI, like:

  • JSON import/export
  • "raw" import/export

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)

Additional information

No response

How to install guide

Please add guide how to install on ubuntu because i have download .deb but when i try to install its says unmet dependencies

UEFI Boot Editting

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?

Polkit/wayland support

Is there an existing issue for this?

  • I have searched the existing issues

Description

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
image

Additional information

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

Qt5.9 compatibility

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.

GUI issues - Untranslated strings

@Neverous

Please check screenshot about GUI issues (untranslated strings and GUI request for chganges):

EFI Boot Edit 1 2 0 - GUI - 01
Untranslated string.
Please add it to language file.

EFI Boot Edit 1 2 0 - GUI - 02
Untranslated strings.
Please add them to language file.
Please add before version number the string "Version" (that could be translated).

EFI Boot Edit 1 2 0 - GUI - 03
Please move the strings in red box on the right to use space not used and avoid overlap with string (Functions:)

EFI Boot Edit 1 2 0 - GUI - 04
The string "Optional" and relative box value are not aligned vertically.

Testing translations

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.

Missing icon on Windows

Hello,
The application doesn't have an icon on Windows. Both the exe file and the start menu shortcut don't have one.

/usr/bin/ld: cannot find -lefiboot: No such file or directory

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

Is there an existing issue for this?

  • I have searched the existing issues

Description

Read Boot Manager Capabilities variable and adjust the GUI based on available features.

Additional information

It seems that based on the Boot Manager Capabilities we can:

  • Show/Hide Hot Keys settings in entries
  • Show/Hide the Category option in entries
  • Show/Hide the System preparation tab

Can't launch..wayland issue ?

Is there an existing issue for this?

  • I have searched the existing issues

Description

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

Environment

  • Application version:efibooteditor
  • Operating system:garuda linux
  • EFI/BIOS/Motherboard vendor:
  • EFI/BIOS version:

Raw EFI data

No response

Additional information

No response

Steps to reproduce

No response

Winget release uses incorrect version

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.

Proposed Fixes

  • [Preferred] Update the package version to use the exact version that is written to control panel
  • [More work, not preferred] Add the AppsAndFeaturesEntries key to the manifests with the DisplayVersion key specified

Test bug report

Is there an existing issue for this?

  • I have searched the existing issues

Description

I'm getting Error loading entries error on startup.

Exact error message:

Failed to load some EFI Boot Manager entries:

  - Boot0002: failed deserialization

Environment

  • Application version: 1.2.2
  • Operating system: Archlinux
  • EFI/BIOS/Motherboard vendor: MSI PRO X670
  • EFI/BIOS version: 01 01/01/1970

Raw EFI data

screenshot.json.gz

Additional information

$ efibootmgr 
BootCurrent: 0000
Timeout: 0 seconds
BootOrder: 0000,0001,0002
...

Steps to reproduce

No response

Allow downloading development builds

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.

// #67 (comment)

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.

invalid package name in 'Package'

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!

Easy mode GUI

Is there an existing issue for this?

  • I have searched the existing issues

Description

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?).

Additional information

Probably stuff like:

  • just a simple list of boot entries by name
  • File Path setting by choosing file on disk/device
  • optional data manipulation only if deserialized to something nice / structured

"Error removing old entries!"

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 created a Fedora spec file

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.