Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[void] Repurpos laptop, how to recreate the EFI partition?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Installing Gentoo
View previous topic :: View next topic  
Author Message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20506

PostPosted: Wed Aug 21, 2024 7:36 pm    Post subject: [void] Repurpos laptop, how to recreate the EFI partition? Reply with quote

I'd like to clean up the no longer needed Windows related stuff and reduce the size of the partition.

Specifically:
Code:
root@sysresccd /root % fdisk -l /dev/sda
Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x76692ca8

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048  30716279  30714232  14.7G  c W95 FAT32 (LBA)
/dev/sda2        30716280 975849519 945133240 450.7G  7 HPFS/NTFS/exFAT
/dev/sda3       975851520 976771071    919552   449M 27 Hidden NTFS WinRE
It's 15G with 6.7G used. That seems excessive, and was at least in part for Windows stuff.
Code:
root@sysresccd /root % find /mnt/1 -size +100M -exec ls -ldh {} \+ 
-rwxr-xr-x 1 root root 384M Nov  4  2012 /mnt/1/ASUS.000/user-006.dat
-rwxr-xr-x 1 root root 1.7G Feb  3  2010 /mnt/1/asus2.swm
-rwxr-xr-x 1 root root 3.9G Feb  3  2010 /mnt/1/asus.swm
-rwxr-xr-x 1 root root 104M May 22  2009 /mnt/1/ASUS.SYS/va-FF.AR-8.1.2.sqx
-rwxr-xr-x 1 root root 158M Sep 16  2009 /mnt/1/sources/boot.wim
-rwxr-xr-x 1 root root 156M Sep 13  2007 /mnt/1/winre.wim
The .swm and .wim seem to be Windows images. There are also some other things, including but not limited to:
Code:
'$RECYCLE.BIN'
'System Volume Information'


What I'd like is to be able to reduce that partition to about 1GB, but obviously I don't want to lose import EFI things. Currently I think EFI was 'disabled' in the BIOS, which may explain:
Code:
root@sysresccd /root % efibootmgr -v
EFI variables are not supported on this system.
And in case it could b important, this System Rescue CD is old:
Code:
Portage 2.3.6 (python 3.4.5-final-0, default/linux/x86/13.0, gcc-5.4.0, glibc-2.23-r4, 4.9.44-std504-amd64 x86_64)
=================================================================


So far all I've come across is managing entries with efibootmgr and not much else.

EDIT:

I guess I should be able to delete the partition and it's supposed to still have the important bits still in nvram?

On my daily use laptop, I created a 128MB partition for /boot and it only contains kernel image stuff. Under it, /boot/EFI/BOOT/bootx64.efi seems to be the only notable file (other than icons/ and keys/). But it seems I read about multiple .efi files, so I wonder if I lost one in the process. Thus this thread.

EDIT 2:

I don't see any similar .efi files on the laptop to be repurposed. It seems mostly Microsoft related:
Code:
root@sysresccd /root % ls /mnt/1/boot
bcd  BCD.LOG  boot.sdi  etfsboot.com  fonts
root@sysresccd /root % ls /mnt/1/EFI/microsoft/boot
bcd  fonts


And even after enabling UEFI in the BIOS:
Code:
root@sysresccd /root % efibootmgr -v
EFI variables are not supported on this system.

_________________
Quis separabit? Quo animo?


Last edited by pjp on Wed Aug 28, 2024 4:58 pm; edited 1 time in total
Back to top
View user's profile Send private message
charles17
Advocate
Advocate


Joined: 02 Mar 2008
Posts: 3685

PostPosted: Thu Aug 22, 2024 6:12 am    Post subject: Reply with quote

You want to read https://wiki.gentoo.org/wiki/EFI_System_Partition
Back to top
View user's profile Send private message
Goverp
Advocate
Advocate


Joined: 07 Mar 2007
Posts: 2185

PostPosted: Thu Aug 22, 2024 9:59 am    Post subject: Reply with quote

Interesting. My dual-boot Win 11/Gentoo laptop has just 256 MB of efi patition, of which currently 84 MB is in use. And that includes GRUB, and old copy of rEFInd, and a load of cr*p from hp.
It looks to me like yours has been somehow "combined" with the windows recovery environment, which "ought" to be a separate partition. Even then, on mine that's just another 1 GB. Perhaps you also have it combined with the files needed for a "Reset to factory defaults" Windows partition - I had one, which was about 15 GB AFAIR, but I deleted it, preferring a proper backup of my current Windows partition to a USB external drive.
_________________
Greybeard
Back to top
View user's profile Send private message
DawgG
l33t
l33t


Joined: 17 Sep 2003
Posts: 874

PostPosted: Thu Aug 22, 2024 10:26 am    Post subject: Reply with quote

check /sys/firmware/efi/ (there must be stuff inside) if you booted in EFI-mode.
also, it might ne necessary to manually mount
Code:
mount -t efivarfs none /sys/firmware/efi

in sysresccd and inside the chroot yout're trying to install grub in. /boot/efi must also be mounted to a FAT32-partition, i think.
if any of this runs is manufacturer-dependent in my experience. efibootmgr might run or not in sysresccd or the chroot.
in some cases, when grub or efibootmgr install with errors, the firmware offers to "boot from file" and you can boot with grub from the hd and succesfully install it after.
GOOD LUCK!
_________________
DUMM KLICKT GUT.
Back to top
View user's profile Send private message
sMueggli
Guru
Guru


Joined: 03 Sep 2022
Posts: 506

PostPosted: Thu Aug 22, 2024 3:40 pm    Post subject: Reply with quote

I do not think that you have an EFI System Partition. You only have a FAT-formatted partition and that's it (check it with "lsblk -o +PARTTYPE").

The partition table is DOS. If it is DOS, then Windows is installed in the BIOS (legacy) mode. If the partition table is GPT, then Windows will be installed in UEFI mode.

If you want to install something in UEFI mode, you should start from the beginning with creating an GPT partition table (not mandatory for Linux but recommended) and install whatever you want to install.
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20506

PostPosted: Thu Aug 22, 2024 7:16 pm    Post subject: Reply with quote

charles17 wrote:
You want to read https://wiki.gentoo.org/wiki/EFI_System_Partition
Thanks. I've read that, but perhaps not thoroughly enough. I'm not just trying to create the partition, but make sure I don't lose something important from the existing partition.

Goverp wrote:
Interesting. My dual-boot Win 11/Gentoo laptop has just 256 MB of efi patition, of which currently 84 MB is in use. And that includes GRUB, and old copy of rEFInd, and a load of cr*p from hp.
It looks to me like yours has been somehow "combined" with the windows recovery environment, which "ought" to be a separate partition. Even then, on mine that's just another 1 GB. Perhaps you also have it combined with the files needed for a "Reset to factory defaults" Windows partition - I had one, which was about 15 GB AFAIR, but I deleted it, preferring a proper backup of my current Windows partition to a USB external drive.
That's possible. And since EFI was disabled in the BIOS, maybe it came from the vendor or whomever set up the hardware.

The 3rd partition may be related to that as well: "449M 27 Hidden NTFS WinRE"

I stopped meaningfully dealing with windows ~2010, so I'm not familiar with how they've changed things, especially with EFI and recovery.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20506

PostPosted: Thu Aug 22, 2024 7:21 pm    Post subject: Reply with quote

DawgG wrote:
check /sys/firmware/efi/ (there must be stuff inside) if you booted in EFI-mode.
Code:
root@sysresccd /root % ls /sys/firmware/ 
acpi  dmi  memmap
So I enabled EFI mode, then only "save settings" followed by selecting the USB thumb drive to boot. I haven't found a regular boot menu, so I have to use the BIOS. Maybe it didn't save enabling EFI. I'll double check.

DawgG wrote:
also, it might ne necessary to manually mount
Code:
mount -t efivarfs none /sys/firmware/efi
And maybe the problem is my sysreesccd is too old:
Code:
root@sysresccd /root % mount -t efivars none /mnt/0
mount: unknown filesystem type 'efivars'
I was really hoping to not have to find something else.

DawgG wrote:
in sysresccd and inside the chroot yout're trying to install grub in. /boot/efi must also be mounted to a FAT32-partition, i think.
if any of this runs is manufacturer-dependent in my experience. efibootmgr might run or not in sysresccd or the chroot.
in some cases, when grub or efibootmgr install with errors, the firmware offers to "boot from file" and you can boot with grub from the hd and succesfully install it after.
/boot/efi, or I think /efi/efi is the newer location. Although on my daily laptop, /boot/EFI is just a sub-directory. EFI seems like it was designed to make javascript's genesis well planned and considered.
Code:
# df -h /boot/EFI/
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2       121M   64M   57M  54% /boot

_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20506

PostPosted: Thu Aug 22, 2024 7:31 pm    Post subject: Reply with quote

sMueggli wrote:
I do not think that you have an EFI System Partition. You only have a FAT-formatted partition and that's it (check it with "lsblk -o +PARTTYPE").
It's not labeled as efi, but some parts have the suggestion of it. I suppose it's /boot and /EFI directories may be red herrings, unless the sysreccd's lack of support matters.
Code:
root@sysresccd /root % lsblk -o +PARTTYPE /dev/sda1           
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT PARTTYPE
sda1   8:1    0 14.7G  0 part /mnt/1     0xc
Code:
root@sysresccd /root % ls -1 /mnt/1/{boot,EFI}
/mnt/1/boot:
bcd
BCD.LOG
boot.sdi
etfsboot.com
fonts

/mnt/1/EFI:
microsoft


sMueggli wrote:
The partition table is DOS. If it is DOS, then Windows is installed in the BIOS (legacy) mode. If the partition table is GPT, then Windows will be installed in UEFI mode.
I forgot about the disk label dos vs gpt. That also explains why UEFI was disabled in BIOS.

sMueggli wrote:
If you want to install something in UEFI mode, you should start from the beginning with creating an GPT partition table (not mandatory for Linux but recommended) and install whatever you want to install.
Thanks. Before doing that I wanted to create a backup of possible important pieces since I've read about people deleting and losing .efi files. But none of those appear to exist, so that resolves that concern.

However, last night I decided to run a smartctl long test. Hah! If, no pun intended, I read this correctly, the drive is about dead:
Code:
SMART Extended Self-test Log Version: 1 (1 sectors)
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Extended offline    Completed: read failure       90%     15004         37087320
My understanding is any failures are bad, and if 90% means that's the failure rate, then yikes.

I started with this laptop because it seemed the least capable, so I guess I'll try another. I don't think it's worth replacing the drive.

/proc/cpuinfo:
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 37
model name      : Intel(R) Core(TM) i3 CPU       M 330  @ 2.13GHz
stepping        : 2
microcode       : 0x8
cpu MHz         : 933.000
cache size      : 3072 KB
physical id     : 0
siblings        : 4
core id         : 0
cpu cores       : 2
apicid          : 0
initial apicid  : 0
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm arat
bugs            :
bogomips        : 4255.89
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual
power management:

_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
sMueggli
Guru
Guru


Joined: 03 Sep 2022
Posts: 506

PostPosted: Fri Aug 23, 2024 5:42 pm    Post subject: Reply with quote

pjp wrote:
/boot/efi, or I think /efi/efi is the newer location. Although on my daily laptop, /boot/EFI is just a sub-directory. EFI seems like it was designed to make javascript's genesis well planned and considered.


On every ESP there is a EFI directory in the partition root. Inside EFI there is at least a BOOT folder and normally other folders for the different operating systems (like "gentoo", "Microsoft", "fedora" and others).

The mountpoint for the ESP is either /boot/efi (which is the Grub default) or /efi (the newer way to avoid nested mounts and the "official" Gentoo mountpoint for the ESP). It is also possible to mount the ESP to /boot. But in this case you are storing a lot of files on the ESP that are only useful for the operating system or for the bootloader.


pjp wrote:
Code:
root@sysresccd /root % lsblk -o +PARTTYPE /dev/sda1           
NAME MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT PARTTYPE
sda1   8:1    0 14.7G  0 part /mnt/1     0xc


If I do interpret it correctly, the partition type "0x(0)c" is ambiguous. It is used for FAT32 LBA partitions, but seems to be used also on (older?) Windows systems for ESPs. There is also the partition type "0xef".

It looks like you have a quite old device (and I wonder whether the EFI firmware is 64bit or one of the 32 bit EFI firmwares with 64 bit processor).
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20506

PostPosted: Sat Aug 24, 2024 5:30 am    Post subject: Reply with quote

There are definitely parts that seem like it might or could have been an EFI. Or maybe some common structure used for EFI / recovery, and since EFI boot was disabled, maybe the EFI specific stuff was never populated. Or at least the .efi files.

According to fdisk:
Code:
 c  W95 FAT32 (LBA)
ef  EFI (FAT-12/16/


sMueggli wrote:
It looks like you have a quite old device (and I wonder whether the EFI firmware is 64bit or one of the 32 bit EFI firmwares with 64 bit processor).
It seems to have been a cheap retail laptop, first available in July 2010. It's a 1st gen i3, with 4GB RAM, max 8.

I'm mainly going to use it for testing. I may first try Gentoo binaries, but I also want to try using my own. In theory I've built them to be generic amd_64, but I haven't tested that to confirm.

The other laptops I have also have only 4GB of RAM, so I won't be avoiding that any time soon. One even has a 1TB drive :).

Eventually I'm gong to try using this one to distribute ::gentoo, and eventually some other small stuff, or it won't justify it's power consumption. Wake on LAN would be nice too.

Anyway, I hope to get an install going on it this weekend. I had hoped to have it done by now, but fortunately it's nothing urgent.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
pjp
Administrator
Administrator


Joined: 16 Apr 2002
Posts: 20506

PostPosted: Wed Aug 28, 2024 4:57 pm    Post subject: Reply with quote

It seems UEFI doesn't work on this system, despite the BIOS UEFI enable / disable option.
Code:
(chroot) sysresccd / # refind-install --root /
ShimSource is none
Installing rEFInd on Linux....
ESP was found at /efi using vfat
Running in BIOS mode with no existing default boot loader; installing to
/efi/EFI/BOOT
Note: IA32 (x86) binary not installed!
Copied rEFInd binary files

Copying sample configuration file as refind.conf; edit this file to configure
rEFInd.


Installation has completed successfully.
/boot is part of /, which is where the dist kernel files were installed. On reboot, I only see a blinking cursor after the brand logo screen. It isn't "hard locked" as Ctrl-Alt-Del works to reboot it.

I didn't try to configure refind, expecting either an error or for it's "automagic" to work, but it doesn't load at all.
Code:
root@sysresccd /mnt/gentoo % find efi |grep -Ev 'efi/EFI/BOOT/(icons|keys)'
efi
efi/EFI
efi/EFI/BOOT
efi/EFI/BOOT/bootx64.efi
efi/EFI/BOOT/refind.conf
efi/EFI/BOOT/refind.conf-sample
efi/EFI/BOOT/BOOT.CSV
I guess since this was mainly a test, I can make the efi partition ext4 /boot partition instead. At least that gives me an opportunity to try sys-boot/syslinux.
_________________
Quis separabit? Quo animo?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Installing Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum