I have a mistery on my hand.
I am running Ubuntu 13.04 on my laptop but still use 12.04 for some of my work. 12.04 now lives on an external hard drive running kernle 3.9.6. When I need it I just boot from the external hard drive. Yesterday I booted into 12.04 only for a little bit to check for updates (there was none) so I thought maybe I should boot into an old kernel (for no particular reason) so I rebooted, saw the grub screen and chose previous kernel versions and tried to boot into kernel 3.2.0-38 and then it went crazy. It struggled for a long time and showed unknown file system and grub rescue.
So I booted into 13.04 on my laptop (internal hard drive), plugged in the external hd with 12.04 and checked.
fdisk -l didn't seem to find anything wrong
sdb is the exrternal drive and sdb1 is / partition for 12.04, sdb5 the /home
Disk /dev/sdb: 320.1 GB, 320072932352 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142446 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0006b6bf
Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 41945407 20971680 83 Linux
/dev/sdb2 41947134 564340735 261196801 5 Extended
/dev/sdb5 41947136 325720063 141886464 83 Linux
But blkid didn't see sdb1 and sdb5. It found all partitions on sdb except sdb1 and sdb5
So I fired up gparted and I saw that both sdb1 and sdb5 had file systems described as "unknown" and they appeared as blank boxes, it seemed that all the data were wiped. Ubuntu 12.04 gone!! See the screenshot (though I suspect it was not really gone, just somehow not detected)
Fortunately I had cloned the whole system. So no sweat, I just reformatted sdb1 and sdb5 with gparted, ran fsarchiver and less than an hour later I was back in business. I rebooted a few times into kernel 3.9.6 and all worked fine, I checked for kernel 3.2.0 in synaptic and saw nothing unusual. then I tried to booted into kernel 3.2.0. again and the same thing happened.
So I restored the image again, booted into 3.9.6, open synaptic and removed the kernel 3.2.0-38 with all the headers, rebooted and then installed them again. I noticed that there was a version change though, I couldn't find 3.2.0-38 in synpatic any more, so I installed 3.2.0-49 instead. I tried to boot into 3.2.0 again an this time it worked.
I have restored 12.04 completely so the practical problem is solved, but I really want to know what had happened. Does anyone have an explanation?