Start a Conversation

This post is more than 5 years old

Solved!

Go to Solution

201369

February 15th, 2013 11:00

[Inspiron SE 7720] UEFI boot from USB drive does not work

Hello,

I have just purchased a Dell Inspiron 17R Special Edition 7720. It came with a preinstalled Windows 8 (so 64-bit and mandatory UEFI boot). I want to use Linux (more specifically, Archlinux) for work and Windows for games, so dual boot is needed.

I almost completed the Linux installation except for the bootloader: I need to boot Linux from UEFI and didn't manage to do it so far. Here is what I did after I received the PC:

  • disabled Secure Boot;
  • updated BIOS to version A12 (maybe I shouldn't have...);
  • resized the main Windows partition and created a few partitions for Linux;
  • switched to legacy boot mode and managed to boot a MBR-bootable Archlinux installation USB drive;
  • installed most of the system
  • switched back to UEFI boot mode, Secure Boot off.

At this time I needed to boot the kernel from UEFI for the bootloader installation program to have mandatory access to the EFI environment variables. So I created an UEFI-bootable Archlinux installation USB drive (with a FAT partition) but so far I couldn't manage to successfully boot this drive from UEFI instead of Windows 8.

I think I really tried every single combination, such as:

  • different USB ports;
  • different boot entries created with F2 boot setup, with different parameters;
  • different orders for the boot entries;
  • hit my boot entries directly within F12 boot menu.

No matter what, in UEFI mode the system always boots the Windows partition.

Also, I could not find any relevant manual or software documentation about the A12 BIOS on the Dell site, did I miss something?

The solution that the user described in this thread to UEFI-boot to a DVD did not work for me with a USB drive.

Did somebody experience the same issue or has a solution or even information about it? UEFI is really starting to give me headaches on this machine!

Thank you for reading.

92 Posts

February 16th, 2013 11:00

Try going into Advanced Start-up Options.   Hold Shift key down while doing a RESTART while in Win 8.  This will get you to a page that will have an option called "Other Devices" (going by memory).    Choose it and you will have all the device options like USB. Give it a try first and I am sure there is a simpler way to boot Linus directly later.

10 Posts

February 16th, 2013 14:00

I will describe whole process, it should answer all your questions :)

I have downloaded Arch hybrid(x86 & x86_64) ISO and made bootable USB of it.. Then I entered BIOS and turned on AHCI mode on SATA, turned on UEFI, turned on Legacy option ROM and turned off Secure boot. After save all settings, hit F12 and picked USB booting(had troubles with particular Kingston flash disk, I have created another one and that worked)..

After Arch x86_64 booted I have procceded with standar install Begginers guide and formated both disks with GPT partition table.On SSD(/dev/sdb) one 20GB ext4 partition and on HDD(/dev/sda) 512MB EFI partition, 90GB ntfs, 860GB ext4 for home, 200MB ext2 for logs and rest for Mac OS X.

fstab:

/dev/sdb1  /               noatime

/dev/sda1  /boot/efi

/dev/sda2  /windows

/dev/sda3  /home

/dev/sda4  /var/log

skip grub setup, all bootloaders stuff

so after general setup from begginers guide DONT REBOOT ARCH, STAY IN CHROOT MODE.

mkdir /boot/efi/EFI

mkdir /boot/efi/EFI/arch

cp /boot/vmlinuz-linux /boot/efi/EFI/arch/vmlinuz-arch.efi

cp /boot/initramfs-linux.img /boot/efi/EFI/arch/initramfs-arch.img

cp /boot/initramfs-linux-fallback.img /boot/efi/EFI/arch/initramfs-arch-fallback.img

to make kernel copying automated after updates run next commands, create systemd service which watch for kernel and intitramfs update

echo "[Unit]

Description=Copy EFISTUB Kernel to UEFISYS Partition

[Path]

PathChanged=/boot/vmlinuz-linux

PathChanged=/boot/initramfs-linux.img

PathChanged=/boot/initramfs-linux-fallback.img

[Install]

WantedBy=multi-user.target" > /usr/lib/systemd/system/efistub-update.path

echo "[Unit]

Description=Copy EFISTUB Kernel to UEFISYS Partition

[Service]

Type=oneshot

ExecStart=/bin/cp -f /boot/vmlinuz-linux /boot/efi/EFI/arch/vmlinuz-arch.efi

ExecStart=/bin/cp -f /boot/initramfs-linux.img /boot/efi/EFI/arch/initramfs-arch.img

ExecStart=/bin/cp -f /boot/initramfs-linux-fallback.img /boot/efi/EFI/arch/initramfs-arch-fallback.img" > /usr/lib/systemd/system/efistub-update.service

systemctl enable efistub-update.path

Now, to be able to load efivars module, you have to boot in UEFI mode first, so now its time to temporary install refind and prepare first boot...

pacman -S refind-efi efibootmgr

mkdir -p /boot/efi/EFI/refind

cp /usr/lib/refind/refind_x64.efi /boot/efi/EFI/refind/

cp /usr/lib/refind/config/refind.conf /boot/efi/EFI/refind/

cp -r /usr/share/refind/icons /boot/efi/EFI/refind/icons

echo '"Boot to X"     "root=/dev/sdb1 ro rootfstype=ext4 add_efi_memmap"

"Boot to console"       "root=/dev/sdb1 ro rootfstype=ext4 systemd.unit=multi-user.target"' > /boot/efi/EFI/arch/refind_linux.conf

I have experienced issues when I have had UUID instead of /dev/sdb ... but it is up to you

Now you are ready to reboot system, open BIOS and Add UEFI entry, name it e.g. rEFInd, and path is /EFI/refind/refind_x64.efi, save it and boot it.

You shoul be able to boot arch fine now, but refind boot is slowing whole thing down :) So lets make our kernel bootable directly..

modprobe efivars

echo "root=/dev/sdb1 ro rootfstype=ext4 add_efi_memmap initrd=\\EFI\\arch\\initramfs-arch.img" | iconv -f ascii -t ucs2 | efibootmgr -c -g -d /dev/sda -p 1 -L "Arch Linux" -l '\EFI\arch\vmlinuz-arch.efi' -@ -

reboot and try F12 and pick "Arch Linux" ... should boot fine :) .. refind can be removed or kept, up to you...

Now you can safely install Windows on top of it, it will add new UEFI entry automatically and change boot priority, so after install Win you can change priority in BIOS to boot kernel directly or rEFInd ..

:) Is that enough?? :P

Than you can install Bumblebee and other stuff.. I was tweaking also other stuff and I hope I have picked backwards all related stuff you would need..

Alternatively there is option to build arch kernel with default config and setup env variable which compiles kernel startup parameters into the kernel and you could simply add Arch kernel from bios as UEFI entry, because it would not need parameters anymore.. I have tryed to build kernel on 7720 and it took 58 seconds :) If you do this, than there is no need to install refind and efibootmgr initialy and after first reboot boot into UEFI ready system... but I think that it does not worth it

I have also added to /boot/efi/EFI/shell UEFI Shell v2.0 :) it is handy when you have troubles ;) I have added it to UEFI via BIOS. it is more convenient than from efibootmgr, but possible only when you dont need to pass any extra arguments.

BTW I have this setup 2 weeks, several kernel updates, bublebee updates, windows updates, mac os x :D ... still everything fine, I didnt have to do anything special to fix stuff... only when you disable Legacy option ROM in BIOS your Windows might not boot... 

7 Posts

February 16th, 2013 03:00

Hello Adam,

Wonderful! Thanks a lot for doing those videos. It's a shame I didn't have Flash support when I read the other thread where you posted it in the first place, because I would have asked you directly.

I have a few questions :

  • what bootloader did you use for the "Arch Linux" entry (not the rEFInd one)? Gummiboot? Kernel booting itself?
  • what did you put in the EFI boot entries parameters when you created them (device and filename)?
  • I guess you installed the bootloaders from an EFI-aware kernel, how did you boot it in the first place? From DVD, USB? Was it the Arch ISO?
  • how did you install the bootloaders? Did you try GRUB2 as well?

Sorry about all those questions but I've been struggling for two days with this machine and I'd really like to actually start using it... :emotion-7:

Thank you again.

10 Posts

February 16th, 2013 03:00

Hi I have arch installed side by side with windows on that machine, both EFI... Check out the video, .. video is about hug when windows dont boot when you disable legqcy support, but still I boot only UEFI with GPT.. I have separate EFI entry for linux and windows, shell and temporary rEFInd bootloader( because I had troubles to pass arguments for kernel start, but I solved it)

7 Posts

February 17th, 2013 04:00

Ok all this was great advice, I finally managed to get a functional UEFI dual boot system!

@Bill: I made the machine boot to the USB device from the SHIFT + Restart menu in Windows 8. It booted Arch without any issue and EFI was functional.

@Adam: this was a comprehensive explanation indeed! I skipped the rEFInd part and directly created a boot entry in the Dell UEFI menu via efibootmgr. It now boots Arch by default, unless I hit F12 then Windows Boot Manager or change the boot order in the BIOS.

Next challenge will be to install bumblebee and get the Nvidia GT 650M working under Linux indeed. ;)

Many thanks to both of you!

10 Posts

February 17th, 2013 05:00

You are wellcome.. bumblebee is easy to install on arch, nice wiki about it, pay attention in the power management part... But bumblebee works completely different that optimus does. Optimus shares memory ascces between gpus, bumblebee runs second invisible X server and pipes its output to the visible X... Optimus approach utilizes only bus, but bumblebee does overkill on CPU or GPU, depends on your configuration.. I have windows for gaming and on linux bulblebee is just to have it in case... I have wrote email to NVIDIA and they replyed that driver will be released soon...

2 Posts

August 27th, 2016 17:00

Hi there. I'm another user and am not trying to install Linux here. My windows 10 can't reboot, so I plan to reinstall using a bootable usb made from media creation tool. But I can't install to my c drive, because "The Selected Disk is of the GPT Partition Style." Other solution says I should convert my whole hard disk back from UEFI's GPT to Legacy MBR. So my question is, can my 7720 UEFI really boot from a USB? I tried holding down SHIFT, but there is no "other devices" shown on the screen. Did you mean I have to enter setup first? I think I see "Misc Devices" there and external usb ports is enabled and usb debut is enabled. It seems like usb boot is only allowed when Legay mode is turned on and UEFI turned off. Thanks! 

No Events found!

Top