Grub UUID错误

出现grub uuid错误的情况一般是由于重新安装操作系统,从而更变了UUID导致grub无法正确识别而无法启动操作系统,这时候需要更新grub配置文件中相应的UUID。

如果通过grub引导出现以下情况,则UUID需要更改:

error:No such device xxxxxxxxxxxxxxxx[Windows 分区 uuid]|xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx[Linux 分区 uuid];  Invalid signature

上面显示的uuid是早前安装的操作系统的uuid,重新安装系统后uuid已经更改,所以需要查看当前系统分区的uuid并修改grub配置文件。

Linux中查看uuid的命令:ls -l /dev/disk/by-uuid

unixing@unixing-desktop:~$ ls -l /dev/disk/by-uuid/

lrwxrwxrwx 1 root root 10 2011-01-16 14:00 2b2041f7-4f49-47ff-bb84-ffbf9b39f82a -> ../../sda5

lrwxrwxrwx 1 root root 10 2011-01-16 14:00 c01300ef-0698-439a-ae45-26de028af9fc -> ../../sda1

grub 2的配置文件为grub.cfg,可用vi或gedit之类编辑器打开编辑。修改前先查看文件的用户权限,一般grub.cfg为只读文件,利用chmod 555 grub.cfg修改为可写。

找到grub.cfg中无法启动的操作系统所在行,查找uuid所在位置[绿色字],替换为前面所查到的相应UUID。

menuentry ‘Ubuntu, with Linux 2.6.35-22-generic’ –class ubuntu –class gnu-linux –class gnu –class os {

recordfail

insmod part_msdos

insmod ext2

set root='(hd0,msdos1)’

search –no-floppy –fs-uuid –set c01300ef-0698-439a-ae45-26de028af9fc

linux   /boot/vmlinuz-2.6.35-22-generic root=UUID=c01300ef-0698-439a-ae45-26de028af9fc ro   quiet splash

initrd  /boot/initrd.img-2.6.35-22-generic

}

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注