7

I am going to dual-boot install Ubuntu1 10.04 on my laptop with Windows 7. I was wondering

  1. what filesystem types (such as ext2, ext3, ext4, ReiserFS and whatever might come into mind) are recommended for various possible partitions (such as /, home, /boot, swap, and others that might come into mind)and why?
  2. if ext4 is now stable enough for use for partitions in Ubuntu and Shared partition between Windows and Ubuntu?
  3. what journaling Options (writeback, ordered and journal) are recommended for each partition's filesystem?

Thanks and regards!

8
  • 3
    AFAIR, the windows ext (ext2fs) driver does not support ext4 unless it is prepared with specific options (with regards to sector size and some other technical details) that aren't default options in ubuntu installer.
    – crasic
    Jan 3, 2011 at 5:55
  • 1
    Note: Do not use Ext3 or Ext4 for solid state drives. The journal will put extra wear-and-tear on the drive and provides very little benefit. Jan 12, 2011 at 3:17
  • 1
    @George: how to find out if my hard drive is solid state?
    – Tim
    Jan 12, 2011 at 3:19
  • 1
    @Tim: System->Administration->Disk Utility. Jan 12, 2011 at 3:24
  • @George: Thanks! But what OS is that? I dont find it under both Windows 7 and Ubuntu 8.10.
    – Tim
    Jan 12, 2011 at 3:41

2 Answers 2

11

Assuming you have checked in wikipedia, ubuntu forum, linux forum, linux sites about this very common question, i leave you here with a quick breakdown of the common ones:

POINT 1

You already know that ext4 is the enhanced version of ext3 which is the enhanced version of ext2 which is the enhanced version of.. you guessed it, ext (Extended File System) which was a better implementation of the Minix File system.

I wil just copy paste a lot of stuff found in wikipedia / ubuntu+ linux forums /etc... since it is found easily but has a LOT of reading to be done to find the good points.

Ext - Solved 2 big problems that were found in the Minix System:

  • maximum partition size
  • filename length limitation to 14 characters

Ext2 - Added several things that lacked in Ext:

  • Support for separate access
  • Inode modification and data modification timestamps

Ext3 - Added More thing missing from Ext2:

  • Journaling file system
  • Online file system growth
  • Htree indexing for larger directories missing from Ext3
  • Faster Performance Overall

Ext4 - Added a whole bunch of things, including but not limited to:

  • Large file system: Support volumes with sizes up to 1 exabyte and files with sizes up to 16 terabytes.
  • Break 32,000 subdirectory limit found in ext3.
  • Faster file system checking
  • Multiblock allocator

ReiserFs - Very good File System that showed potential and i tested some years back. you could see as an end user the speed difference between it and Ext3 for example. But after some "problems" the company working on the file system had to make some changes. Sad story really. Anyway the final problem right now is the lack of tools for it.

Reiser4 - Not available easily but is the "Version 2" if you can call it that of ReiserFS. Have not tested yet but some benchmarks show good progress.

BtrFS - The illegitimate child of everyone. This file system has taken the good of Ext3, Ext4, ReiserFs and Reiser4 added some sugar, mixed with chocolate and PRESTO! you have some super mutant ninja System. This is not a stable file system YET but it shows a LOT of potential and has some pretty amazing benchmarks. You can have a look here: http://www.phoronix.com/scan.php?page=article&item=ubuntu_1010_btrfs&num=2 but it still needs a lot of work before it can be called stable. Anyway some of the amazing things that it has, for my case, would be the Online volume growth and shrinking, Online defragmentation, Snapshots...

I am using Etx4 right now since I already tested ReiserFs, Ext3, Ext2 and maybe 2 or 3 more.

For many small files in a partition I recommend Reiser since it worked wonders for me BUT you might get a problem that if it happens to you (It happened to me 2 times. That was enough.) you might loose everything forever. And I mean like FOREVER!.

Ext4 a year ago might have not sounded like fast and steady but right now it is very VERY good for almost any time of work in a desktop.

So my recommendation for your POINT 1 would be stay with Ext4. In the future, you might start looking at Btrfs but for now stay with Ext4. There is also the case of performance. As of December 2012, BtrFS does not yet have a similar performance as Ext4 does. In this case I am talking about cases like Copy/Paste speed, moving files, reading thousands of files, the stuff that end users do from time to time. BtrFS is more oriented towards scalable scenarios where we can play with several HDDs or huge space sizes, resize, snapshot and more. But even with that in mind, the work put in BtrFS is huge, so much so, that there are a couple of Ext4 developers that promote BtrFS for several case scenarios. In the future, the performance of BtrFs and stability will have improved to the point of becoming the default one.

POINT 2

For you POINT 2. I do not recommend it if you want to share files between Windows and ubuntu. For that case use NTFS or FAT32. Windows has some programs that can read Ext2/Ext3 systems but I have had (And 2 more friends had) a couple of problems with them, reading wrong, writing wrong, etc.. So for safety sake, stay with NTFS or FAT32 to be on the safe side.

NOTE: What I mean with this is do the Ubuntu partition with ext4 BUT leave a small partition in FAT32 or NTFS to share files between them both. If you are working on the same PC for both Windows and Ubuntu, then there is no need to make a third partition for them. Just install Windows First leaving space for Ubuntu and then install Ubuntu. Ubuntu will be able to see the files in Windows (But Windows will not be able to see the ones in Ubuntu, but since you are running in the same PC anyway you will not mind anyway). Remember that FAT32 is limited to file sizes of 4.2GB or less. If you try to copy a file bigger than that it will throw an error. This can affect you if you want to store ISO files of DVD/Bluray. For this I would then recommend NTFS.

POINT 3

For you POINT 3 - If you want performance you can add noatime and nodiratime to your fstab for the ext4 partition so you get a small performance boost. This will eliminate the access times for files and directories (I think noatime removes both so there might not be a need for nodiratime) If you want more journal options you can check the GIT for the Linux Kernel where it shows you all options: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/ext4.txt;h=7be02ac5fa36d7f4c07856fe9cf89391e08986f7;hb=HEAD

That will help you since it gives a brief summary for each option.

Hope this helps. Sorry for the long post.

2
  • Thanks, CYREX! I actually very much appreciate the details you provided! I was wondering if you agree with (superuser.com/questions/84586/…): "I would split / (root) from /boot: the reason is that you can use an ext2 for your /boot and ext4 for your / (root)"? There are two questions there: if separte /boot from /, and if use different filesystem types for /boot and /?
    – Tim
    Jan 3, 2011 at 6:21
  • I usually do not use / in a different partition than boot (Myself) but i always recommend that. The simplest reason is that if ANYTHINGGG goes wrong, you have your boot system in a different partition and you can most of the time safe everything quickly back to normal. Same goes if the boot system goes bad. you have your root partition in a different place so you can safe everything again. If you have both of them in the same place and something goes wrong, well it will get difficult. Anyway for the ext2 reason does not make since to me, but for the rest i agree. Jan 3, 2011 at 6:29
1

Yes, crasic is right about ext2fs not working with ext4 partitions. I tried it a while ago and while it could read some folders/files, the files were filled with garbage. It needs updating to work reliably with ext3/ext4 file systems.

I think you should just go with the defaults as regards journaling options.

Not the answer you're looking for? Browse other questions tagged .