Suggestions for sharing and using data between Ubuntu and Windows 7 dual boot

Solution 1:

A1 -> merge it to make A1+B1.
A2 -> NTFS
B2 -> Can bring it down to ~ 40 GB, allocate remaining to A2.
That would be my recommendation.

as I read NTFS does not work nice with permission

I'm not sure what you mean by this ?

1) format the data partition to ext2/3/4 and move my home folder from linux there, and get a driver to read ext partitions in windows 7.

Not recommended, especially since you don't want a read-only file system.

http://www.fs-driver.org/ looks promising, but I'm not sure how it works with ext4 and windows 7 (not officially supported, when trying in vista compatibility mode, it tells me I need to format the ext drive to use it)

ext4 filesystems cannot be read under current drivers, if extents option is enabled ( and I believe most distros using ext4 do have extents enabled by default).

keep the home folder in ubuntu where it is, but create symlinks for the Documents, Music, etc folders to an NTFS formatted Data (A2) partition

This is my current setting as well.

Solution 2:

From experience, it's a bad idea to mix partitions & drives like you currently have them. If you want separate dual boot OSes, I suggest setting up one OS on each drive. Here's the key - make sure that only the drive that you're installin the OS on is connected during the install. By doing this, it keeps either OS from seeing the other drive and therefore automatically reconfiguring something, like overwriting boot partitions. If you do it this way, each OS will be fully contained on it's own drive, which makes things simple.

The other option (and IMO, the better option) is to install a primary OS (I would choose W7 in this case), and use a VM manager like VirtualBox or VMWare Player to create VMs for all additional OSes (as many as you want).

What are the pros & cons? Dual boot will allow each OS to run natively on the HW (no VM), so if you need the utmost in speed, this may be a better choice. Beyond that, there is no benefit really (IMO). Running VMs allows you to operate multiple OSes at the same time, so for example, using your Apache example, you can run a Linux VM while coding in say Dreamweaver on W7, and test the code on a real Apache server. Or you can just play solitaire on Linux while waiting for something to finish on W7. Or you can read about configuring Arch Linux for x-windows on W7 while working with it in a VM window. It's just a lot more flexible.

The downside of doing the VM is that you'll need a bit more hardware to get good performance. Not much, really, but some.

As far as accessing multiple partitions, with your drive configuration...

With dual-boot, I would create on the W7 disk 3 partitions 100MB (created by installer), then 2 125GB partitions - C: & D:. C: would be OS on NTFS. D: would be data on NTFS. Then from the Linux drive, you can mount the data partition using FUSE & NTFS-3G. If you don't want to use NTFS, format the data partition as FAT32 instead, and mount it in Linux. Just be aware of the file size limits of FAT32 vs NTFS.

With VMs, I would install W7 on disk 1, probably all in 1 NTFS partition (W7 lets you dynamically resize partitions, so it's not critical to do this up front at install), and then use disk 2 for data. I would create 1-4 partitions, formatted as either NTFS or FAT32. Then after creating a VM, I would either mount the data partitions or access them via samba.

Plenty of options, but the one thing that I wouldn't do is leave my disks configured as you have them. Having the W7 sytem partitions spread across 2 drives is, IMO, likely to cause problems down the road.