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:
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:
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.
Solved! Go to Solution.
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)
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 :
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...
Thank you again.
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.
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.
/dev/sdb1 / noatime
skip grub setup, all bootloaders stuff
so after general setup from begginers guide DONT REBOOT ARCH, STAY IN CHROOT MODE.
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
Description=Copy EFISTUB Kernel to UEFISYS Partition
WantedBy=multi-user.target" > /usr/lib/systemd/system/efistub-update.path
Description=Copy EFISTUB Kernel to UEFISYS Partition
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..
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??
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 ... 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...
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!
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...
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!