How do you make HDDs and partitions mount at startup on Ubuntu?
I always keep my media and data files on separate partitions - one 2tb HDD and a 400 odd gig partition. I have been trying to swap the default folder location for the home directory to my other drives.
It works when I change the /home/user_name/.config/user-dirs.dirs
file to the directories I want, but only until I reboot the system. I am only assuming that the drives not mounting is the problem with it, but it would be helpful either way. If any one knows another reason for why the directories change back to default each time that would be good also.
GUI Method (recommended for newbies) - The Disks program will automatically edit
/etc/fstab
for you and not break anything. Typedisks
on the launcher orgnome-disks
in the terminal start the Disks application.Select Drive, then partition, then use More actions (cogs icon) button to access 'Edit Mount Options' menu. Turn off User Defaults because you would not be here if it was really set to automount. The rest should be obvious.
Terminal Method for experienced users only. This can break your boot.
If you are okay with this, fire up a terminal.
[IMPORTANT]
sudo cp /etc/fstab /etc/fstab.old
- Create a backup of the fstab file just in case something unwanted happens. If something happens, you will need a bootable (live) usb. If you do not have one, use the GUI method instead.sudo blkid
- Note the UUID of the partition you want to automount.sudo nano /etc/fstab
- Copy the following line to the end of the file, save it and reboot afterwards to check if it worked.mkdir /my/path/tomount
# to quote : "you must create the mount point before you mount the partition." see https://help.ubuntu.com/community/FstabExamples
A common setup is:
Use
lsblk -o NAME,FSTYPE,UUID
to find out the UUIDs and filesystems of the partition you want to mount. For example:NTFS
Examples for the
<>
variables:<uuid>
=3087106951D2FA7E
<pathtomount>
=/home/data/
# create this before rebooting<userid>
=1000
<groupid>
=1000
Use
id -u <username>
to get the userid andid -g <username>
to get the groupid.(Note that specifying the
sync
option can slow down write performance as it disables the cache. async is the default.)In Ubuntu follow these steps to auto-mount your partition:
Open file manager and look left side on the devices listed.
Choose the device you want to auto-mount on start-up by just clicking it and you will see the folders in the right pane shown for that device (partition), keep this window open.
Go to your desktop Ubuntu search and type disks, you'll see disks shown in results.
Click on disks and disks manager will start.
You will see HDD's listed on the left pane and details of partitions on the right pane for each HDD you have.
Now highlight the partition by clicking it, IMPORTANT (don't set mount on start-up for all partitions as it slows down the system).
Make sure that the partition name you want to auto-mount have the same name by comparing the partitions in disk manager with the open partition window which you opened previously, by looking at the name of device at the top-left part of file manager (opened earlier), and looking the same name of drive or partition in the disks manager at the Contents field of the chosen partition in disks manager.
Now after making sure that you have chosen the correct partition, in disks manager just click more actions icon, sub-menu list will open, choose edit mount options, mount options will open with Automatic mount options = ON, so you turn this off and by default you'll see that mount at start-up is checked and show in user interface is checked, then hit OK and restart your system, after log-in go to file manager you'll see the part you choose to mount at start-up is already mounted.
When the system boots, it checks the file
/etc/fstab
(which stands for "filesystem table") for the list of partitions to mount automatically.How to use this file is described here.
In brief:
You can add your own entries, but you'll need to know the device path (eg, /dev/sdb1), or their UUID (a big long string of numbers) to identify them.
use fstab
Example:
All the answers use a GUI tool, or
/etc/fstab
. My problem with these is that I run headless servers (no GUI) and, most importantly, that I am usually mounting secondary USB hard-drives, wherefstab
will prevent your system from booting up if the drive is missing, damaged, etc. This has happened to me in the past, and it has left stranded otherwise perfectly functioning systems.My solution is to use
cron
. In particular, add this line to yourcrontab -e
with the specific info of your system.With this,
cron
will try and mount your drive upon every system start.Warning: this relies on
/dev/sdX
to remain unchanged through reboots, which is not guaranteed. In other words, the drive under/dev/sda
might become/dev/sdb
on the next boot. But in my non-professional setting, it's been working.If you need more reliability, you can create a shell or python script to search for the right
/dev/sdX
based on the serial number, and then mount it, and execute the script withcron
and the@reboot
trigger.Try "usbmount" package
sudo apt-get install usbmount
It will automatically mount USB devices