I have an HP laptop with 2 hard drives Windows is installed on one drive, and the other is empty, split into 3 partitions. I'm looking at the Arch Linux installation guide, specifically at this section. My hope is that I can install Arch on one of the three partitions on my second drive. I found this question, but it didn't address my concerns. How do I install Arch Linux on a specific partition? I'm just trying to be cautious, as I need my Windows installation.
1 Answer
If you can't recover Windows and the files you need if you have an accident, you shouldn't be installing Linux, because accidents happen. Have a plan to re-install Windows, and if you don't back up your files, they can't be very important to you.
And if you can't recover, you must not install Arch Linux. The process is much more manual which makes too much opportunity for accidents.
Here is how I would reduce the risk, while following the Arch Install guide (and the instructions on the wiki pages that it tells you to follow, and whatever they tell you to do in turn... It's not a straight sequence of instructions, it's a bit of a choose-your-own-adventure book).
I assume UEFI - you should have specified if you use BIOS boot, because it is obsolescent. BIOS boot is not used on Windows 8 logo certified systems and above. There is no risk in following the UEFI instructions if you get it wrong, just stop when you realize you cannot find an ESP partition for you to mount.
Confirm the partitions you use, with lsblk
and lsblk -f
.
lsblk
only shows sizes (and of course the partition order). Often this will uniquely identify your partition :-).
lsblk -f
does not show sizes, but it's very useful because it shows the filesystem type. It also shows filesystem labels. (On my computer, I get "ESP" (EFI System Partition), "OS" for windows, "WINRETOOLS" for the the windows recovery boot, and "Image" which I think is the disk image data for windows recovery).
In your case, you need to identify which drive includes your Windows, and which drive you want to install Linux to. Don't use the Windows drive for anything except one operation: mounting the ESP.
The Arch "Install Guide" is pretty gnarly. To avoid prevent some experimentation which might increase your risk, I suggest choosing GRUB when it the Install Guide asks you to choose a boot loader. This is the boot loader used by all the main PC Linux distributions.
This is sub-optimal for your case. It would be much cleaner if you could create the ESP partition on your second drive. Partly because it avoids the need to touch your Windows disk at all, but also because it means your Linux disk is self-contained. UEFI firmware is absolutely designed to support this for external drives. I believe this is very likely to work for you even with an internal drive. However UEFI implementations may vary, and I did not find any information in the Arch Install Guide. You would have to try it and see.
https://superuser.com/questions/879165/uefi-esps-and-multiple-disk-drives
If you like the idea that a disk can be "self-contained" and be moved to another machine, be aware of the following caveat. According to UEFI, if you move a disk between machines, and the ESP does not use the boot/bootx64.efi
hack, the machine will not know how to boot the new disk because it does not have a UEFI boot menu entry for it. The fact that it often works anyway is due to hacks in specific UEFI implementations which detect known OS's and generate boot menu entries for them. This is not and cannot be 100% reliable.
-
It's not an external drive. Also, I cannot see GRUB in the options menu, how do I enable that? Nov 22, 2018 at 19:58
-
@user189728 I don't know what you did. Partly because I wrote two different possibilities you could try, and you don't say which one you used. Nov 22, 2018 at 21:02
-
@user189728 The specific step that adds GRUB to the UEFI boot menu - if your UEFI supports it - is
grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=GRUB
. The Arch docs show no additional step after that to "enable" it. (and there usually isn't ; I'm pretty familiar with grub-efi). I can remind you to disable "secure boot" in UEFI, but you should already have had to do that to boot the Arch install system in the first place. Nov 22, 2018 at 21:13 -
The troubleshooting section suggests that some UEFI don't understand the concept of a boot menu. wiki.archlinux.org/index.php/GRUB#Default/fallback_boot_path . DO NOT FOLLOW THIS INSTRUCTION. If the UEFI doesn't support a boot menu and you follow this instruction, you are then relying on your GRUB every time you want to boot your Windows. This is a terrible idea given your stated requirements. I.e. if you break your GRUB, or if it simply isn't able to boot your Windows. I suspect GRUB is more reliable at booting Windows than it used to be, but I've had trouble with it in the past. Nov 22, 2018 at 21:23
-
I've been reading a bunch, and I'm a bit concerned. If I have my EFI partition on my first disk, will I be able to use that partition if all of my other partitions are on the second disk? Nov 23, 2018 at 1:06
bootctl install
and addauto-entries
to/boot/loader.conf
which will auto-detect the windows drive when you plug it back in. Thus giving you dual boot between the two OS:es :) Again, tread lightly.. There be dragons when fiddling with these things. Stay safe first of all.