0

My computer dual-boots Ubuntu from ext4 and Win7 from NTFS partitions on the same physical drive. TL;DR: How can I keep mounting my NTFS to avoid read/write conflicts?

I opened the Arduino IDE, and opened a recent file (which I forgot was stored on the NTFS). It showed me a blank editing window. Briefly confused, I opened the other recent project... also blank. Then I realized what was going on, and mounted the NTFS drive... only to find the files still opened as empty. Browsing to the location, both files now exist but are 0 bytes in size.

I see what I did, and assume this is as much an Arduino software issue/bug as any Ubuntu issue. I see no reason why the file data isn't still there ,just with the header rewritten, so I'm starting to learn to use testdisk and maybe foremost to rebuild those files.

My big question is: are there ways to mount a partition (mount flags?) to avoid programs opening files before they are mounted? I do not dual boot when Windows is in hibernate, so there should be no Windows-related conflicts.

The arduino files aren't a big deal, but I could see this really messing me up with, say, my shared Thunderbird mail archive.

Dan C
  • 41
  • Are you not mounting with fstab? Back with XP, I used a shared data NTFS partition for Firefox & Thunderbird profiles and never had an issue. But always mounted with fstab. https://help.ubuntu.com/community/Fstab I do not like Disks as it may not use correct parameters. Better to use template/example and adjust for your specifics https://askubuntu.com/questions/164926/how-to-make-partitions-mount-at-startup & https://help.ubuntu.com/community/MountingWindowsPartitions – oldfred Jan 28 '19 at 20:01

1 Answers1

0

two ways to do it:

From the CLI

first, run lsblk and make a note of which partition you want to make read only. If you only have one drive, it will likely be /dev/sda# where # is the number of your NTFS partition.

open up a terminal and run sudo nano /etc/fstab. This will give you a file that looks something like this:

/etc/fstab

To make a drive read only here (let's assume your NTFS partiton is /dev/sda1) add a line to the bottom that says /dev/sda1 /mount/point/path auto ro 0 0

Once that's done, run sudo umount /dev/sda1, then sudo mount /dev/sda1, which will respectively unmount from your old options and remount with your new, read-only option.

From the GUI

Run the disks utility from the search menu, or run gnome-disks from the CLI.

gnome-disks

Select the device with the partition you want to make read-only, then click the gears beneath the "Volumes" section, and click "Edit mount options"

gnome-disks menu

From here, simply add 'ro' to the end of the string beneath the "Symbolic Icon Name" field. You can also choose a mount point here other than the one the system designates.

Once that's done, simply unmount and remount your drive/partition from the previous screen, and you're done; no more accidental overwrites (unless you use dd)

To remove the read only condition, you can either edit your /etc/fstab file or pull up gnome-disks again and remove the ro; basically the same thing you just did, but in reverse.

Minty
  • 1,208