Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Missing Bootloader on Arch Installation #3128

Closed
fesowowako opened this issue Jan 17, 2025 · 11 comments
Closed

Missing Bootloader on Arch Installation #3128

fesowowako opened this issue Jan 17, 2025 · 11 comments

Comments

@fesowowako
Copy link

Which ISO version are you using?

2025-01-01

The installation log

https://0x0.st/8od_.log

describe the problem

Description of the issue

First off, I was encountering issues with Btrfs, as detailed in my previous report here: #3124. Now, I'm looking to install Arch from the latest commits to bypass the problem I'm facing with the current stable release.

I’m looking to install Arch from the latest commits, Here’s the deal: when I try to install the packages, git, python-pip, gcc, pkgconf, I get an error, something about the partition being too full. I checked the wiki for a fix, and it suggests running the command mount -o remount,size=SIZE /run/archiso/cowspace. But when I try that, I get an error saying cowspace doesn’t exist. So, I’m at a bit of a loss here, as it’s my first time building this from source.

By the way, I also tried running archinstall with python -m archinstall. The only packages that installed were git and python-pip, due to the space issue I mentioned. The installation seemed to go smoothly, with none of the previous problems I encountered. However, when I rebooted, the bootloader was completely absent. I’m not sure what I’ve missed here. It boots straight into Windows automatically. Even when I shut it down and spam F12 to access the boot options, I don't see systemd-boot or anything related to Arch.

@codefiles
Copy link
Contributor

Being incapable of increasing the root file system of the ISO is not an archinstall issue.

You have more than one EFI system partition on /dev/sda, should be just one.

@fesowowako
Copy link
Author

Right, there are two EFI partitions. One is for Windows, located at /dev/sda3, which was created automatically during the Windows installation. The other is /dev/sda6, which I set up for Arch Linux. When I was using the XFS filesystem, I used to combine both EFI partitions in systemd-boot by chrooting into my system and running the following commands:
mount /dev/sda3 /mnt
cp /mnt/EFI /boot/ -r

So, the two EFI partitions aren’t likely the source of the problem, you see? It worked perfectly fine with XFS, as I mentioned.

@fesowowako
Copy link
Author

##How to reproduce the problem
cfdisk /dev/sda
mkfs.vfat -F 32 /dev/sda6
mkfs.btrfs -f /dev/sda7
mount /dev/sda7 /mnt
btrfs su cr /mnt/@
btrfs su cr /mnt/@home
btrfs su cr /mnt/@pkg
btrfs su cr /mnt/@log
btrfs su cr /mnt/@.snapshots
umount /mnt
mkdir /mnt/archinstall
mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,subvol=@ /dev/sda7 /mnt/archinstall
mkdir -p /mnt/archinstall/home
mkdir -p /mnt/archinstall/var/cache/pacman/pkg
mkdir -p /mnt/archinstall/var/log
mkdir -p /mnt/archinstall/.snapshots
mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,subvol=@home /dev/sda7 /mnt/archinstall/home
mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,subvol=@pkg /dev/sda7 /mnt/archinstall/var/cache/pacman/pkg
mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,subvol=@log /dev/sda7 /mnt/archinstall/var/log
mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,[email protected] /dev/sda7 /mnt/archinstall/.snapshots
mkdir -p /mnt/archinstall/boot
mount /dev/sda6 /mnt/archinstall/boot
mount -o remount,size=2G /run/archiso/cowspace
pacman -Sy; pacman -S git python-pip gcc pkgconf
pip uninstall --break-system-packages archinstall
git clone https://github.com/archlinux/archinstall
cd archinstall
pip install --break-system-packages .
archinstall --advanced

@fesowowako fesowowako changed the title Partition Full and Missing Bootloader on Arch Installation Missing Bootloader on Arch Installation Jan 18, 2025
@codefiles
Copy link
Contributor

codefiles commented Jan 18, 2025

It boots straight into Windows automatically. Even when I shut it down and spam F12 to access the boot options, I don't see systemd-boot or anything related to Arch.

Right, your UEFI is detecting /dev/sda3 as the ESP. You are installing systemd-boot to a second ESP /dev/sda6, not detected by your UEFI.

@fesowowako
Copy link
Author

It boots straight into Windows automatically. Even when I shut it down and spam F12 to access the boot options, I don't see systemd-boot or anything related to Arch.

Right, your UEFI is detecting /dev/sda3 as the ESP. You are installing systemd-boot to a second ESP /dev/sda6, not detected by your UEFI.

Well, could you at least tell me what needs to be done? I've been struggling with it for the past few days.

@codefiles
Copy link
Contributor

An issue report is not the proper place to seek support.

@fesowowako
Copy link
Author

Apologies for asking in the wrong place, but I simply want to resolve this issue, and I'm not sure where else to turn. If you have the information on what exactly I need to do, let me know. Once again, my apologies.

@codefiles
Copy link
Contributor

codefiles commented Jan 18, 2025

Familiarize yourself with the installation guide and learn to do a manual installation if you do not already know how. For documentation see the ArchWiki, for support use the Arch Linux forums. To put you in the right direction, see the fourth paragraph of Dual boot with Windows#Bootloader UEFI vs BIOS limitation and all of Dual boot with Windows#UEFI systems.

@fesowowako
Copy link
Author

This doesn’t seem safe at all, using the same EFI partition for both Windows and Linux. It’s only 100MB, so I’m not sure how it’s supposed to work; there simply won’t be enough space for both systems. If I were to go ahead with that, it’d likely mess up my Windows installation. I need to increase the size of that 100MB EFI partition to at least 1GB, which probably means I’ll have to reformat, something I’m not keen on doing.

And as for combining Arch with Windows on systemd-boot, I’m at a loss. How am I supposed to set it up so I can choose which one to boot into? It’s frustrating. Couldn’t we get Archinstall to support dual-booting with Windows? It would make life so much easier for users. For instance, in the partitioning section, let me choose which EFI partition belongs to Windows, which is the root partition, and let the installer take care of the rest, ensuring both systems work smoothly. Right now, I’m just feeling completely lost.

@fesowowako
Copy link
Author

fesowowako commented Jan 19, 2025

Right, let me lay it out one last time, and do feel free to correct me if I’m off-track anywhere. I’ve asked a load of people about my situation, but all I get is "don’t dual boot," which isn’t happening, I need both systems.

Here are the steps I’m planning to follow:
Run diskmgmt.msc as Administrator.

Right click on the "(C:)" partition (the only one of the default Windows-created partitions which can be resized online) and select Shrink Volume....
Enter 4096 as the amount to shrink and click Shrink.
There should now be a 4 GiB unallocated space after the "(C:)" partition.

I’m going to remove the 1GB EFI partition for Linux, so now /dev/sda6 will be the new root partition with the 260GB. Just thought I’d let you know.

  1. cfdisk /dev/sda
  2. mkfs.btrfs -f /dev/sda6
  3. mount /dev/sda6 /mnt
  4. btrfs su cr /mnt/@
  5. btrfs su cr /mnt/@home
  6. btrfs su cr /mnt/@pkg
  7. btrfs su cr /mnt/@log
  8. btrfs su cr /mnt/@.snapshots
  9. umount /mnt
  10. mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,subvol=@ /dev/sda6 /mnt
  11. mkdir -p /mnt/home
  12. mkdir -p /mnt/var/cache/pacman/pkg
  13. mkdir -p /mnt/var/log
  14. mkdir -p /mnt/.snapshots
  15. mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,subvol=@home /dev/sda6 /mnt/home
  16. mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,subvol=@pkg /dev/sda6 /mnt/var/cache/pacman/pkg
  17. mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,subvol=@log /dev/sda6 /mnt/var/log
  18. mount -o noatime,compress=zstd:5,ssd,discard=async,space_cache=v2,commit=120,[email protected] /dev/sda6 /mnt/.snapshots
  19. mkdir esp
  20. mount /dev/sda3 esp
  21. cp -a esp /esp_backup
  22. sgdisk --delete=Y /dev/sda3
  23. sgdisk --align-end --largest-new=0 --typecode=0:ef00 --change-name=0:'EFI system partition' --partition-guid=0:85890b53-0d51-4c11-9658-769003308fb4 /dev/sda3
  24. mkfs.fat -F 32 -i 0F6377D9 /dev/sda3
  25. mount /dev/sda3 esp
  26. cp -a /esp_backup/. esp/
  27. umount esp
  28. mkdir -p /mnt/boot
  29. mount /dev/sda3 /mnt/boot
  30. mount -o remount,size=2G /run/archiso/cowspace

Then I’ll update the system and install some essentials:
31. pacman -Sy; pacman -S git python-pip gcc pkgconf
32. pip uninstall --break-system-packages archinstall
33. git clone https://github.com/archlinux/archinstall
34. cd archinstall
35. pip install --break-system-packages .
36. archinstall --advanced
Once I’m in the Arch install, I’ll go through the partitioning step, select "pre-mounted" and type /mnt. The bootloader should then recognise it as systemd-boot and pick up the rest based on my choice.

Look, I know I might be overcomplicating things, but I’m just trying to get this sorted so I can crack on with my tasks. I’m really sorry if I’m asking in the wrong place, I just need to get past this hurdle. Any corrections would be much appreciated. Cheers.

@fesowowako
Copy link
Author

@codefiles could you kindly confirm if all these commands are correct to proceed with on that laptop, or if there is anything wrong with any of them? I just need to be sure, as you are my only hope for getting Arch installed on it. Everyone else just says, 'Don't dual boot,' which is, quite frankly, frustrating. I need both systems for my workflow. I apologise for asking in the wrong place, but I genuinely need your help to install Arch safely without interfering with my Windows installation. In particular, I need to be certain that commands 19 through 29 are accurate, or if there’s anything wrong with them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants