1. 背景
原硬盘分区:C(NTFS)、D(NTFS)、E(350G, NTFS)
下载Ubuntu-12.04-desktop-i386.iso,硬盘安装ubuntu12.04
安装时,在liveCD中将E盘分区删除,从尾部开始,新建一个100G的ext4分区,挂载到"/",再新建一个2G的SWAP分区,这时候在D盘和SWAP之间剩余250G左右的未分配空间。继续安装,完成后grub装在了ext4分区上,系统通过grub引导,一切正常。
重启后进入windows,用未分配的250G空间新建了一个新的NTFS分区:E盘。(注:由于windows下无法识别linux的ext文件系统,这步操作导致分区表里的ext4分区丢失,从而出现后面的问题)
2. Grub rescue
再次重启系统,出现error: unknown filesystem,进入grub rescue模式
error: unknown filesystem
grub rescue>
输入ls命令查看分区
grub rescue>ls
(hd0) (hd0,msdos7) (hd0,msdos6) (hd0,msdos5) (hd0,msdos1)
对四个分区分别ls,尝试找到grub所在的分区
grub rescue>ls (hd0,msdosX)
但是四个分区都返回error: unknown filesystem(注:这是因为分区表中已经不存在grub所在的ext4分区),直接在grub rescue下修复似乎不可能。好在还有liveCD可以看看硬盘究竟怎么了