无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 316123|回复: 458
打印 上一主题 下一主题

GRUB学习讨论专用贴,严禁灌水,违者删除!!!!!!!!

[复制链接]
跳转到指定楼层
1#
发表于 2004-11-19 20:18:17 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
[这个贴子最后由hnlyzhd在 2006/03/10 12:35pm 第 12 次编辑]

GRUB确实有很好的功能,有太多朋友不了解GRUB,所以在此开设GRUB专区,供大家学习交流,欢迎各位大侠发表意见!!!!!
***************************
严禁灌水,违者删除!!!!!!
***************************
★★★最新版GRUB4DOS下载
★★★


★★★GRUB中文主页★★★
####################################################################
常见GRUB相关问题精华贴(汇总)
1.GRUB怎么样做到光盘上去呢?用什么写到MBR里?
2.用GRUB开始引导的多重启动光盘?
3.GRUB多重启动管理器(入门教学文章)
4.ISOGRUB.BIN功能完善版.....

####################################################################

GRUB简体中文化版使用方法

by Gandalf<f22_storm@163.com>   
一.功能概述

 
    在本源上, Grub 是Linux的一个载入程序,正如 NTLDR 之于 Windows NT/2K/XP. 但是,它却拥有多引导的功能,而且还在不断得发展与完善之中. 当前,它的新功能如下:
1. 支持中文显示,背景图片;
2. 支持软盘虚拟功能,可以用以引导系统;
3. 支持硬盘虚拟,磁盘的映射(当然,还能激活/隐藏/创建分区);
4. 支持网络启动(包括网络虚拟软盘);
5. 支持光驱启动(拥有一个独立与BIOS的ATAPI设备的驱动程序);
6. 跨平台的支持;
7. 对多引导文件的支持;
 

二.基本概念及界面说明

 
A.基本概念
1. GRUB 里的设备命名法则
    它使用了UNIX对设备的命名方法.比如我们拥有两块硬盘,那么采用这种形式(hdx,y), 这里,x,y, 都是从0开始计数的.所以两块硬盘是 (hd0,y),(hd1,y). 他们位于第一个IDE接口上.
(注, C: 为第一主分区, 其他分区是扩展分区.由于主分区只能有四个,即 0,1,2,3, 所以第一个扩展分区的编号从 4 开始.)
    这是硬盘,那么光驱哪? 对,采用 (cd) 就可以了. 网络设备使用 (nd). 我估计,以后支持usb以后,可以使用 (ud). ;-)  欢迎你的参与,我们的开发还在继续.
    那么,这里就要提及 GRUB 里的一个很首要的概念了, 即 "根(/)", 或者 root. 其实,它就是一个源一样的东西,与草木的"根"相类似. 在GRUB中,其它的文件对象都域于此. 所以,一旦你指定了一个根,后续的操作除非显示地说明,否则都是对"根"而言的.  
    其实在某种意义上来说,和相对/绝对路径有点关联性. ;-)   正如,你所猜到的那样, GRUB 使用 root 命令来指定根设备(通常都是文件系统).
B. 命令和参数
    在古老的 dos 时代,这两个东东是很平常的. 可以认为,命令是程序的名称,参数是告诉程序如何作和怎么作.比如在 Grub 的控制台里:
GRUB>help scdrom
那么, help 就是命令, 而 scdrom 就是参数了. 它的意思是"给出 scdrom 命令的帮助信息."
C. 界面说明
    首先,引导程序应该简单易用,菜单加鼠标是不错的主意.是的, GRUB 支持自定义的菜单选择功能项;但当前来说,它还不能支持鼠标的点选. 另外,为了更灵活, GRUB 还可以动态地编辑菜单项,这就是它的控制台功能(在控制台里,你可以使用 `ESC`键返回到主选菜单界面).
D. 关于菜单脚本文件
    与 Windows NT 类似, GRUB 也提供了一个菜单生成文件,我们常称之以脚本.
    通常情况下,我们把 GRUB 要用到地文件都放到 /boot/grub/ (这里我们省略了对根设备的指定, 所以完整的表示可能是 (hd0,0)/boot/grub ). 而菜单文件的默认名称是 menu.lst.  这里应该说明的是, 菜单文件里的注释是以"#"开头的, 而每一项菜单都必须指定一个标题(title),否则不但不能被显示出来,反而还作为了上一项的命令了.
三.功能详情及使用
1. 支持中文显示,背景图片;
   1).中文的显示, 请使用:
         fontfile FILE
      实例:             fontfile (hd0,0)/boot/grub/fonts
   2). 背景图的使用:
      splashimage FILE
      实例:             splashimage   (hd0,0)/boot/grub/bj2008.xpm.gz
    3).  图形菜单( gfxmenu ) 的使用:
        gfxmenu FILE
      实例:             gfxmenu (hd0,0)/boot/grub/grub_chs.msg
   [注] fontfile 的文件必须是 16 点阵字库;
        splashimage 的文件必须是 640x480 14 色的 XPM 格式, 支持zip压缩;
        gfxmenu 的文件当前只能使用 Linux 下的 mkbootmsg 工具生成.
2. 支持软盘虚拟功能,可以用以引导系统;
    1). 使用 MEMDISK
      kernel (hd0,0)/boot/grub/memdisk.gz
      initrd (hd0,0)/boot/grub/win99.zip
      boot             此项仅在命令行中使用,在菜单文件里无需指定)
    2). 使用内建的 MAP
      map (hd0,0)/boot/grub/win99.img (fd0)
      map --hook
      chainloader (fd0)+1
      rootnoverify (fd0)
      boot                                (同上)
   [注] + 使用 memdisk 有很多好处. 首先它不需要磁盘镜像文件的连续存放,支持网络上,光盘上的磁盘镜像文件, 而且此文件可以使用 zip 压缩格式. 如果磁盘文件的原始大小不是 1.44/2.88MB, 那么,使用起来,就有一些技巧了:
     1). 默认情况下, 将被视为硬盘的镜像文件(与使用 harddisk 效果相同, 故通常不用指定此参数);
     2). 如果是软盘镜像文件,请使用 floppy 参数, 比如:
      kernel (hd0,0)/boot/grub/memdisk.gz c=274 h=2 s=18 floppy
      initrd (hd0,0)/boot/acronis/pe.zip
      boot                                (同上)
         => 提示:可以使用新版的 Winimage 获取上述的 C/H/S 参数.
        + 用 MAP 命令是,磁盘镜像文件必须连续存放,大小上无限制.但是不支持网络/光盘上的文件,且不支持 zip 压缩了的文件.
3. 支持硬盘虚拟,磁盘的映射(当然,还能激活/隐藏/创建分区);
    就硬盘虚拟功能而言, 在上一个段落里,我们已提及到了, 在应用上, 我们可以构造一个虚拟的磁盘环境来, 但是, 这个磁盘的访问是通过对 INT 13 的挂接来进行的, 这也就是为什么, 我们可以虚拟一个安装有 DOS/Win9X 的硬盘, 而对 Windows NT/2K/XP 就无能为力了, 即便是他们的恢复控制台(cmdcons).
而“磁盘的映射”, 通常不用, 故而也就不再此处讨论了.
4. 支持网络启动(包括网络虚拟软盘);
      ifconfig --address=192.168.0.122        (本机使用的 IP 地址)
      ifconfig --mask=255.255.255.0           (子网掩码)
      ifconfig --gateway=192.168.0.254      (网关的 IP 地址)
      ifconfig --server=192.168.0.1             (tftp 服务器的 IP 地址)
      kernel (nd)/memdisk.gz
      initrd (nd)/win99.gz                          (可以使用 zip 压缩的文件)
      boot                                (同上)
 

5. 支持光驱启动(拥有一个独立与BIOS的ATAPI设备的驱动程序);
    1). 如何让GRUB识别光驱
    scdrom --install
    安装成功后, 你可以将 root 设备指定到光盘上(root cd), 访问光盘上的内容(比如指定 memdisk:    kernel  (cd)/memdisk, 等等)
    2). 如何跳转到光驱启动
    scdrom --bootcd
    这是"一去不复返"式的跳转, 如果成功的话. 如果失败,将返回 GRUB.
6. 跨平台的支持;
    1). 在纯 DOS 下运行GRUB
    使用配套的 GRUB.exe 程序.
    2). 从光盘上直接启动GRUB(必须是非模拟方式的)
    使用配套的 stage2_eltorito 文件作为启动文件.
    3). 在 Linux 上运行 GRUB
    使用配套的 grub 程序(elf 格式)即可. 可能需要修改运行权限(chmod a+x grub).
    4). 无盘启动 GRUB
    使用配套的 nbgrub/pxegrub 即可.
  * 5). 使用 WinNT/2K/XP/LH 的引导器(NTLDR)载入GRUB *
    使用配套的 grldr 即可.
        如何作:
        首先, 你一定要确认你的系统拥有 NTLDR 的引导功能, 然后打开它的配置文件( boot.ini, 这个文件通常在你的 "c:\"),进行修改. 请为 GRUB 新添如下一行到文件的末尾(注意, 请另起一行)
       C:\GRLDR="Boot Grub with Full Set", 然后保存之.
当然你可能会得到信息说文件是只读的, 请修改它的属性后,再保存. 随后,请把压缩包里的 grldr 解到 C:\ 就可以了.

7. 对多引导文件的支持
    我们假设文件所用到的文件位于 C:\ (hd0,0)
    1). 硬盘扇区文件
       root (hd0,0)                        (对使用硬盘的时候,一定要使用 hd, 这样才会传递引导盘符为 80H)
       root                                    (显示说明磁盘为 80H)
       run /peloader.bin                  (运行之)

    2). 光盘非模拟方式的引导文件

      scdrom --install                       (初始化,安装光盘驱动)
      root (cd)                              (指定引导盘符的操作)
      root                                     (显示说明磁盘为 80H)
      run (hd0,0)/emurtosk.bin        (运行之)

* 注:   所指定的文件要小于 32768 字节.

[ 本帖最后由 天风 于 2010-2-22 16:12 编辑 ]
M
461#
发表于 2010-8-7 23:04:43 | 只看该作者
有什么工具可以修改
GRUBMENU.exe 里面的MENU.LST菜单呀?或者把 MENU.LST菜单添加到GRUBMENU.exe里面呢?
回复

使用道具 举报

460#
发表于 2010-7-31 13:16:12 | 只看该作者
一次跟笔记本做系统,原来是linux后来我改成XP但是问题出现了,做完重启提示GRUB而且没有办法输入命令,但是用U盘可以启动,重写MBR解决了,原来GRUB可以写入MBR,这还真是一个惊喜。
回复

使用道具 举报

459#
发表于 2010-7-2 22:05:29 | 只看该作者

GRUB学习讨论专区,严禁灌水,违者删除!!!!!!!!

就是dos下写入硬盘主引导后(bootlace.com 0x80),启动电脑有一个5秒等待,再启动到grub4
dos的引导画面,(不是多引导启动系统的那个),请问怎么去掉啊。或者有什么好的方法吗。
还有就是dos安装不写主引导可以吗,功能一样吧 转发 - 标记未读 - 下载 - 删除 - 关闭
回复

使用道具 举报

458#
发表于 2010-6-26 10:35:13 | 只看该作者
timeout 10
default 2
gfxmenu /message
configfile /gfldrlst

title....................
------------------------------------------------------------------
gfxmenu  已经把timeout ,default 拿到gfxmenu前面了,但只有timeout起作用,default 2不起作用,一直是第一条菜单启动,用grub4dos4.5也是一样。

大家都是这样吗?
回复

使用道具 举报

457#
发表于 2010-6-14 16:08:11 | 只看该作者
这个一直用着很强大哦
回复

使用道具 举报

456#
发表于 2010-4-27 11:15:55 | 只看该作者
学习了,要学的东西实在是太多了,喜欢西门大哥的作品。
回复

使用道具 举报

455#
发表于 2010-3-20 12:32:09 | 只看该作者
跟着天风能学好多有用的东西。谢谢天老大。
回复

使用道具 举报

454#
发表于 2010-3-13 19:01:35 | 只看该作者
GRUB4DOS引导ISO镜像貌似有些问题,进入一些LIVECD可以用ISO-SCAN/FILENAME=来确定ISO文件位置正常引导,但是其他的ISO镜像貌似就有些问题了。。要不进不了系统,要不就是进入LINUX之后卡在命令行界面, 如CDLINUX就提示找不到linux安装在那个位置。似乎MAP了ISO镜像在进入系统之后就不再MAP了。。
P.S.我是将GRLDR改名为NTLDR放在了移动硬盘根目录引导GRUB4DOS的,这样应该没什么问题吧。。
刚接触GRUB4DOS,以上疑问还请各位解答。。。附上我的MENU.LST
color blue/green yellow/red white/magenta white/magenta
timeout 30
default /default


title WinPE
chainloader /WINPELDR
boot


title WinPE Server 2003
chainloader /PE2K3LDR
boot


title CDLinux
kernel /cdlinux/bzimage
initrd /cdlinux/initrd
boot


title YLMF Linux LiveCD
find --set-root /OS/Ylmf_OS_Final.iso
map /OS/Ylmf_OS_Final.iso (hd32) || map --mem /OS/Ylmf_OS_Final.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/os/Ylmf_OS_Final.iso
initrd (hd32)/casper/initrd.lz
boot


title Ubuntu LiveCD
find --set-root /OS/ubuntu-9.10-desktop-i386.iso
map /OS/ubuntu-9.10-desktop-i386.iso (hd32) || map --mem /OS/ubuntu-9.10-desktop-i386.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/os/ubuntu-9.10-desktop-i386.iso
initrd (hd32)/casper/initrd.lz
boot


title YLMF Windows XP
find --set-root /OS/YlmF_XP3_YN9.9.iso
map /OS/YlmF_XP3_YN9.9.iso (0xff) || map --mem /OS/YlmF_XP3_YN9.9.iso (0xff)
map --hook
chainloader (0xff)
rootnoverify (0xff)
boot


title Deepin Windows XP
find --set-root /OS/DEEPIN_XPSP3_V9F_NTFS.iso
map /OS/DEEPIN_XPSP3_V9F_NTFS.iso (0xff) || map --mem /OS/DEEPIN_XPSP3_V9F_NTFS.iso (0xff)
map --hook
chainloader (0xff)
rootnoverify (0xff)
boot

title --------------------------------FOR TEST..---------------------------


title CDlinux
find --set-root /OS/CDlinux_CE-0.9.5.iso
map /OS/CDlinux_CE-0.9.5.iso (0xff) || map --mem /OS/CDlinux_CE-0.9.5.iso (0xff)
map --hook
chainloader (0xff)
rootnoverify (0xff)
boot


title Puppy Linux TESTING
kernel /puppy/vmlinuz root=/dev/ram0 PMEDIA=usbflash
initrd /puppy/initrd.gz
boot


title Puppy Linux
find --set-root /OS/puppy-431.ISO
map /OS/pup-431.ISO (0xff) || map --mem /OS/pup-431.ISO (0xff)
map --hook
rootnoverify (0xff)
#find --set-root /pup-431.sfs
#kernel /vmlinuz root=/dev/ram0 pmedia=cd
kernel /vmlinuz iso-scan/filename=/os/pup-431.iso
initrd /initrd.gz
boot


title Geexbox
kernel /geexbox/boot/vmlinuz root=/dev/ram0 rw init=linuxrc boot=sda1 lang=zh_CN remote=atiusb receiver=atiusb keymap=qwerty vga=789 video=vesafb:ywrap,mtrr
initrd /geexbox/boot/initrd.gz
boot


title GeeXboX
kernel /geexbox/boot/vmlinuz root=/dev/ram0 rw init=linuxrc boot=sda lang=zh_CN remote=atiusb receiver=atiusb keymap=qwerty splash=silent vga=789 video=vesafb:ywrap,mtrr
initrd /geexbox/boot/initrd.gz
boot


title ------------------------FOR TEST END-----------------------------------


title MultiDOS
find --set-root /OS/MultiDOS.iso
map /OS/MultiDOS.iso (0xff) || map --mem /OS/MultiDOS.iso (0xff)
map --hook
chainloader (0xff)
rootnoverify (0xff)
boot


title DOSGhost
find --set-root --ignore-floppies /OS/DOSGhost.IMG
map --mem /OS/DOSGhost.IMG (fd0)
map --hook
chainloader (fd0)+1
rootnoverify (fd0)


title GRUB2
chainloader /g2ldr.mbr
boot


title commandline
commandline


title reboot
reboot

title halt
halt
回复

使用道具 举报

453#
发表于 2010-3-10 22:18:04 | 只看该作者
原帖由 stwwwst 于 2005-4-1 18:53 发表
sssss

发现有灌水的了。。。我不是啊 ,我在学习中。天老大的空间是多少啊?
回复

使用道具 举报

452#
发表于 2010-1-14 22:12:36 | 只看该作者
长寿贴啊!!!想好好学学grub..
回复

使用道具 举报

451#
发表于 2009-12-12 16:44:29 | 只看该作者
发一个详细的使用教程。偶现在系自己摸索了。。
回复

使用道具 举报

450#
发表于 2009-11-9 16:41:38 | 只看该作者
我以前一直在用EZBOOT。看了这个,好像有点别的感觉了
回复

使用道具 举报

449#
发表于 2009-10-11 11:34:46 | 只看该作者
到论坛三天了。终于了解了一点点grub了。这东西好深奥哦!:)
回复

使用道具 举报

448#
发表于 2009-9-7 12:24:48 | 只看该作者
有点难不过我很努力的在吸收,,谢谢大虾啊。强加支持!
回复

使用道具 举报

447#
发表于 2009-8-14 11:40:45 | 只看该作者
正在学习中,慢慢来
回复

使用道具 举报

446#
发表于 2009-8-3 02:43:38 | 只看该作者
为了技术还是没免了学习啊!没办法,心中有迷惑睡不好!
回复

使用道具 举报

445#
发表于 2009-8-1 01:18:21 | 只看该作者
看了一遍 可是还是很朦胧 看来还是需要多学习基础知识
回复

使用道具 举报

444#
发表于 2009-6-13 13:59:08 | 只看该作者

回复 #445 rmoon 的帖子

那好像就只有先引导进入ghost了好像


不过我还是有一个问题,vista引导进入grub之后
无法再通过grub再行引导进入另一硬盘的xp
这是什么原因啊??
回复

使用道具 举报

443#
发表于 2009-6-3 12:41:26 | 只看该作者

求助:如何用grub加载硬盘镜像gho文件?

求助:如何用grub加载硬盘镜像gho文件?
回复

使用道具 举报

442#
发表于 2009-4-27 21:47:59 | 只看该作者
grub能否直接调用bcd??不能绕过bootmgr来调用吗?
回复

使用道具 举报

441#
发表于 2009-4-26 19:00:37 | 只看该作者
原帖由 Climbing 于 2009-4-23 13:19 发表
grub4dos中的halt命令确实在很多新机器上会导致死机(而不是正常关机),这是已知问题,没有解决方案。


谢谢C版解答!
回复

使用道具 举报

440#
发表于 2009-4-24 10:50:55 | 只看该作者

回复 #1 天风 的帖子

可以,顶一个吧,有没更好的哟!
回复

使用道具 举报

439#
发表于 2009-4-23 13:19:29 | 只看该作者

回复 #439 go2 的帖子

grub4dos中的halt命令确实在很多新机器上会导致死机(而不是正常关机),这是已知问题,没有解决方案。
回复

使用道具 举报

438#
发表于 2009-4-17 16:30:57 | 只看该作者
我是个新手,向各位高手们学习学习!
回复

使用道具 举报

437#
发表于 2009-4-16 00:13:42 | 只看该作者
各位大侠,不知有没遇到grub4dos0.4.4 halt死机的。

厦新笔记本,用grldr改名为ntldr引导,用halt命令电脑死 机。(因为电脑是别人的,装完后急着拿走,没有错误报告)

不知有没大侠遇到相同情况?
回复

使用道具 举报

436#
发表于 2009-4-8 17:37:26 | 只看该作者
晕,今天才发现这有个GRUB专区!
gfxmenu好象不支持虚拟机测试?
回复

使用道具 举报

435#
发表于 2009-3-12 12:15:39 | 只看该作者
GRUB更新很快啊!一天更新一次??
回复

使用道具 举报

434#
发表于 2009-3-11 22:14:54 | 只看该作者
这贴也太久没更新了吧?好多地址都早变量。
回复

使用道具 举报

433#
发表于 2009-1-19 22:13:13 | 只看该作者
无忧启动里讨论的技术确实超前, 赞下!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-28 17:45

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表