Neverous / efibooteditor

Boot Editor for (U)EFI based systems
GNU Lesser General Public License v3.0
251 stars 15 forks source link

Missing partitions (fs:ext4) in disk choice on Windows #291

Open Mahantor opened 2 weeks ago

Mahantor commented 2 weeks ago

Is there an existing issue for this?

Description

I can't select the drive where I installed Linux This drive with a volume of 60 gigs and EXT format is marked as partition 5 in the photo What is the solution??? Screenshot 2024-08-30 092301

Environment

Raw EFI data

1.json

Additional information

Screenshot 2024-08-30 093533

Steps to reproduce

No response

Neverous commented 2 weeks ago

Interesting. Must have an issue with reading this partition's information somehow. Can you run diskpart.exe and in it list volume and share the outputs?

Btw. I'm quite sure the UEFI doesn't support ext filesystem and what you actually need to point it to is EFI ESP partition (HarddiskVolume1) and Linux bootloader that should've installed there but maybe your distro is doing something different?

Mahantor commented 2 weeks ago

Interesting. Must have an issue with reading this partition's information somehow. Can you run diskpart.exe and in it list volume and share the outputs? diskpart.txt "The drive where Linux is installed is a 60 GB drive that does not show up in diskpart, but if you look at the picture I uploaded, Disk 0 Partition 5 is my Linux partition."

Mahantor commented 2 weeks ago

Btw. I'm quite sure the UEFI doesn't support ext filesystem and what you actually need to point it to is EFI ESP partition (HarddiskVolume1) and Linux bootloader that should've installed there but maybe your distro is doing something different?

"I don't understand what you mean by 'not supported.' The only issue right now is that the drive in question, formatted as ext4, is not visible, accessible, or addressable in Windows 11, so I can't use this software to assign an address. What I managed to do was extract the grub files from this Linux drive using some methods and add them to the EFI drive, which worked correctly. Then, I added the Linux boot entry with EasyUEFI, but it was very time-consuming and difficult."

Neverous commented 2 weeks ago

The drive where Linux is installed is a 60 GB drive that does not show up in diskpart

That's not good then, that means that the Windows doesn't really see it as valid partition :thinking: will have to investigate. As far as I know I'm using the same methods (system APIs) to ask the system for partitions as diskpart. Will have to look into how the Disk Management gets its information to be able to get that then. Though again it's not that useful as UEFI cannot use that partition anyway either, so it's just for completeness/parity with Disk Management.

I don't understand what you mean by 'not supported.'

Exactly what you had to do. UEFI only mandates support for FAT so you had to move the incorrectly placed bootloader (grub in this case) to ESP partition from that Linux system ext4 partition and then you could point the UEFI Firmware at it. I think in EasyUEFI you probably just chose the grub binary on the ESP drive with some wizard that just let you choose the file on disk right? EFIBootEditor so far doesn't have such functionality - it's just enabling reading/writing all the low level stuff with GUI. So for example if you look right now with it, you should see the entry EasyUEFI created (with the detailed device path used like HD, FilePath, End etc.) and you'd have to create all that yourself in here if not for EasyUEFI wizard.

Don't know how you've installed the Linux system. But assuming it had some installation wizard (or instructions) it might be worth it to open an issue there somewhere to mention that it installs bootloader incorrectly on UEFI systems (unless this was just some random error).