You are not logged in.
Hi,
As part of a diagnostic for battery degradation, dell had me reset the bios options. When the process ended, my laptop will not boot into arch.
Bios sees the boot partition in the boot sequence, but trying to boot from the installed system fails: the laptop just ignores it and boots to windows.
I have no problem booting arch from USB.
This is a dell XPS 13 9350.
I tried toggling secure boot in bios with no effect. I don't know that anything has changed in the installed system, but can access it by booting from USB.
output of sudo parted /dev/nvme0n1 print
Model: Unknown (unknown)
Disk /dev/nvme0n1: 256GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Warning: failed to translate partition name
Number Start End Size File system Name Flags
1 1049kB 525MB 524MB fat32 EFI system partition boot, esp
2 525MB 660MB 134MB Microsoft reserved partition msftres
3 660MB 67.8GB 67.1GB ntfs Basic data partition msftdata
6 67.8GB 88.7GB 21.0GB btrfs
7 88.7GB 244GB 155GB btrfs
4 244GB 245GB 893MB ntfs hidden, diag
5 245GB 256GB 11.1GB ntfs hidden, diag
Last edited by angelo (2016-08-25 19:22:33)
Offline
Your NVRAM entries have probably been cleared.
Check the entries with:
# efibootmgr
Simply re-installing your bootloader should create a new entry.
For example, for systemd-boot use:
# bootctl install
Offline
Thanks! I'll try to look into this.
I should have mentioned, the contents of the boot partition do not seem to have changed at any time.
% efibootmgr
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0002,0000
Boot0000* Windows Boot Manager
Boot0002* UEFI: PM951 NVMe SAMSUNG 256GB, Partition 1
Boot0004* UEFI: SMI USB DISK 1100, Partition 1
If the USB is not present, it boots directly to Windows, despite the BootOrder.
Last edited by angelo (2016-08-19 17:43:01)
Offline
I mounted the root partition in SSD and the boot partition in SSD/boot. After chroot, I get the following errors:
#sudo chroot SSD
# efibootmgr
efibootmgr: EFI variables are not supported on this system.
# bootctl status
Failed to open file system "/boot": No such file or directory
# ls -l /boot/
drwxr-xr-x 6 root root 4096 Jul 17 21:01 EFI
drwxr-xr-x 2 root root 4096 Oct 14 2015 en-us
-rwxr-xr-x 1 root root 21694291 Aug 11 17:11 initramfs-linux-fallback.img
-rwxr-xr-x 1 root root 19184201 Dec 29 2015 initramfs-linux-mainline-fallback.img
-rwxr-xr-x 1 root root 4463267 Dec 29 2015 initramfs-linux-mainline.img
-rwxr-xr-x 1 root root 6792248 Aug 11 17:11 initramfs-linux.img
-rwxr-xr-x 1 root root 947712 Jul 22 05:02 intel-ucode.img
drwxr-xr-x 3 root root 4096 Dec 27 2015 loader
-rwxr-xr-x 1 root root 4699936 Aug 8 13:07 vmlinuz-linux
-rwxr-xr-x 1 root root 4341264 Dec 27 2015 vmlinuz-linux-mainline
I'm not sure how to proceed, or what I'm missing.
Offline
Sounds like the "Legacy BIOS" option is selected.
Wait, nevermind, I missed the post just before the last one.
Last edited by Scimmia (2016-08-19 18:06:28)
Offline
Some progress: I do not chroot, but instead use
# bootctl -path SSD/boot
there is no error. bootctl status shows that /EFI/systemd/systemd-bootx64.efi and /EFI/BOOT/bootx64.efi are upgraded to version 231.
I'll try to reboot.
[UPDATE:] This did the trick. the bios had an additional "Linux Boot" under boot options, which works. For future reference, the effective steps were:
# mount /dev/nvme0n1p6 SSD
# mount /dev/nvme0n1p1 SSD/boot
# bootctl -path SSD/boot install
Last edited by angelo (2016-08-19 18:19:13)
Offline
#sudo chroot SSD # efibootmgr efibootmgr: EFI variables are not supported on this system. # bootctl status Failed to open file system "/boot": No such file or directory
Use `arch-chroot` rather than `chroot`
Did you boot the ISO in UEFI mode?
You can mount efivarfs manually, as per https://wiki.archlinux.org/index.php/Un … t_efivarfs
Alternatively, make use of the removable loader location by copying the .efi loader for your bootmanager to /boot/EFI/BOOT/BOOTX64.EFI (BOOTIA32.EFI for 32-bit systems).
See http://www.rodsbooks.com/efi-bootloader … ive-naming for more on this.
Offline
Some progress: I do not chroot, but instead use
# bootctl -path SSD/boot
there is no error. bootctl status shows that /EFI/systemd/systemd-bootx64.efi and /EFI/BOOT/bootx64.efi are upgraded to version 231.
I'll try to reboot.
There will be no fresh NVRAM entry unless efivarfs is mounted before using `bootctl`
Offline
The ISO was indeed in UEFI mode. I'll read up on efivars: I do not know enough about EFI to tell whether the approach you give has a different/better effect than what I did. At the moment the system is functional by the alternative from my previous post.
Thanks for the help!
Offline
At the moment the system is functional by the alternative from my previous post.
The `bootctl` command copied the systemd-boot .efi loader to the removable loader location so your firmware must be booting that automatically.
Just out of interest, can we see the new output of:
# efibootmgr -v
Offline
output as requested:
% efibootmgr -v
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0002,0004,0000
Boot0000* Windows Boot Manager HD(1,GPT,39129565-4fc7-4272-852a-80b2b9275441,0x800,0xfa000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.4.b.3.4.4.d.4.7.9.5.}....................
Boot0001* Linux Boot Manager HD(1,GPT,39129565-4fc7-4272-852a-80b2b9275441,0x800,0xfa000)/File(\EFI\systemd\systemd-bootx64.efi)
Boot0002* UEFI: PM951 NVMe SAMSUNG 256GB, Partition 1 HD(1,GPT,39129565-4fc7-4272-852a-80b2b9275441,0x800,0xfa000)/File(EFI\Microsoft\Boot\bootmgfw.efi)..BO
Boot0004* UEFI: SMI USB DISK 1100, Partition 1 PciRoot(0x0)/Pci(0x14,0x0)/USB(0,0)/HD(1,MBR,0x4294967233,0xa4,0x14000)..BO
Offline