Dual Boot Ubuntu And Arch Linux

Dual Boot Ubuntu And Arch Linux

Dual booting Ubuntu and Arch Linux is not as easy as it sounds, however, I’ll make the process as easy as possible with much clarity. First, we will need to install Ubuntu then Arch Linux since it’s much easier configuring the Ubuntu grub to be able to dual boot Ubuntu and Arch Linux.

Dual Boot Ubuntu And Arch Linux

Some of the things you will need:

  1. Ubuntu flavor of your choice, in this case, I’ll use ubuntu 17.10 iso
  2. 2 USB sticks
  3. Windows PC or Linux based PC
  4. Arch Linux iso
  5. Rufus(for windows) or etcher(for Linux distro)

​Install Ubuntu 16.10

​First, create a bootable flash drive using Rufus for both Ubuntu and Arch Linux. Alternatively, you could use etcher to create bootable flash drives for both Ubuntu and Arch Linux.
bootable ubuntu usb etcher image writer

Select the ISO image file for Ubuntu then select the flash drive of your choice after which click flash to create the bootable flash drive. Wait till it completes and Voila! Your bootable flash drive is ready for use.
make ubuntu usb bootable in linux

​Turn on your machine and boot using the bootable flash drive with the Ubuntu installation media. Ensure that you boot into UEFI or BIOS compatibility mode depending on the type of PC you are using. I prefer using UEFI for a newer PC builds.
live ubuntu boot

​Upon Successful boot, you will see the following screen asking you to try Ubuntu or install Ubuntu. Choose install Ubuntu.
install usb from live usb

​Then check install third-party software for graphics and Wifi hardware, MP3 and other media. Optionally if you have an internet connection choose download updates while installing Ubuntu since it will save time setting up the installation as well as ensure you get the latest updates of your installation.
custom partition hd install ubuntu

​Then choose ‘Something else’ so that we can partition the hard disk and set aside space for swap, Ubuntu, and Archlinux.
create swap partition ubuntu

​Create a swap area partition. Preferably half the size of the ram. In my case, I have 1GB of ram thus 512mb of swap area space.
install ubuntu root partition

​Then create a partition with mount point ‘/’. Then click the install now button.
select ubuntu timezone

Choose your location then choose language and keyboard settings.
select ubuntu keyboard layout

​Then create the user credentials that will create a new user.
create username, system name ubuntu install

​The installation will now start by clicking next.
ubuntu installation finishing

​When the installation is done click on restart PC.
ubuntu installation finished restart system

​Remove the installation media and press enter when done.
remove installation media after ubuntu

​Upon confirmation of successful installation, restart and boot into the Arch Linux installation media.

​Install Arch Linux

​Upon booting into the Arch Linux installation media you should see an initial screen as follows. Choose Boot Arch Linux(x86_64). Note Arch Linux is a more of DYF (do it yourself) kind of Operating system.
arch linux installation boot menu

After choosing, it will open a tty1 terminal that you will use to install the operating system.
arch linux tty1 linux

Note: You will need an internet connection to download some packages in order to install Arch Linux successfully. So we need to check if the internet is working fine. Enter the following into the terminal to check internet connectivity.
ping linuxandubuntu.com -c 4
arch linux ping check internet connection

​If the internet is working fine you should get an echo back showing the number of packets sent and received. In this case, we sent 4 echos and got 4 back meaning the connection is good.If you want to setup Wifi in Arch Linux, read this post here on setting up Wifi in Arch Linux.

​Next, we need to select the partition that’s free that we had earlier set aside while installing Ubuntu.
fdisk -l
​The above should show you the available disks that are there. You should see the Ubuntu partitions as well as the free space. We will use cfdisk to partition.
cfdisk
install arch partition disk with cfdisk

You will see the partitions. Select the free space that is below the other allocated partitions.​You will need to select new and then enter the partition size for the partition.

partition free space swap arch linux

Use for example 9.3G – G representing gigabytes.
install arch linux partition

Make the partition primary as below.
make arch linux root as primary partition

Then choose the write partition entry.
select partition to install arch

​Type ‘yes’ to confirm the writing of the partition.
install arch linux confirm create partition

Then choose the quit option.
quit cfdisk arch linux

Then type:
fdisk -l
​To confirm the changes
confirm partition changes

​Then partition the disk using:
mkfs.ext4 /dev/sda3
​Make sure the partition you choose is the last one that we created so that we don’t mess with the Ubuntu partition.
complete arch linux installation partition

​Then mount it to using the following command –
mount /dev/sda3 /mnt
mount base partition in arch linux

​Make a home directory using:
mkdir .mnt/home
mount home partition arch linux

​Mount the home folder to the partition using
mount /dev/sda3 /mnt/home
make mount home directory

​Now install the base system of Archlinux using the command:
pacstrap /mnt base
Make sure you have an internet connection.

It should take a while to download and set it up depending on the internet speed you have.
install arch linux base

After the step is complete, the Archlinux base installation is completed.After installing the Arch Linux base, create a fstab file using the command:

genfstab -U /mnt >> /mnt/etc/fstab
create fstab in arch linux

​After that you need to verify the fstab file entries using:
cat /mnt/etc/fstab
cat fstab file data terminal

​Configuring Arch Linux: the basic configuration

You will need to configure the following upon installation:

  1. The system language and the system locales
  2. The system timezones
  3. Root user password
  4. Set a hostname

Firstly, you will need to switch to the newly installed base by changing root into the system using the command:

arch-chroot /mnt

The system Language and the system locale

You will then have to configure the system language. You will have to uncomment en_UTF-8 UTF-8 and the localization you need in /etc/local.gen
Type:
nano /etc/local.gen
Then uncomment the en_UTF-8 UTF-8
Then type:
locale-gen
To generate the localization settings as follows:
generate localization arch linux

You will need to set the LANG variable in locale.conf  accordingly, for example:
nano /etc/locale.conf
​Then change to:
LANG=en_US.UTF-8
If you set the keyboard layout, make the changes persistent in vconsole.conf:
nano /etc/vconsole.conf
​Then change to:
KEYMAP=us-eng

2. The system timezones

​You will need to set the time zone using
ln -sf /usr/share/zoneinfo/Region/City /etc/localtime
To see the available time zones, you can use the following command in the terminal:
Note region is shown in blue below in the screenshot:
ls /usr/share/zoneinfo
setup zonefile in arch linux

setup country zonefile

Run hwclock command as follows to generate /etc/adjtime(assumes the hardware clock is set to UTC.):
# hwclock –systohc

3. Root password

​To set a new password for the Arch Linux installation set root password using:
Passwd
​Supply a new password and confirm the password to set the root password.
setup arch linux root password

4. Set a hostname and configure network

​You will need to create the hostname file:
nano /etc/hostname
set arch linux hostname

Change the name to your username:
set arch linux username

Then add a matching entry to hosts:
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
::1 localhost.localdomain localhost
127.0.1.1 LinuxandUbuntu.localdomain LinuxandUbuntu

You will need to make the network connections persistent thus use:
systemctl enable dhcpd

Grub configuration

Then reboot the machine and enter into Ubuntu to configure the grub.
You will type:
reboot
reboot system after arch linux installation

The Arch Linux installation still doesn’t appear therefore we need to install it using update-grub in ubuntu.
ubuntu grub menu

Open a terminal in Ubuntu and type:
sudo update-grub
It should update the grub to include Arch Linux.

Conclusion

Congratulations you have successfully set up Ubuntu and Arch Linux to dual boot. The Ubuntu installation is easy but the Arch Linux installation is a challenge for new Linux users. I tried making this tutorial as simple as it can be. But if you have any question on the article, let me know in the comment section below. Also share this article with your friends and help them learn Linux.

5 thoughts on “Dual Boot Ubuntu And Arch Linux

  1. Great article but needed few correction required which is very important.
    You said you like UEFI mode but this is a BIOS installation process not UEFI.

  2. Thanks for this guide. I wondered whether I should install ArchLinux first. After reading your article, I understand. Ubuntu or Manjaro in my case should go first. Thanks again.

Leave a Reply

Your email address will not be published. Required fields are marked *

linux system administration bootcamp