You are not logged in.
I have been trying to dual boot Arch and Windows 10 on my Thinkpad E450, but have run into difficulties. Ultimately my questions are these: Why are the bootloaders not installing, and what should I do to fix it?
First, under windows settings, it says that I have a UEFI motherboard and I have also gone into my firmware setup and verified that UEFI mode is on, and Secure Boot is disabled. When partitioning, gparted and parted both said that I have a GPT partition table. However, when I run
ls /sys/firmware/efi/efivars
, it says that the directory doesn't exist.
My hard drive has 7 partitions- 5 are for windows, and I have a /boot partition and a /home partition. I have /boot formatted to FAT32, as listed in the Beginner's Guide, and the /home formatted as ext4. However,
lsblk -f
lists it as VFAT. Which one is the actual format, and could it be causing issues?
Because I couldn't be sure about the type of the motherboard, I tried different partition schemes and formats:
separate swap, /home, /boot, and / partitions (all ext4, and with /boot as FAT32)
/home and /boot (both FAT32, both ext4, /boot FAT32 with /home ext4)
Am I missing a partition? I know the BG says to have a EFI System Partition, but I wasn't sure if that would be in the Windows section of my hard drive, or if that was synonymous with the /boot drive, or if it required an entirely separate partition.
With all of these schemes, once I got to the bootloader installation, I tried installing both GRUB using
pacman -S grub os-prober
and systemd-boot with
bootctl install
. I received the following errors.
GRUB:
warning: database file for 'core' does not exist
warning: database file for 'extra' does not exist
warning: database file for 'community' does not exist
error: target not found: grub
error: target not found: os-prober
systemd-boot:
File system "/boot" is not a FAT EFI System Partition (ESP) file system.
I found a bootloader called rEFInd, and was wondering if I should go that route.
I have referenced these links to look for help, but have not found any solutions:
https://bbs.archlinux.org/viewtopic.php?id=207762
https://bbs.archlinux.org/viewtopic.php?id=207311
https://wiki.archlinux.org/index.php/REFInd
Than you for your help
EDIT: I corrected the text on the error messages for GRUB and systemd-boot
EDIT2: I marked it as solved, and clarified the subject a little further
Last edited by fyzx92 (2016-02-01 03:47:53)
Offline
under windows settings, it says that I have a UEFI motherboard and I have also gone into my firmware setup and verified that UEFI mode is on, and Secure Boot is disabled. When partitioning, gparted and parted both said that I have a GPT partition table. However, when I run
ls /sys/firmware/efi/efivars
, it says that the directory doesn't exist.
Try disabling "CSM" or "Legacy" mode to force a UEFI boot.
Even if you are not booted in UEFI mode, it is possible to install a working UEFI system by placing the systemd-boot .efi loader at at $ESP/EFI/BOOT/BOOTX64.EFI -- I prefer to use this method as the boot is not dependent on a specific NVRAM entry.
For more, see http://www.rodsbooks.com/efi-bootloader … ive-naming
We need to see the output of:
# parted -l
Just to note: if you want to use systemd-boot then you will have to share the Windows-generated EFI system partition and mount it to /boot
The EFI system partition needs to be type EF00 ("boot, esp" in gparted) and must be FAT-formatted.
Jin, Jîyan, Azadî
Offline
The output of
parted -l
is:
Model: ATA ST500LM021-1KJ15 (scsi
Disk/dev/sda: 500GB
Sector size (logical/physical): 512B/4096B
Partition Table:gpt
DiskFlags:
Number Start End Size File system Name Flags
1 1049kB 1050MB 1049MB ntfs boot, hidden, esp
2 1050MB 1322MB 273MB fat32 EFI system partition boot, esp
3 1322MB 1456MB 134MB Microsoft reserved partition msftres
4 1456MB 211GB 210GB ntfs Basic data partition msftdata
6 221GB 222GB 537MB fat32 msftdata
7 222GB 484GB 262GB ext4
5 484GB 500GB 16.0GB ntfs hidden, diag
It then has some info about the usb drive
Offline
Number Start End Size File system Name Flags 1 1049kB 1050MB 1049MB ntfs boot, hidden, esp 2 1050MB 1322MB 273MB fat32 EFI system partition boot, esp
Did you change the flags on /dev/sda1?
What directories and files are present on /dev/sda2?
If there is an EFI/Microsoft/Boot directory then that partition is the Windows ESP and should be used for /boot
We will need to see the error messages to troubleshoot this properly.
Jin, Jîyan, Azadî
Offline
I have not messed with the windows partitions, so the flags on /dev/sda1 should be the same as it was originally.
I don't know how to view files on that partition. It should be visible in windows, right?
Where would I find the EFI/Microsoft/Boot directory? Does that have the same answer as the previous question?
Which error messages in particular do you need? I can give the output of
ls /sys/firmware/efi/efivars
and
lsblk -f
. I will be sure to include the full error messages in the future.
Offline
I don't know how to view files on that partition.
From the Arch live ISO:
mount /dev/sda2 /mnt
ls -R /mnt
#spoonfeed
The errors in your OP edit show that /boot was mounted to the wrong partition and you didn't have an internet connection when you tried to install the new packages.
Please tell me that you haven't been following some random YouTube "guide" to install your system.
Last edited by Head_on_a_Stick (2016-01-31 21:46:25)
Jin, Jîyan, Azadî
Offline
With all of these schemes, once I got to the bootloader installation, I tried installing both GRUB using
pacman -S grub os-prober
You've installed packages, not bootloader itself.
To install grub for EFI/GPT:
# grub-install --target=x86_64-efi --efi-directory=$esp --bootloader-id=grub --recheck
Offline
^ Can we stick to systemd-boot for now please?
Introducing another bootloader will just confuse the issue.
Jin, Jîyan, Azadî
Offline
Sure, but someone should've point that issue with grub installation from OP anyway.
Offline
Okay: /dev/sda2 does have the EFI/Microsoft/Boot directory, thank you for showing me how to view that. I had tried mounting it and using cd, but that was not working. To set this up correctly, then, I should use /dev/sda2 for /boot, and remove what is now /dev/sda6 and just have a total of 6 partitions:4 windows, 1 boot, 1 Arch. Do I need to check if /dev/sda2 is of type EF00, or can that be assumed by the fact that it is the windows boot partition?
No, I have not been following any Youtube guides.
I just pinged google.com to verify my internet connection, and I still received the same error for installing GRUB.
Offline
To set this up correctly, then, I should use /dev/sda2 for /boot
Yes.
Do I need to check if /dev/sda2 is of type EF00
You already have, the "boot, esp" flag in the `parted` output shows that it is the correct type.
I just pinged google.com to verify my internet connection, and I still received the same error for installing GRUB.
Have you un-commented some mirrors in /etc/pacman.d/mirrorlist?
Try:
# pacman -Syu $PACKAGE
At any rate, we don't need any extra packages because systemd-boot is included in the base system.
Also, that command installs the GRUB package but does *not* install the bootloader to the disk, as noted by @Rethil
Jin, Jîyan, Azadî
Offline
After repartitioning my hard drive to have only a Linux data partition, and mounting the existing windows EFI system partition, I was successfully able to install the systemd-boot bootloader. Thank you for your help
Offline