Microsoft Surface Pro 3 with Arch Linux and i3 ============================================== (Dual) Booting Arch Linux (and Windows) with UEFI and Secure Boot ----------------------------------------------------------------- - Download Arch Linux ISO [archlinux-yyyy.mm.dd-dual.iso] [arch] via HTTP Direct Downloads or BitTorrent Download [arch]: https://www.archlinux.org/download/ "Arch Linux Downloads" - Create UEFI bootable USB device with [Rufus] [rufus] with default settings [rufus]: https://rufus.akeo.ie/ "Rufus" - Disable Secure Boot [\[Source: Windows\]] [win:sb] 1. Shut down your Surface. 2. Press and hold the volume-up button on your Surface and at the same time, press and release the power button. 3. When you see the Surface logo, release the volume-up button. The UEFI menu will display within a few seconds. 4. Disable *Secure Boot Control* [win:sb]: https://www.microsoft.com/surface/en-us/support/warranty-service-and-recovery/how-to-use-the-bios-uefi?os=windows-10&=undefined "Windows" - (Disable Windows Fast Boot — to switch between operating systems) # Installing the Linux distro Insert the live USB and boot by holding volume down, then the power button. Optionally set the keyboard layout (default is US) $ loadkeys de-latin1 Increase font size $ setfont latarcyrheb-sun32 Connect to the Internet $ iw dev # list wireless devices $ iw dev wlp1s0 link # Print information about the current link $ wifi-menu -o wlp1s0 # -o hides the password Update the system clock $ timedatectl set-ntp true $ timedatectl status $ timedatectl set-timezone Europe/Berlin ## Partitioning Note: Using `parted` with `mkpart` defines partitions via a *from* and a *to* argument. $ lsblk # list devices /dev/sda? $ parted /dev/sdx # could be /dev/sda (parted) mklabel gpt # for UEFI (parted) mkpart ESP fat32 1MiB 513MiB # EFI System Partition (parted) set 1 boot on (parted) mkpart primary linux-swap 513MiB 9GiB # for 8GB DRAM (parted) mkpart primary ext4 9GiB 40% # Linux partition (parted) mkpart primary ntfs 40% 60% # Shared partition (parted) quit That last entry is for a shared NTFS filesystem that both operating systems (Linux and Windows) can use, e. g. for a cloud service like Dropbox, email, downloads, etc. The Windows section is left unallocated, it will be formatted by the windows installer. ## Formatting $ mkfs.fat -F32 /dev/sdx1 # UEFI boot must be fat32 $ mkswap /dev/sdx2 $ swapon /dev/sdx2 $ mkfs.ext4 /dev/sdx3 # Linux root $ mkfs.ntfs -f /dev/sdx4 ## Mount Mount the root partition on `/mnt` and for the boot partition first create directory and then mount it also. $ mount /dev/sdx3 /mnt $ mkdir -p /mnt/boot $ /dev/sbx1 /mnt/boot