[Resolved] Debian 12: trying to auto-mount a NTFS-formatted hard drive by making an entry in fstab. Getting the error "mount: /etc/fstab: parse error at line 18 -- ignored"

Kickass Women@lemmy.world to Linux@lemmy.ml – 21 points –

Here's the entry in the fstab file for mounting my hard drive. I have bolded the name of the hard drive (that's what it shows up as on the dock when it isn't mounted):

UUID=D4C0A66EC0A65710 /media/lucky/New Volume ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000    0   0

After making that entry in fstab, I execute the, systemctl daemon-reload, command, and then mount -a, afterwards which gives me this error.

16

Does this help? https://superuser.com/questions/527495/how-to-mount-partition-with-spaces-in-path

Looks like you need \040 in place of the space.

Honestly, I would just change the name of the mount directory so there's no space.

This worked.

I edited the fstab file:

UUID=D4C0A66EC0A65710 /media/lucky/New\040Volume/ ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0

My hdd is now automatically mounted by Debian.

Thank you!

Issue is with the space in "New Volume", I bet. Should likely be /media/lucky/New\ Volume

Or, I vaguely remember having to add like \040 or something in place of the space. I've dealt with this in the past... And found it easier to use a "-" instead of a space... Or no space at all, obviously.

Using \040 instead of single or double quotes resolved my issue.

Now Debian automounts the hdd.

Good deal. After my post I saw someone else had also suggested the \040, prior to me... I just hadn't read all the comments. Glad it's sorted.

Is it literally named new volume? If so perhaps the space is throwing things off. Try quoting the whole path perhaps?

Yup, that's the name.

I changed the entry on fstab to this (tried it with both single quotes and double quotes) and I'm stilling getting the parse error:

UUID=D4C0A66EC0A65710 "/media/lucky/New Volume" ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0

Btw I'm using the ntfs-3g driver, if that helps.

sometimes there are those times when you've been at it for 6-8 hours straight with no break, and you keep staring at that one line in your config, trying so hard to see this mistake. is it a comma out of place? did i missplell something? no? and you're staring at it so long that you just don't see the glaringly obvious:

***New Volume***

it's that one remnant that you probably copy/pasted from a tutorial page and you're too brain-fried to consider that it's a part of the line you should have changed, so you're not looking at it, but there it is. but, hey, that's why forums like this exist: to get a fresh pair of eyes on the problem.

we've all been there.

There were no asterisks in the fstab file, I just placed them here to emphasize the name of the hdd.

Btw I got Debian to automount the hdd (thanks to @shortdorkyasian) by adding this entry to the fstab file:

UUID=D4C0A66EC0A65710 /media/lucky/New\040Volume/ ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0

Using \040 instead of a space or quotes (single or double) made it work.

lmao, ok i see.

in any case, i'm very glad that you got your drive mounted!

You've made a directory path literally called

/media/lucky/New Volume

?

That REALLY doesn't seem like a good idea considering that *'s are wildcards for anything, and Linux isn't really fond of spaces.

The error basically tells you that you have an error on line 18, which I'm assuming is this line you're stating and that it's ignored that line so that it can still go on and mount other things.

Most likely you'd want something like:

# mkdir /media/lucky/NewVol

and then your fstab would be:

UUID=D4C0A66EC0A65710 /media/lucky/NewVol ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0

Also do you have a lib or something for linux to handle NTFS file system types? I haven't run Windows in 17 years now, so I don't have a clue if Linux can natively handle NTFS.

You can also run:

# lsblk

or

# blkid

to get the storage information and verify the storage UUID is correct.

That REALLY doesn’t seem like a good idea considering that *'s are wildcards for anything, and Linux isn’t really fond of spaces.

There are no asterisks in the fstab file. I put them here to emphasize the name of the hdd (I edited my original post to remove them to avoid confusing people).

Also do you have a lib or something for linux to handle NTFS file system types?

I'm using the ntfs-3g driver.

Btw this is what the entry on fstab looks like now but I'm still getting the parsing error:

UUID=D4C0A66EC0A65710 "/media/lucky/New Volume" ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0

But you have a space in there. I don't know how spaces are handled in fstab. You'll either need to quote it or at least escape the space:

UUID=D4C0A66EC0A65710 '/media/lucky/New Volume' ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0

OR

UUID=D4C0A66EC0A65710 /media/lucky/New\ Volume ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0

The space is absolutely an issue in fstab as it's thinking "Volume" is the filesystem type and ntfs goes into your options, etc.

But you have a space in there. I don’t know how spaces are handled in fstab. You’ll either need to quote it or at least escape the space

Instead of using spaces or quotes (single or double), I used \040 (as @shortdorkyasian) said and that made all the difference:

UUID=D4C0A66EC0A65710 /media/lucky/New\040Volume/ ntfs rw,auto,users,exec,nls=utf8,umask=003,gid=46,uid=1000 0 0