A problem using "preupgrade" and how I solved it
I just ran preupgrade on my F13 system, and discovered a hole in the logic coded in anaconda to discover the location of the "old" system so it can be mounted and a chroot done before the new rpm files are installed.
The problem I had was that, on my system, /boot is on /dev/sdb2 and I have several (old) backup copies of system directories on /dev/sdb1/ while my "real" F13 installation is on /dev/sda7.
preupdate ran fine, creating the /boot/update/ directory and the various rpm files in /var/yum, but, when I rebooted to start the installation, anaconda found the old backup stuff in /dev/sdb1 and "decided" that sdb1 was the location of the installation to be converted to F14. Fortunately, the first thing that the program tried to do was run a backup copy of /etc/fstab made for a different computer. This caused the update to abort, and me to scratch my head about an abort message caused by the system looking for a drive on a different computer. After a few hours digging through the stuff in the /boot/update directory, I finally realized what the problem was, and renamed all the backup stuff in sdb1 to have non-standard names.
When I did that, and rebooted, the preupdate process finished with only a few minor problems with obvious solutions. (Actually, the "minor" problem was that the /dev/sdb2 contents were erased during the cleanup, so the system was unbootable from that location until I restored it. But I normally use the Ubuntu GRUB 2 boot loader for all the distribution on the laptop, so that wasn't too much of a problem. I, of course, keep the old GRUB boot directory in the Fedora file system so kernel updates won't kill my "real" GRUB boot stuff.)