8.1 KiB
This guide will walk you through the process of setting up your drives to automatically mount when your Ubuntu system boots up.
[!note] Use a LLM Drive set up is something that can be easily walked through and automated with the help of a LLM. We used Claude 3.7 Sonnet to set our drives and write this manual.
In the following are system specific instructions for the bnk homelab and generic instructions for any other system.
Generic Instructions
- An Ubuntu system (this guide uses Ubuntu 24.04)
- Administrator (sudo) privileges
- Basic terminal knowledge
- The drives you want to mount
Step 1: Identify Your Drives
First, you need to identify the drives you want to mount. There are two ways to do this:
Option A: Use the GUI Disk Utility (Easiest for Beginners)
- Open the "Disks" application from your applications menu
- Click on each disk on the left sidebar to view its details
- Note down the following information for each drive:
- Device path (e.g.,
/dev/sda
,/dev/nvme0n1
) - UUID (a long string like
96ebca52-2696-4e79-bbf9-69a596f3be2d
) - File system type (usually ext4, ntfs, or fat32)
- Device path (e.g.,
Option B: Use Terminal Commands
If you prefer using the terminal:
# List all block devices
sudo lsblk -f
# Get more detailed information
sudo blkid
Write down the UUID, device name, and filesystem type for each drive you want to mount.
Step 2: Create Mount Points
Mount points are directories where your drives will be accessible. You need to create these directories:
# Create mount points (adjust names as desired)
sudo mkdir -p /mnt/drive1 /mnt/drive2 /mnt/drive3
Choose meaningful names for your mount points that help you remember what's on each drive.
Step 3: Backup Your Current fstab File
The /etc/fstab
file controls how drives are mounted at boot. Always backup this file before editing:
sudo cp /etc/fstab /etc/fstab.backup
Step 4: Edit the fstab File
Now you'll add entries for your drives:
sudo nano /etc/fstab
Add a line for each drive using this format:
UUID=your-drive-uuid /mnt/your-mount-point filesystem-type mount-options 0 2
Example:
# 2TB Storage Drive
UUID=1c51b55f-c89a-417e-bcc3-eb5f29caa92c /mnt/storage2tb ext4 defaults 0 2
Here's what each field means:
- UUID: The unique identifier for your drive
- Mount point: The directory where you want to access the drive
- Filesystem type: Usually ext4 for Linux drives, ntfs for Windows drives
- Mount options: "defaults" works for most situations
- Dump: Set to 0 (backup utility flag, rarely used)
- Pass: Set to 2 for non-system drives (controls fsck order)
For external drives that may not always be connected, add nofail
to the options:
UUID=abcd1234-5678-90ef /mnt/external ext4 defaults,nofail 0 2
Save the file by pressing Ctrl+O, then Enter, then exit with Ctrl+X.
Step 5: Test Your Configuration
Test that your configuration works without rebooting:
# Reload systemd to recognize the new fstab entries
sudo systemctl daemon-reload
# Try mounting all entries in fstab
sudo mount -a
If there are no error messages, your configuration is correct.
Step 6: Verify the Drives are Mounted
Check that your drives are properly mounted:
df -h
You should see all your drives listed with their mount points.
Step 7: Set Appropriate Permissions (Optional)
If you want to make the drives writable for your user:
# Replace username with your username and /mnt/drivename with your mount point
sudo chown -R username:username /mnt/drivename
Troubleshooting
Drive Not Mounting
If a drive doesn't mount with mount -a
:
-
Check for syntax errors in fstab:
sudo cat /etc/fstab
-
Verify the UUID is correct:
sudo blkid
-
Verify the filesystem type:
sudo lsblk -f
Restore Backup If Needed
If you've made a mistake and can't boot properly:
-
Boot into recovery mode (hold Shift during boot)
-
Mount the filesystem as read-write:
mount -o remount,rw /
-
Restore your backup:
cp /etc/fstab.backup /etc/fstab
Common Mount Options
- defaults: Standard options (rw, suid, dev, exec, auto, nouser, async)
- noauto: Don't mount at boot (must be mounted manually)
- nofail: Don't report errors if the device doesn't exist
- ro: Mount read-only
- rw: Mount read-write
- user: Allow non-root users to mount
- exec/noexec: Allow/prevent execution of binaries on the filesystem
Example fstab File
# /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
UUID=96ebca52-2696-4e79-bbf9-69a596f3be2d /mnt/samsung500 ext4 defaults 0 2
UUID=1c51b55f-c89a-417e-bcc3-eb5f29caa92c /mnt/storage2tb ext4 defaults 0 2
UUID=510f0afc-1dae-4da5-969e-2b9f31c72498 /mnt/storage4tb ext4 defaults 0 2
UUID=ABCD-EF12 /mnt/usb-drive vfat defaults,nofail 0 2
Congratulations!
Your drives are now set up to mount automatically every time you boot your Ubuntu system. You can access your files through the mount points you created.
System Specific Configuration
This is a step-by-step summary of the exact process we followed to configure automatic mounting for the four drives on this specific Ubuntu 24.04 system:
Drive Details
- 500GB Samsung SSD 970 EVO Plus (
/dev/nvme0n1p1
, UUID:96ebca52-2696-4e79-bbf9-69a596f3be2d
) - 2.0TB Seagate Hard Disk (
/dev/sda1
, UUID:1c51b55f-c89a-417e-bcc3-eb5f29caa92c
) - 4.0TB Seagate Hard Disk (
/dev/sdb1
, UUID:510f0afc-1dae-4da5-969e-2b9f31c72498
)
Step-by-Step Instructions
- Backup the fstab file
sudo cp /etc/fstab /etc/fstab.backup
- Edit the fstab file
sudo nano /etc/fstab
- Add the following lines to the end of the file
# 500GB Samsung SSD
UUID=96ebca52-2696-4e79-bbf9-69a596f3be2d /mnt/samsung500 ext4 defaults 0 2
# 2.0TB Hard Drive
UUID=1c51b55f-c89a-417e-bcc3-eb5f29caa92c /mnt/storage2tb ext4 defaults 0 2
# 4.0TB Hard Drive
UUID=510f0afc-1dae-4da5-969e-2b9f31c72498 /mnt/storage4tb ext4 defaults 0 2
- Create the mount point directories
sudo mkdir -p /mnt/samsung500 /mnt/storage2tb /mnt/storage4tb
- Reload systemd configuration to recognize the changes
systemctl daemon-reload
- Mount all drives according to fstab
sudo mount -a
- Verify that all drives are properly mounted
df -h
Confirmation
The successful output from df -h
showed:
/dev/nvme0n1p1 458G 28K 435G 1% /mnt/samsung500
/dev/sda1 1.8T 533G 1.2T 31% /mnt/storage2tb
/dev/sdb1 3.6T 2.6M 3.4T 1% /mnt/storage4tb
This confirms that all three drives are mounted correctly with the expected space available.
What This Accomplishes
- All three drives will now automatically mount at the same locations when the system boots
- The drives are mounted with standard read/write permissions
- The system will check these filesystems for errors during boot (but after the root filesystem)
If You Need to Make Changes Later
To modify mount points or options:
- Edit the fstab file again:
sudo nano /etc/fstab
- Make your changes
- Run
sudo systemctl daemon-reload
- Test with
sudo mount -a
Recovery Option
If anything goes wrong and the system won't boot properly after these changes:
- Boot into recovery mode (hold Shift during boot)
- Restore the backup:
cp /etc/fstab.backup /etc/fstab
- Reboot normally
Plex Media Permissions
For fresh installs, we need to set permissions for drives for plex:
# Make the storage4tb directory accessible to the bunker-admin group
sudo chmod 770 /mnt/storage4tb
# Restart Plex service
sudo systemctl restart plexmediaserver
# Test access again
sudo -u plex ls -la /mnt/storage4tb/mediastack/media