ubuntu 10.04 10.10 12.04 LiveCD 修复 grub2 双系统引导方法 及 解决error: no argument specified 的问题

来源:互联网 发布:js解密工具 编辑:程序博客网 时间:2024/06/06 11:39

因为帮朋友修电脑, 就在网上搜了相应的文章。

转载了 http://hi.baidu.com/radio585 的全部文章做为前半部, 后一小半是自己的原创。


今天就用Ubuntu 10.10(我用的是12.04)的LiveCD的来修复grub2的引导。启动Ubuntu 10.10光盘,选择LiveCD模式,进入之后选择进入终端,

12.04 选择试用ubuntu, 进入界面后, 如果不熟悉unity的话,可以用快捷键Ctrl-Alt-T,打开终端


先在终端输入如下命令:

sudo fdisk -l  

(注意是小写的L,不是数字的1,此步用于确定电脑中安装 Ubuntu10.10 的所在分区的位置,输入以后会输出类似如下信息,找到ID为83的那行,记住/dev/sdaX的情况,比如本人的电脑是/dev /sda7,以下就以此为例,你自己的请加以更改)

Disk /dev/sda: 80.0 GB, 80026361856 bytes

255 heads, 63 sectors/track, 9729 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Disk identifier: 0x624aa2e0

Device    Boot      Start         End      Blocks    Id  System

/dev/sda1   *           1        1388    11149078+   7  HPFS/NTFS

/dev/sda2            1389        3825    19575202+   7  HPFS/NTFS

/dev/sda3            3826        9729    47423880    f  W95 Ext'd (LBA)

/dev/sda5            3826        5851    16273813+   b  W95 FAT32

/dev/sda6            5852        8323    19856308+   b  W95 FAT32

/dev/sda7            8324        9598    10241406   83  Linux

/dev/sda8            9599        9729     1052226   82  Linux swap / Solaris

然后再输入

sudo -i(此步用于得到root权限,无需输入密码,方便以下操作)

接着输入

mkdir  /media/tempdir(这里用于创建一个文件夹tempdir,用于挂载刚才的sda7,此文件夹名称你可以依个人爱好而定,没有太多要求)

再输入 

mount   /dev/sda7   /media/tempdir(将sda7挂载于tempdir文件夹下)

注:如何/boot单独在另一个分区,则也要挂载

mount   /dev/sda6   /media/tempdir/boot      #sda6为/boot所在的分区


下面进入了本次恢复最为关键和激动人心的时刻,在终端输入以下命令:

grub-install   --root-directory=/media/tempdir    /dev/sda 

(本步骤用于来重新安装grub2到硬盘的主引导记录【MBR】里面,十分关键!)

输入以后如果出现“Installation finished.No Error Reported.”字符的时候,就表示操作成功了。但是现在只成功的一半,还有以下操作才能够完全成功。

这时重新启动你的电脑,就能看到grub2的引导界面了,但是这时只能用来引导Ubuntu 10.04,还暂时无法引导Windows 7,这时选择进入Ubuntu 10.04,再找到并启动终端,在终端输入如下命令:

sudo update-grub2

按照提示输入密码,如果顺利的话,会出现如下类似语句,那就表示成功了。

grub.cfg ...

Found Debian background: moreblue-orbit-grub.png

Found linux image: /boot/vmlinuz-2.6.31-15-generic

Found initrd image: /boot/initrd.img-2.6.31-15-generic

Found memtest86+ image: /boot/memtest86+.bin

Found Windows 7 (loader) on /dev/sda1

done

如果没有出现以上类似语句的话,那就在新立得里面搜索grub,可以安装带有Ubuntu标志的那个grub-pc,安装之后,再输入

sudo update-grub2     

更新一下grub2就可以了。


重启后选择系统引导项之后,遇到了error: no argument specified 的问题

输入命令 gedit  /boot/grub/grub.cfg


找到系统对应的

search --no-floppy --fs-uuid --set857d5af9-23cd-4d9b-908b-cc075e866758

改成

search --no-floppy --fs-uuid --set=root 857d5af9-23cd-4d9b-908b-cc075e866758


保存文件之后,重启就不会报错了


       


原创粉丝点击