I have tried using an ext2 boot partition on a USB thumb drive and on my internal Crucial SSD. There is a 30 second delay after the boot options screen pops up and the boot actually starts on the interenal drive. On the USB thumb drive, the delay is 5 minutes! Both drives boot quickly when the boot partition is ext4. My EFI/refind/drivers_x64 directory only contains the btrfs, ext2, and ext4 drivers.
Thanks,
Gene
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I'm not an expert in filesystem design, and rEFInd's core filesystem driver code is more-or-less unchanged since rEFIt, with one notable exception (see below). Unfortunately, it's not the most efficient in the world, and that results in poor performance with some filesystems and EFIs. Note that the firmware is a key factor, too, and some EFIs seem to lack much in the way of the sort of performance-enhancing features that are common in modern OSes. The design of ext2fs puts it at a serious disadvantage in the face of these factors. The extent of the problem varies greatly from one computer to another -- on most computers, it adds just a couple seconds to the boot time. On a few, though, performance can be degraded considerably.
Believe it or not, it used to be worse. I added some very ham-fisted cache code to the driver core quite a while ago that cut the ext2fs kernel-load time to about 1/60 of what it had been under VirtualBox! (See the comments for rEFInd 0.7.0 in the Web changelog.) I'm sure that somebody with more expertise in filesystem design could improve it further.
If you're running into this sort of problem, my recommendation is to switch to another filesystem. As you note, ext4fs tends to be better than ext2fs. It's been a while since I tested them, but as I recall, ReiserFS was the best performer -- but if you use ReiserFS, be sure to mount it with the notail option in Linux's /etc/fstab; without that option, the kernel will use features that the rEFIt/rEFInd driver doesn't support. It's also conceivable that the ext2fs driver from Pete Batard's efifs driver set would work better for you, although in my tests, many of them have speed problems, too. I don't know if I've tested the two ext2fs drivers head-to-head; if I ever have, I don't recall the results.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I have tried using an ext2 boot partition on a USB thumb drive and on my internal Crucial SSD. There is a 30 second delay after the boot options screen pops up and the boot actually starts on the interenal drive. On the USB thumb drive, the delay is 5 minutes! Both drives boot quickly when the boot partition is ext4. My EFI/refind/drivers_x64 directory only contains the btrfs, ext2, and ext4 drivers.
Thanks,
Gene
This is on Fedora 23. I went so far as to rebuild the source rpm using gnu-efi, but that made no difference.
Gene
I'm not an expert in filesystem design, and rEFInd's core filesystem driver code is more-or-less unchanged since rEFIt, with one notable exception (see below). Unfortunately, it's not the most efficient in the world, and that results in poor performance with some filesystems and EFIs. Note that the firmware is a key factor, too, and some EFIs seem to lack much in the way of the sort of performance-enhancing features that are common in modern OSes. The design of ext2fs puts it at a serious disadvantage in the face of these factors. The extent of the problem varies greatly from one computer to another -- on most computers, it adds just a couple seconds to the boot time. On a few, though, performance can be degraded considerably.
Believe it or not, it used to be worse. I added some very ham-fisted cache code to the driver core quite a while ago that cut the ext2fs kernel-load time to about 1/60 of what it had been under VirtualBox! (See the comments for rEFInd 0.7.0 in the Web changelog.) I'm sure that somebody with more expertise in filesystem design could improve it further.
If you're running into this sort of problem, my recommendation is to switch to another filesystem. As you note, ext4fs tends to be better than ext2fs. It's been a while since I tested them, but as I recall, ReiserFS was the best performer -- but if you use ReiserFS, be sure to mount it with the
notail
option in Linux's/etc/fstab
; without that option, the kernel will use features that the rEFIt/rEFInd driver doesn't support. It's also conceivable that the ext2fs driver from Pete Batard's efifs driver set would work better for you, although in my tests, many of them have speed problems, too. I don't know if I've tested the two ext2fs drivers head-to-head; if I ever have, I don't recall the results.