You are not logged in.
I’m doing an arch install onto my new SSD and everything has gone smoothly until it’s time to boot into the freshly installed system. The install was done booting the install media in EFI mode (confirmed with efivars), and using grub as the bootloader. The new install shows up in the motherboard boot options (I named it ‘grub’), but selecting it results in a black screen with blinking cursor. If my drive with a windows install is connected, it uses that instead.
There were no errors reported during grub install.
Any tips for figuring out what's going on? There are a few other posts with similar problems but nothing that seems to be exactly my situation. It's tricky not getting any error messages or anything.
Thanks
Edit: I just remembered that I had trouble booting the install media in EFI mode until I followed the instruction in this thread. The problem now is not throwing the same error, but it strikes me that it could be related.
Motherboard: MSI P67A-GD65
Samsung 840 EVO partitioned (GPT) as follows:
/dev/sda1
512M
Type “EFI System Partition”
FAT32
'boot', 'esp' flags
/dev/sda2
~100G
Type “Linux Filesystem"
ext4 on LUKS (mapped to /dev/mapper/cryptroot)
Last edited by ce1984 (2015-01-02 23:11:33)
Offline
The thread you have linked in your edit is rather long -- how about just telling us the instruction that you followed?
Have you disabled Secure Boot?
The Arch .iso will boot up with it enabled but the installed system will not.
Rather than typing out what you think the partition structure is, you should use the Arch .iso to (arch-)chroot into your system and post the output of these commands:
lsblk -f
# gdisk -l /dev/sda
We also need to see the contents of grub.cfg
Also, what were the exact commands you used to ensure GRUB was installed and configured correctly?
I would recommend using gummiboot instead -- this is also the recommendation given in the Beginner's Guide.
Last edited by Head_on_a_Stick (2015-01-02 21:22:30)
Jin, Jîyan, Azadî
Offline
I don't believe this MB has secureboot features, at least not that I've been able to find.
In the thread I mentioned the only thing I followed was the conlusion at the top:
SOLUTION: Mount the USB flash drive's ESP and copy EFI/BOOT/loader.efi to EFI/BOOT/bootx64.efi, overwriting the original file.
This was the install procedure:
Partitions created with cfdisk
cryptsetup luksOpen -s 512 /dev/sda2 cryptroot
mkfs -t ext4 /dev/mapper cryptroot
mkfs.vfat -F32 /dev/sda1
mount /dev/mapper/cryptroot /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot
pacstrap -i /mnt base base-devel
genfstab -U -p /mnt >> /mnt/etc/fstab
arch-chroot /mnt /bin/bash
Setup locale, passwd etc.
Added encrypt hook to mkinitcpio.conf before filesystems
mkinitcpio -p linux
pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub_uefi --recheck
Added ‘cryptdevice=dev/disk/by-uuid/1E23-CEC5’ to GRUB_CMDLINE_LINUX in /etc/default/grub
grub-mkconfig -o /boot/grub/grub.cfg
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 /boot
└─sda2
└─cryptroot /
sdb
sdc
├─sdc1
└─sdc2
sdd
├─sdd1
└─sdd2
sr0
loop0
loop1
└─arch_airootfs /etc/resolv.conf
loop2
└─arch_airootfs /etc/resolv.conf
GPT fdisk (gdisk) version 0.8.10
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 10F6986C-0120-41D6-905A-C4317FFAB8A4
Partition table holds up to 128 entries
First usable sector is 2048, last usable sector is 234441614
Partitions will be aligned on 2048-sector boundaries
Total free space is 0 sectors (0 bytes)
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00
2 1050624 234441614 111.3 GiB 8300
grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#
### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="0"
fi
if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi
export menuentry_id_option
if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi
function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}
function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}
if loadfont unicode ; then
set gfxmode=auto
load_video
insmod gfxterm
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
set timeout_style=menu
set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
set timeout=5
fi
### END /etc/grub.d/00_header ###
### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-8f4e4cab-1134-4b37-ab39-d6f93af1cdcd' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1E23-CEC5
else
search --no-floppy --fs-uuid --set=root 1E23-CEC5
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=8f4e4cab-1134-4b37-ab39-d6f93af1cdcd rw cryptdevice=/dev/disk/by-uuid/1E23-CEC5:cryptroot quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-8f4e4cab-1134-4b37-ab39-d6f93af1cdcd' {
menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-8f4e4cab-1134-4b37-ab39-d6f93af1cdcd' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1E23-CEC5
else
search --no-floppy --fs-uuid --set=root 1E23-CEC5
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=8f4e4cab-1134-4b37-ab39-d6f93af1cdcd rw cryptdevice=/dev/disk/by-uuid/1E23-CEC5:cryptroot quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux.img
}
menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-8f4e4cab-1134-4b37-ab39-d6f93af1cdcd' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod fat
set root='hd0,gpt1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt1 --hint-efi=hd0,gpt1 --hint-baremetal=ahci0,gpt1 1E23-CEC5
else
search --no-floppy --fs-uuid --set=root 1E23-CEC5
fi
echo 'Loading Linux linux ...'
linux /vmlinuz-linux root=UUID=8f4e4cab-1134-4b37-ab39-d6f93af1cdcd rw cryptdevice=/dev/disk/by-uuid/1E23-CEC5:cryptroot quiet
echo 'Loading initial ramdisk ...'
initrd /initramfs-linux-fallback.img
}
}
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
### BEGIN /etc/grub.d/60_memtest86+ ###
### END /etc/grub.d/60_memtest86+ ###
Last edited by ce1984 (2015-01-03 00:10:57)
Offline
If you had to use that fix to get the Arch .iso booting, you may have to repeat the trick with your installation.
You could try copying the loader.efi generated by GRUB (probably located in /boot/grub/ somewhere, I don't use GRUB so I'm not sure where exactly) to /boot/EFI/BOOTx64.EFI
This is the default loader used by your firmware.
Make sure you backup the original file first, just in case©
(If you were to use gummiboot, the loader is located at /boot/EFI/gummiboot/gummibootx64.efi)
Jin, Jîyan, Azadî
Offline
I copied grubx64.efi to /boot/EFI/BOOT/bootx64.efi but no dice. It's not throwing the same error ("failed to install overide security policy") so I'm not convinced its a related issue.
Last edited by ce1984 (2015-01-03 00:04:10)
Offline
This might not be relevant as I don't think you're getting to this stage in the boot process but you only mention adding the encrypt hook to mkinitcpio.conf, don't you need to add the lvm2 hook as well?
Last edited by Slithery (2015-01-03 00:13:21)
Offline
This probably isn't relevant but you only mention adding the encrypt hook to mkinitcpio.conf, don't you need to add the lvm2 hook as well?
I didn't think so. I've following this which doesn't mention it (doing "simple partition layout with LUKS')
Offline
slithery wrote:This probably isn't relevant but you only mention adding the encrypt hook to mkinitcpio.conf, don't you need to add the lvm2 hook as well?
I didn't think so. I've following this which doesn't mention it (doing "simple partition layout with LUKS')
Sorry, that's me getting carried away with my own workflow. I've never used LUKS without LVM on top.
Offline
Well I know nothing about LUKS (in my country, I go to jail if I forget the password and the police want to access my drive) so I'm going to have to bail out at this point, sorry.
Hopefully someone else will be able to provide further help.
Jin, Jîyan, Azadî
Offline
Well I know nothing about LUKS (in my country, I go to jail if I forget the password and the police want to access my drive) so I'm going to have to bail out at this point, sorry.
Hopefully someone else will be able to provide further help.
I really don't think the cryptography is relevant to my problem here, as I'm not even getting as far as the grub menu. My previous install was also using LUKS, the only thing that's different this time is that I'm trying to get it to work in EFI mode. For my last install I gave up and ended up doing a BIOS/MBR setup. Now that I got the install medium to boot EFI, I thought things were going to go more smoothly. Oh well.
Offline
Ugh: Grub.
Did you add the correct parameter to GRUB_CMDLINE? https://wiki.archlinux.org/index.php/GR … encryption
# edit: nevermind, reread your original install steps...
Offline
At this point I'm about to give up on grub and try gummiboot. Is there a clean way to remove grub completely? I may just wipe both partitions and reinstall everything so I'm sure I have a clean slate.
Offline
You don't have to remove it -- just install gummiboot and set up loader.conf & arch.conf
https://wiki.archlinux.org/index.php/Be … therboards
Jin, Jîyan, Azadî
Offline
I just installed gummiboot and to my disappointment it's behaving in exactly the same way. Selecting 'Linux Boot Manager' result in the same black screen and flashing cursor. Any ideas?
Last edited by ce1984 (2015-01-03 02:04:15)
Offline
Please paste your gummiboot entry conf.
Offline
Try to chroot into partition and post
# efibootmgr -v
What's the brand and version of your BIOS ?
do it good first, it will be faster than do it twice the saint
Offline
Please paste your gummiboot entry conf.
arch.conf
title Arch Linux
linux /vmlinuz-linux
options initrd=/initramfs-linux.img cryptdevice=PARTUUID=ef4c37fb-375c-4848-b177-84a3b10e6b53 root=/dev/mapper/cryptroot
efibootmgr -v
BootCurrent: 0005
Timeout: 1 seconds
BootOrder: 0000,0001,0002,0006,0007,0008,0003,0004,0005,0009,000A
Boot0000* SATA: ST3500830AS BIOS(11,0,00)
Boot0001* PNY USB 2.0 FD 1100 BIOS(10,0,00)
Boot0002* S1 Optiarc DVD RW AD-7260S BIOS(13,0,00)
Boot0003* grub HD(1,800,100000,59724644-021c-4278-952a-759b4ef5ea3f)File(\EFI\grub\grubx64.efi)
Boot0004* Built-in EFI Shell Vendor(5023b95c-db26-429b-a648-bd47664c8012,)FvFile(c57ad6b7-0515-40a8-9d21-551652854e37)
Boot0005* UEFI: PNY USB 2.0 FD 1100 ACPI(a0341d0,0)PCI(1d,0)USB(1,0)USB(3,0)HD(1,fc,f800,7374d02e)
Boot0006* MotorolaXT862 0001 BIOS(14,0,00)
Boot0007* MotorolaXT862 0001 BIOS(12,0,00)
Boot0008* Linux Boot Manager HD(1,800,100000,59724644-021c-4278-952a-759b4ef5ea3f)File(\EFI\gummiboot\gummibootx64.efi)
Boot0009* UEFI: MotorolaXT862 0001 ACPI(a0341d0,0)PCI(1d,0)USB(1,0)USB(4,0)SCSI(0,1)HD(1,2000,1daac00,00000000)
Boot000a* UEFI: FAT File System ACPI(a0341d0,0)PCI(1d,0)USB(1,0)USB(4,0)
It's an MSI bios, reporting version 1.23.1108
Thanks
Offline
Your entry is wrong: initrd and options require their own lines. See the wiki for an example https://wiki.archlinux.org/index.php/Gu … figuration
Offline
Your entry is wrong: initrd and options require their own lines. See the wiki for an example https://wiki.archlinux.org/index.php/Gu … figuration
I followed the instructions in https://wiki.archlinux.org/index.php/gu … tallations
which reads
$esp/loader/entries/arch-encrypted.conf title Arch Linux (Encrypted) linux /path/to/vmlinuz-linux options initrd=/path/to/initramfs-linux.img cryptdevice=UUID=<UUID>:luks-<UUID> root=UUID=<luks-UUID> rw
Note that the initrd is listed afer options -- this does not appear to be discretionary at this time. UUID is used in this example; PARTUUID should be able to replace the UUID, if so desired.
Also, I wouldn't think that this could cause my problem as I'm not even getting as far as the gummiboot menu
Offline
That entry is bogus: read the official documentation http://freedesktop.org/wiki/Software/gummiboot/
It should look like:
title Arch Linux
linux /vmlinuz-linux
initrd /initramfs-linux.img
options cryptdevice=/dev/blah_blah root=/dev/mapper/blah_blah quiet ro
Offline
That entry is bogus: read the official documentation http://freedesktop.org/wiki/Software/gummiboot/
It should look like:
title Arch Linux linux /vmlinuz-linux initrd /initramfs-linux.img options cryptdevice=/dev/blah_blah root=/dev/mapper/blah_blah quiet ro
Thanks. Fixed the entry; still no luck. Maybe it's time for a motherboard upgrade. Any other suggestions to try?
Offline
Your entry is still not right: one of those two is the wrong number...
PARTUUID=ef4c37fb-375c-4848-b177-84a3b10e6b53
efibootmgr -v
Boot0008* Linux Boot Manager HD(1,800,100000,---->59724644-021c-4278-952a-759b4ef5ea3f<-----)File(\EFI\gummiboot\gummibootx64.efi)
Paste the output of blkid.
Offline
blkid
/dev/sda1: UUID="5FF2-26D2" TYPE="vfat" PARTUUID="59724644-021c-4278-952a-759b4ef5ea3f"
/dev/sda2: UUID="b05fec64-e7d1-4564-bcb3-dfecb15d5619" TYPE="crypto_LUKS" PARTUUID="ef4c37fb-375c-4848-b177-84a3b10e6b53"
/dev/sdc1: LABEL="System Reserved" UUID="CE048D1F048D0C21" TYPE="ntfs" PARTUUID="0000106f-01"
/dev/sdc2: UUID="FAF88F1EF88ED7F1" TYPE="ntfs" PARTUUID="0000106f-02"
/dev/sdb1: UUID="2801-52B5" TYPE="vfat" PARTUUID="e4175de6-d45e-4bdd-bad9-826ec9acb680"
/dev/sdd1: UUID="2015-01-01-09-54-22-00" LABEL="ARCH_201501" TYPE="iso9660" PTUUID="7374d02e" PTTYPE="dos" PARTUUID="7374d02e-01"
/dev/sdd2: SEC_TYPE="msdos" LABEL="ARCHISO_EFI" UUID="9051-9287" TYPE="vfat" PARTUUID="7374d02e-02"
/dev/loop0: TYPE="squashfs"
/dev/loop1: UUID="ad4406c8-5ffe-491b-b696-0c3aa0b7a085" TYPE="ext4"
/dev/loop2: UUID="ad4406c8-5ffe-491b-b696-0c3aa0b7a085" TYPE="ext4"
/dev/mapper/arch_airootfs: UUID="ad4406c8-5ffe-491b-b696-0c3aa0b7a085" TYPE="ext4"
I'm not convinced that these are supposed to be the same. My understanding is that the PARTUUID in efibootmgr is a pointer to the drive containing gummibootx64.efi, whereas the arch.conf entry is pointing to the partition containing the LUKS-encrypted root filesystem.
Offline
Yes, you are right. Sorry, I was distracted when I posted.
Last shot: can you please paste the output of `tree /boot`?
Offline
Yes, you are right. Sorry, I was distracted when I posted.
Last shot: can you please paste the output of `tree /boot`?
/boot
|-- EFI
| |-- Boot
| | `-- BOOTX64.EFI
| `-- gummiboot
| `-- gummibootx64.efi
|-- initramfs-linux-fallback.img
|-- initramfs-linux.img
|-- loader
| |-- entries
| | `-- arch.conf
| `-- loader.conf
`-- vmlinuz-linux
5 directories, 7 files
Is there a way I can try to launch arch (or gummiboot) directly from the motherboards EFI shell?
I notice that on the arch install media the path is /EFI/boot/bootx64.efi instead of /EFI/Boot/BOOTX64.EFI (different capitalizations). Are these paths case-sensitive? Running out of ideas here.
Offline