十二、grldr引导 作者:Teliute 来源:基础教程网 对于安装有XP的双系统,最好使用grldr来引导ubuntu,下面我们来看一个练习 1、安装grub到 /boot 分区 1)在安装ubuntu到第7步准备复制文件时,点右下角的“高级”按钮; ![]() 2)在出来的安装引导器对话框中,选择 /boot所在的分区,记住这个分区的分区号、分区大小; ![]() 3)点“确定”返回后,继续安装,由于/boot分区并不是主分区,也没有激活标志,因此不能自己启动,还需要grldr引导器来加载; 4)安装完以后先不重启,点上面“place“菜单,根据大小进入刚才的/boot分区,再进入 grub 文件夹,把里面的menu.lst复制到C:盘; ![]() (/media/disk/boot/grub/menu.lst) 2、下载grldr 1)grldr是grub4dos的一个组件,可以解压grub4dos后,复制其中的grldr,下载地址(下载最新的): http://download./grub4dos/ 2)将grldr文件复制到C:盘根目录中,还有前面的 menu.lst ; ![]() 3)修改boot.ini文件,在最后添加一行:C:\grldr=“Ubuntu” ![]() 编辑boot.ini文件的方法,请参考:http://teliute./TeacHtm/TeComput/lesson33/lesson33.html 4)如果前面没有复制 menu.lst ,那么其他分区根目录也不要放置 menu.lst,让 grldr 自己搜索进入Ubuntu, 5)如果想要menu.lst的话,也可以重新用安装盘进入 live cd ,根据分区大小在 place 菜单下打开 /boot 分区,复制grub里面的menu.lst到C:盘(也在place 下找); 注意:在安装分区都时候,记住 /boot 分区的分区大小、分区号,UUID可以打开 /etc 文件夹,查看里面的 fstab 文件,注意不要修改它; 6)重启动后在XP启动菜单那儿选择ubuntu即可; 本节学习了XP双系统中用grldr引导Ubuntu中的基本方法,如果你成功地完成了练习,请继续学习下一课内容; 注意: grldr 和 menu.lst 是一对, menu.lst 在 /boot/grub/menu.lst , grldr 会自动搜索 menu.lst, live cd 的/boot 和安装的/boot 是不同的, 进入live cd后根据分区大小找到安装的 /boot/grub/meu.lst, 附:10.04 及以后的 menu.lst 代码: default 0 timeout 5 title Ubuntu 10.04, kernel 2.6.32-21-generic root (hd0,8) chainloader +1 boot title Ubuntu 10.04 root (hd0,8) kernel /boot/grub/core.img boot title Ubuntu 10.04 root (hd0,8) kernel /vmlinuz ro root=/dev/sda9 initrd /initrd.img boot title Ubuntu 10.04 root (hd0,8) kernel /boot/vmlinuz-2.6.32-24-generic ro root=/dev/sda9 initrd /boot/initrd.img-2.6.32-24-generic boot 如果 /boot 是单独分区,则要去掉路径里的 /boot,如 代码: title Ubuntu 10.04 root (hd0,8) kernel /grub/core.img boot grub4dos 会找到并使用 linux 分区里的 menu.lst,所以不需要往 c 盘拷贝 menu.lst,除非遇到 linux 分区在大磁盘的末尾而恰好 bios 太老无法访问到那片区域的情况,如果是那样的话,光拷个 menu.lst 也没用,需要把内核和 initrd 一起拷过来,然后修改 c:\menu.lst ,从 windows 分区加载内核和 initrd。 8.10 出了点新情况,grub 新增了 uuid 命令,grub4dos 不再完全兼容新的 grub 了,它看不懂 menu.lst 里的 uuid 行,所以如果要往 c 盘拷 menu.lst,就要把 uuid 行改成老式的 root (hdx,y);如果不拷 menu.lst,把 linux 分区里 menu.lst 的 uuid 行注释掉就好。这样做还有问题,因为下次升级内核生成新的启动项的时候 menu.lst 里会新增新内核的启动项,仍然是使用 uuid 命令的,你要再次注释掉它;如果是拷贝 menu.lst 到 c 盘的,更麻烦,每次安装新内核以后要自己手动更新 c:\menu.lst。所以针对 8.10 的新情况,建议的方案是: 在 c:\ 下放置 grldr,修改 boot.ini; c:\ 下自建 menu.lst,写 title ubuntu root (hdx,y) #这里填 ubuntu grub (分区引导扇区代码)被安装到的分区 chainloader +1 就好了。从 grub4dos 又转入 ubuntu 的 grub,不用改变 ubuntu 的 menu.lst,也不用操心以后升级内核的事了--ubuntu 的 grub 总是明白 ubuntu 的 menu.lst 的。 |
|