Posted August 12, 2014
I’ve dual-booted Windows and Linux for a long time now, and it took me awhile to get the two setup so they work well together. With GOG supporting Linux, I’ve seen a lot of people trying out Linux, so I thought I would post a bit of a description of my dual-boot setup.
I should say, I'm not an expert, or a sysadmin or anything. This is just what I do, and what works for me. Some Linux purists are probably going to cringe reading this. You're responsible for your own system, and it isn't my fault if you try this and bork things up royally. Blah blah blah.
I’m not going to describe the installation of the OS’s, or any of the software, just the basic setup, and why I have it setup that way.
Partition / Hard Drive Setup
I have three hard drives (2 x msata, 1 x spinny), and I split my Linux install over two of them, so I’m not going to give you my exact setup - it’s a bit more complicated than it needs to be. Basically, I have three partitions - Windows, Linux and Files. I do also have a Linux swap partition, but it doesn’t really come into play here. Windows and Files are both NTFS partitions, and Linux is Ext4. The Files partition is where I store everything that I want to share between the two OS’s. I install almost all of my games, including Steam, to the Files partition. This is for two reasons:
1 - While Linux’s NTFS support is pretty good these days, having write access to a windows OS partition can be problematic. Especially with Windows 8. It just works better to have the files that you want to share between the two OS’s to be on a separate partition.
2 - This way, if / when you reinstall either OS, none of your files are on the OS partition, and you don’t need to worry about copying them somewhere. Reformat the OS partition, reinstall the OS, and all your stuff is still there.
I prefer to use NTFS for my shared partition for stability. There are file system drivers available for Windows that give you read/write access to Ext partitions, but I have found Linux’s NTFS support to be much more stable than Windows support of Ext.
The last bit is actually mounting the Files partition. Here is my actual fstab line for the Files partition:
UUID=74D801BAD8017C1C /mnt/files ntfs-3g big_writes,noatime,uid=1000,gid=1000,hide_dot_files,hide_hid_files 0 2
Obviously, you would need to change the UUID to match your partition. The big_writes option speeds up ntfs access while lowering CPU usage. The uid and gid options make the mounted files belong to the default user. If you have multiple users to deal with, you would have to setup an ntfs-user group, and just mount with that gid. The hide_dot_files gives linux hidden files (prefixed with a '.') the ntfs attribute of hidden making them also hidden in windows. The hide_hid_files hides ntfs-hidden files in Linux.
Profile / Home Setup
I store all of my Documents, Downloads, Pictures, Music and Game files on the Files partition. That way I have access to everything from either OS. In my Linux home folder, I have symbolic links for each of the folders I want to use. For example:
~/Documents points to /mnt/files/Files/Documents
You can create this link using the command:
ln -s /mnt/files/Files/Documents ~/Documents
In windows, you can easily change your profile paths. I have the Documents folder pointing at D:\Files\Documents
This way both Linux and Windows are using the same locations for everything. If I create document in Windows, it will be in my Linux home folder. If I download a file in Linux, it will be in my Downloads folder in Windows. It works out pretty seamless.
I should say, I'm not an expert, or a sysadmin or anything. This is just what I do, and what works for me. Some Linux purists are probably going to cringe reading this. You're responsible for your own system, and it isn't my fault if you try this and bork things up royally. Blah blah blah.
I’m not going to describe the installation of the OS’s, or any of the software, just the basic setup, and why I have it setup that way.
Partition / Hard Drive Setup
I have three hard drives (2 x msata, 1 x spinny), and I split my Linux install over two of them, so I’m not going to give you my exact setup - it’s a bit more complicated than it needs to be. Basically, I have three partitions - Windows, Linux and Files. I do also have a Linux swap partition, but it doesn’t really come into play here. Windows and Files are both NTFS partitions, and Linux is Ext4. The Files partition is where I store everything that I want to share between the two OS’s. I install almost all of my games, including Steam, to the Files partition. This is for two reasons:
1 - While Linux’s NTFS support is pretty good these days, having write access to a windows OS partition can be problematic. Especially with Windows 8. It just works better to have the files that you want to share between the two OS’s to be on a separate partition.
2 - This way, if / when you reinstall either OS, none of your files are on the OS partition, and you don’t need to worry about copying them somewhere. Reformat the OS partition, reinstall the OS, and all your stuff is still there.
I prefer to use NTFS for my shared partition for stability. There are file system drivers available for Windows that give you read/write access to Ext partitions, but I have found Linux’s NTFS support to be much more stable than Windows support of Ext.
The last bit is actually mounting the Files partition. Here is my actual fstab line for the Files partition:
UUID=74D801BAD8017C1C /mnt/files ntfs-3g big_writes,noatime,uid=1000,gid=1000,hide_dot_files,hide_hid_files 0 2
Obviously, you would need to change the UUID to match your partition. The big_writes option speeds up ntfs access while lowering CPU usage. The uid and gid options make the mounted files belong to the default user. If you have multiple users to deal with, you would have to setup an ntfs-user group, and just mount with that gid. The hide_dot_files gives linux hidden files (prefixed with a '.') the ntfs attribute of hidden making them also hidden in windows. The hide_hid_files hides ntfs-hidden files in Linux.
Profile / Home Setup
I store all of my Documents, Downloads, Pictures, Music and Game files on the Files partition. That way I have access to everything from either OS. In my Linux home folder, I have symbolic links for each of the folders I want to use. For example:
~/Documents points to /mnt/files/Files/Documents
You can create this link using the command:
ln -s /mnt/files/Files/Documents ~/Documents
In windows, you can easily change your profile paths. I have the Documents folder pointing at D:\Files\Documents
This way both Linux and Windows are using the same locations for everything. If I create document in Windows, it will be in my Linux home folder. If I download a file in Linux, it will be in my Downloads folder in Windows. It works out pretty seamless.
Post edited August 12, 2014 by hummer010