正常情况下,先安装win7 在安装ubuntu没有任何问题。但由于win7 瘫痪了,重新装win7后,引导项目丢失。需要重新安装grub这个引导程序。我在网上搜集了很多方法,在这里整理一下.
grub 几个最基本的命令:
1 grub>root (hdx,y)
它使用了UNIX对设备的命名方法.比如我们拥有两块硬盘,那么采用这种形式(hdx,y), 这里,x,y, 都是从0开始计数的.所以 两块硬盘是 (hd0,y),(hd1,y). 代表硬盘上的分区号.
2 kernel 或者 linux (大概2.0以后的版本)
grub>linux /boot/vmlinuz root=(hdx,y) ro quire
3 grub>initrd /boot/initrd.img
4 grub>boot
但最后linux还是没有完整的启动。只是停留在了busybox提示符哪里。没有解决,希望能有人指点。
-----------------------------------------------------------------------------------------
1、default //设置默认启动的菜单项
2、fallback //设置启动某菜单项失败后反回的菜单项
3、hiddenmenu //隐藏菜单界面
4、timeout //设置菜单自动启动的延时时间
5、title //开始一个菜单项
二、常规命令
只要您在grub>提示符的后面输入help 就能得到GRUB所有的命令提示;
grub> help
常规命令可以应该于配置文件和grub命令行交互界面,可使用的常规命令有
1、bootp //通过bootp初始化网络设备
2、color //设置菜单界面的颜色
3、device //指定设备文件作为驱动器
4、dhcp //通过DHCP初始化网络设备
5、hide //隐藏某分区
6、ifconfig //手工配置网络设备
7、pager //改变内部页程序的状态
8、partnew //新建一个主分区
9、parttype //改变分区的类型
10、password 为菜单界面设置口令
11、rarp //通过RARP初始化网络设置
12、serial //设置串口设备
13、setkey //设置键盘映射
14、splashimage //设置GRUB启动时的背景图片文件
15、termainal //选择终端类型
16、tftpserver //指定TFTP服务器
17、unhide //还原某隐藏分区
三、命令行和菜单项命令
命令行和菜单项命令可应该于GRUB配置文件的菜单项设置中,也可以用在GRUB命令交互界面。
1、bolcklist //显示某文件所在分区位置(block list notation)
2、boot //启动操作系统
3、cat //显示文件内容
4、chainloader //把启动控制权软交给另外的启动引导器
5、cmp //比较两个文件
6、configfile //加载已存在的GRUB配置文件
7、debug //设置为debug模式
8、displayapm //显示APM BIOS信息
9、displaymem //显示内存配置
10、embed //嵌入Stage 1.5文件
11、find //查找包括某文件的所有设备
12、fstest //测试文件系统
13、geometry //显示某驱动器的物理信息
14、halt //停止计算机运行(软件关机)
15、help //显示GRUB的命令帮助信息
16、impsprobe //查询对称多处理器(SMP)的信息
17、initrd //加载initrd文件
18、install //安装GRUB
19、ioprobe //查询某驱动器的输入输出(I/O)端口
20、kernel //引导操作系统内核
21、lock //锁定某GRUB导菜单项,使其输入密码后才可启动
22、makeactive //激活某主分区
23、map //虚拟映射某驱动器
24、md5crypt //使用MD5加密口令
25、module //加载模块
26、modulenounzip //加载模块不进行解压
27、pause //暂停并等待按键
28、quit //退出GRUB
29、reboot //重新启动计算机
30、read //读取内存中的内容
31、root //设置GRUB的root设备
32、rootnoverify //设备GRUB的root设备但不装载文件系统
33、savedefault //保存当前的启动菜单项为默认启动
34、setup //自动安装GRUB
35、testload //从文件系统中测试读取某文件
36、testvbe //测试VESA BIOS EXTENSION
37、uppermem //强制设置主机上位内存的大小
38、vbeprobe //查询VESA BIOS EXTENSION信息
---------------------------------------------------------------------------------------------------------------
安装在MBR,或者某个磁盘分区。这2者之间存在区别。
a:当安装到MBR时。会将已经存在的Win自己在MBR的引导程序替代,变成GRUB引导。
b:当安装到某个分区时。会由存在的Win的引导程序,引导到那个分区的Grub,再有Grub引导到各个操作系统。
这就是2者的区别。
grub 的安装基本分三个方法。
1 高层的 grub-install
制作步骤:
先用cfdisk 在U盘中,创建个两个分区,第二个一会儿作为boot分区。
0:mkfs.ext3 /dev/sdc5
1:mount /dev/sdc5 /tmp/boot
2:grub-install --root-directory=/tmp/boot --no-floppy /dev/sdc(*注意*)
此命令运行后,会在/tmp/boot/文件夹。也就是/dev/sdc5,以下产生文件夹/boot/grub.里面有*stage*等文件。 最后在/boot/grub 文件夹中建立menu.lst文件。
2 中层的 setup
1)把linux安装光盘的第一张放到光驱,然后重新启动机器,在BOIS中把系统用光驱来引导。
2)等安装界面出来后,按[F4]键,也就是linux rescue模式
3)sh#grub 回车
grub>
grub>root (hdX,Y)
grub>setup (hdX)
如果成功会有一个successful......
这里的X,如果是一个盘,就是0,如果你所安装的linux的根分区在第二个硬盘上,那X就是1了;Y,就是装有linux系统所在的根分区。 setup (hd0)就是把GRUB写到硬盘的MBR上
3 底层的 install
install (hdx,y)/grub/stage1 (hdx) (hdx,y)/grub/stage2
或者可以如下:
root (hd0,0)
install /grub/stage1 (hd0) /grub/stage2
通过这样一种方式可以成功安装grub,但系统reboot之后,不能进入系统,却直接进入grub>.why?
因为这种安装方式没有告知grub去哪里找grub.conf,stage2找不到grub.conf就会进入grub>.
用以下形式安装就ok了。
root (hd0,0)
install /grub/stage1 (hd0) /grub/stage2 p /grub/grub.conf
-------------------------------------------------------------------------------------------------------------
GRUB.CONF的格式如下:
default=0
timeout=10
splashimage=(hd1,2)/boot/grub/splash.xpm.gz
title WindowsXP
rootnoverify (hd0,0)
chainloader +1
title RedHat9
root (hd0,1)
kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/
initrd /boot/initrd-2.4.20-8.img
title Mandrake9.1
kernel (hd1,4)/boot/vmlinuz root=/dev/hdb5 quiet devfs=mount acpi=off vga=788
initrd (hd1,4)/boot/initrd.img
chainloader +1 告诉 GNU GRUB 不要试着自己载入 Windows (自身无法完成),而应该将启动进程交给 C 盘的首扇区,那里含有原始的 DOS/Windows 启动程序
-----------------------------------------------------------------------------------------------------------------------------
在Debian 6 以前 GRUB的版本是 v1,到了Debian 6之后,GRUB的版本就升级为v2,而配置v1与v2有着比较大的区别:
配置grub v1:
配置文件是 /boot/grub/menu.lst,在Debian系统下,grub的配置文件在你安装完一个新的内核后是会自动更新的,自动调用 update-grub 命令。
配置grub v2:
配置文件是 /boot/grub/grub.cfg,但是我们不能直接修改或者编辑这个文件,它是由 grub v2 版本的 update-grub 命令根据以下文件生成的:
1. /etc/grub.d/ 目录下的脚本片段。
2. 配置文件 /etc/default/grub。
我们可以修改或编辑 /etc/default/grub配置文件,然后运行 update-grub 命令,来配置 grub v2。