升级Ubuntu 11.10到12.04后,开机报错“no partition found”,进入Grub后,输入"ls"命令,也报错“no partition found”。可见Grub已经崩溃了。
于是我下载了UNetbootin,然后利用它在Win 7下制作Ubuntu自启动U盘。制作好之后,结果发现不会自动引导启动,需要在开机之后出现Thinkpad欢迎界面时按F12,然后选择U盘启动。然后选择U盘启动Ubuntu,进入Ubuntu后按照 How to Fix Grub 2 中的方法安装Grub 2到硬盘。
To fix GRUB 2, you need an Ubuntu live CD from which you need to boot. Once you boot to the LIVE CD, open a terminal an and type these commands:
a) Firstly, you need to find out on which partition your Linux system is installed:
sudo fdisk -l(in my case, it's "sda1")
b) Now, we must mount this partition:
sudo mount /dev/sda1 /mntWhere "sda1" is the partition where you installed Ubuntu (or any other Linux distro). It could be "sda5", "sda6", etc. for you.
c) Install grub to the partition you've mounted:
sudo grub-install --root-directory=/mnt/ /dev/sda
Important: Please notice that it's "/dev/sda", not "/dev/sda1". "sda" is the hard disk on which your Linux distribution is installed!
d) Restart your computer. As previous Grub 2 entries are removed, run the following command to restore them:
sudo update-grub
我以前是用USB Stick安装的Ubuntu,在安装过程中有一选项是选择引导程序的安装位置,默认是/dev/sdb,也就是U盘。因为当时我没注意,所以Grub 2被安装到了U盘,尽管事后重新安装到了硬盘上,但貌似升级后还是不太正常。
重启电脑进入Grub 2之后,输入命令(Grub 2中已经不再支持kernel命令,需要用linux指定kernel):
linux (hd0,X)/vmlinuz-3.2...... initrd (hd0,X)/initrd.img-3.2...... boot
悲哀的是系统启动到一半仍然无法进入GUI或者shell。多次检查测试后确认 / 所在的分区已经崩溃,Ubuntu根本无法识别。
虽然不想,但此时我已别无选择,只能重新安装Ubuntu 12.04了。可惜我电脑里那些尚未备份的文件和电影啊……
更多Ubuntu相关信息见Ubuntu 专题页面 ?tid=2