Windows Ubuntu dual boot - Share files between OS

Putting /home in an NTFS partition is not advisable as Linux cannot preserve ownership and permissions on NTFS partition.

I would recommend keeping /home in the default / partition in the SSD and creating sym links to the folders with most data (Documents, Music, Pictures, videos etc.) in a "Storage" partition formatted NTFS, that both Ubuntu and Windows can read and write to.

Since /home also stores all your config files, keeping /home in the / partition in the SSD helps keep things speedy.

A detailed How To is at: http://www.howtogeek.com/howto/35807/how-to-harmonize-your-dual-boot-setup-for-windows-and-ubuntu/

After following the instructions in the "How To" create the sym links like this:

  1. Open Nautilus and delete the folders you will not use in /home/[user], such as Documents etc. You should already have Documents etc. in the Storage folder. (In linux a partition is a folder as well).
  2. Navigate to the Storage folder and you will see the Documents etc. folders there.
  3. Right click on Document folder and select make Link. This will create a folder Called "link to Documents".
  4. Similarly, create "Link to Music", "Link to Pictures" and all the other sub-folders in the Storage folder.
  5. Copy these "Link to..." folders to your Home folder /home/[user].
  6. Finally, right click on "Link to Documents" and rename it "Documents". Repeat for the remaining links.

Alternately

Delete the folders in /home/[user] as before.

Open a terminal by pressing Ctrl+Alt+T and enter

ln -s /media/storage/Documents /home/[user]/Documents
ln -s /media/storage/Downloads /home/[user]/Downloads
ln -s /media/storage/Public /home/[user]/Public
ln -s /media/storage/Pictures /home/[user]/Pictures
ln -s /media/storage/Music /home/[user]/Music
ln -s /media/storage/Videos /home/[user]/Videos

Hope this helps


I followed every step indicated at How To Harmonize Your Dual-Boot Setup for Windows and Ubuntu and that worked perfectly, only I couldn't send items on NTFS partition to trash.

If you have the same problem, just add the options "uid=1000" and "gid=1000" to fstab, on the line that concerns the ntfs partition. Mine looks like that:

# storage mount 
UUID=3F4648C2710CF3A1 /media/storage/    ntfs-3g        auto,user,utf8,uid=1000,gid=1000,rw 0 0

So the full steps from scratch are (as given by YatriTrivedi from howtogeek.com and Manu Järvinen from his blog)

1. Set up a new GPT partition table in your clean drive (from a live usb ubuntu distro, using gparted). Plan your partition scheme in a similar way:

  • An EFI System Partition (ESP) of at least 100MB, this will be the brains of the system booting
    • Your Windows partition (NTFS)
    • Your Linux partition (Ext4)
    • A large partition (or second hard drive) to store your files (NTFS)
    • A small swap partition (SWAP)

Don't forget to label your partitions for later convenience.

From my personal experience, if you plan on playing games or using specialized software on Windows (Adobe Suite, ARCGIS, Autodesk and the like), plan on having at least 100GB on your Windows partition. With 150GB and above you should be fine. Ubuntu softwares are much less demanding on storage capacity, so you can easily set up a 50 to 75GB Linux partition depending on your needs.

2. sudo apt install ntfs-3g to let linux handle ntfs file system, which is the only that both OSs can read.

3. sudo mkdir /media/storage or any other place you'd like your partition to appear. If you don't know where, just copy/paste that line.

4. sudo cp /etc/fstab /etc/fstab.backup to backup your fstab file, which contains information about what your system should do with your disk partitions. Editing fstab will tell linux to mount that partition properly at each startup, so making a backup is always useful in case things don't work out well. sudo cp /etc/fstab.backup /etc/fstab to restore the backup if needed.

5. You now have to find the UUID of your partition, it's an unique identifier that acts as a serial number: sudo blkid. Enter your password, and next find the line that corresponds to your storage partition. /dev/sda1: UUID=”23A87DBF64597DF1″ TYPE=”ntfs” /dev/sda2: UUID=”2479675e-2898-48c7-849f-132bb6d8f150″ TYPE=”ext4″ /dev/sda5: UUID=”66E53AEC54455DB2″ LABEL=”storage” TYPE=”ntfs” /dev/sda6: UUID=”05bbf608-87fa-4473-9774-cf4b2602d8d6″ TYPE=”swap”
This is where your labeling during the initial formatting gets useful. Copy the UUID.

6. gksudo gedit /etc/fstab this will open fstab for editting. Add the following line at the very bottom of fstab, and paste your UUID instead of mine: # storage mount UUID=3F4648C2710CF3A1 /media/storage/ ntfs-3g auto,user,utf8,uid=1000,gid=1000,rw 0 0 Setting uid=1000 and gid=1000 somehow allows you to send your items to trash from Linux. Don't touch anything else from fstab and make sure your UUID is correct.

7. Save and reboot (important).

And voilà, now you should be able to notice that you have a "storage" under the places menu. Next, configure your subfolders within Linux and Windows to have your documents etc, stored in that partition!