当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 284 篇帖子 ]  前往页数 1, 2, 3, 4, 5 ... 19  下一页
作者 内容
1 楼 
 文章标题 : grub2 基础教程(续)
帖子发表于 : 2009-09-09 9:02 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 19
教程 pdf 文件下载

viewtopic.php?f=139&t=229387

google 文档-修订版,修正部分错误,并添加脚本区新增内容
http://docs.google.com/Doc?docid=0AeVQ5 ... VoYw&hl=en


_________________
Grub2 基础教程


最后由 smallapple 编辑于 2010-02-18 9:35,总共编辑了 12 次

页首
 用户资料  
 
2 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 9:02 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 19
一、grub.cfg详解(红色为说明)

说明:grub.cfg默认为只读,需要个性化配置文件的,建议不要直接修改grub.cfg,请参考链接的pdf文档和google文档。

set default=0
#默认为0
insmod jpeg
#添加jpg支持,如要使用png或tga文件做背景,加上 insmod png或insmod tga
insmod ext2
#除了用作启动的分区外,其他分区格式可在menu底下再添加
set root=(hd0,7)
#设定root分区
search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3
#设定uuid=****的分区为root,和上句重复,可删除
# 以下为终端配置
if loadfont /usr/share/grub/unicode.pf2 ; then
#设置终端字体,unicode.pf2支持中文显示
set gfxmode=640x480
#设置分辨率,默认为 640x480,可用800x600,1024x768,建议跟你想设定的图片大小一致
insmod gfxterm
#插入模块 gfxterm,支持中文显 示,它还支持 24 位图像
insmod vbe
#插入 vbe 模块,GRUB 2 引入很多模块的东西,要使用它,需要在这里加入
if terminal_output gfxterm ; then true ; else
# For backward compatibility with versions of terminal.mod that don't
# understand terminal_output
terminal gfxterm
#设置 GRUB 2 终端为 gfxterm
fi
fi
set timeout=10
background_image (hd0,7)/boot/images/1.jpg
#设置背景图片
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=cyan/black
#这两行为 Debian 下的菜单颜色设置,如果默认的话,你会发现背景完全被蓝色挡住了,你需要修改 blue 为 black,这样背景就会出现
### END /etc/grub.d/05_debian_theme ###

# 10_linux 为自动添加的当前root分区linux引导项
### BEGIN /etc/grub.d/10_linux ###
#菜单项,要包括 menuentry 双引号" " 和大括号 { }才完整,否则不显示菜单
menuentry "Ubuntu, Linux 2.6.31-9-386" {
insmod ext2
set root=(hd0,7)
search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3
#这句与set root=(hd0,7)重复,可删除
linux /boot/vmlinuz-2.6.31-9-386 root=UUID=f255285a-5ad4-4eb8-93f5-4f767190d3b3 ro quite splash
#不喜欢看到一长串的, roo=UUID=***可用root=/dev/sda7代替
initrd /boot/initrd.img-2.6.31-9-386
}
### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_memtest86+ ###
menuentry "Memory test (memtest86+)" {
linux16 /boot/memtest86+.bin
}
### END /etc/grub.d/20_memtest86+ ###

# 自动添加存在于其他分区的系统引导项
### BEGIN /etc/grub.d/30_os-prober ###
#windows 启动菜单
menuentry "Windows Vista (loader) (on /dev/sda1)" {
insmod ntfs
#windows格式为ntfs,或为fat32改为 insmod fat
set root=(hd0,1)
search --no-floppy --fs-uuid --set ece067d2e067a196
#可删除
#grub2比较先进的地方就是如果发现windows启动是通过ntldr 引导的,定为2000/xp/2003,会在这加上 drivemap -s (hd0) ${root} ,作用相当于grub的map,可正常启动非第一硬盘的xp/2003系统。
chainloader +1
}
# 查找到其他分区上的linux系统并自动添加
menuentry "Ubuntu karmic (development branch) (9.10) (on /dev/sda3)" {
insmod ext2
set root=(hd0,3)
search --no-floppy --fs-uuid --set 4d893970-0685-44ed-86b3-1de45b2db84a
linux /boot/vmlinuz-2.6.31-9-generic root=/dev/sda3
initrd /boot/initrd.img-2.6.31-9-generic
}
#若存在macos会自动在这里添加。
### END /etc/grub.d/30_os-prober ###
# 以下为手动添加的菜单项
### BEGIN /etc/grub.d/40_custom ###
menuentry "CDLinux"{
set root=(hd0,8)
linux /CDlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8
initrd /CDlinux/initrd
}
### END /etc/grub.d/40_custom ###

# 手动添加时,硬盘编号从0开始(hd0),主分区编号从1开始(hd0,1),逻辑分区从5开始(hd0,5)
二、grub2终端部分命令介绍
在出现选择菜单时,按C进入终端命令行模式,按E进入当前菜单项编辑模式(和grub一样),编辑中按Ctrl + C退出,按Ctrl + X 以编辑内容启动。

1. help
查看命令用法,显示所有可用命令
help search
search 命令用法
2. ls
列出当前的所有设备。如 (hd0) (hd0,1) (hd0,5) (hd1) (hd1,1) (hd1,2) .......
ls -l
详细列出当前的所有设备。对于分区,会显示其label及uuid。
ls /
列出当前设为root的分区下的文件
ls (hd1,1)/
列出(hd1,1)分区下文件
3. search
search -f /ntldr
列出根目录里包含ntldr文件的分区,返回为分区号
search -l LINUX
搜索label是LINUX的分区。
search --set -f /ntldr
搜索根目录包含ntldr文件的分区并设为root,注意如果多外分区含有ntldr文件,set 失去作用。
4. loopback
loopback命令可用于建立回放设备,如
loopback lo0 (hd1,1)/abc.iso

可以使用lo0设备来访问abc.iso里的内容,比如说,可以从abc.iso里的软盘映像中启动
loopback lo0 (hd1,1)/aa.iso
linux (lo0)/memdisk
initrd (lo0)/abc.img

要删除某一回放设备,可以使用-d参数:
loopback -d lo0
5. set
使用set可以设置变量的值
set root=
set timeout=
需要调用变量的值时,使用${AA},如set root=(hd1,1)
则${root}=(hd1,1)
6. pager
分页显示。
set pager=1
满页时暂停,按space继续
set pager=0
取消分页
7. linux
linux取代grub中的kernel

(以后补充)


_________________
Grub2 基础教程


最后由 smallapple 编辑于 2010-02-18 9:36,总共编辑了 2 次

页首
 用户资料  
 
3 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 9:11 
头像

注册: 2007-04-14 11:17
帖子: 1035
送出感谢: 0 次
接收感谢: 2
这么快就用上了。。。。
输出成pdf保存备用。。。。
保存txt,终端下看。。。。


最后由 dwl301 编辑于 2009-09-09 9:16,总共编辑了 1 次

页首
 用户资料  
 
4 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 9:15 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 19
哈哈,A4时就用上了。


_________________
Grub2 基础教程


页首
 用户资料  
 
5 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 9:38 
头像

注册: 2008-08-31 19:26
帖子: 276
送出感谢: 0 次
接收感谢: 0 次
mark下!


页首
 用户资料  
 
6 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 9:43 

注册: 2006-09-07 22:51
帖子: 849
送出感谢: 0 次
接收感谢: 0 次
为什么不能越来越简单,而是越来越复杂!!


_________________
blog:http://wkt55555.blog.163.com/


页首
 用户资料  
 
7 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 9:54 
头像

注册: 2009-04-09 15:06
帖子: 673
送出感谢: 0 次
接收感谢: 13
学习一下,还不敢用


页首
 用户资料  
 
8 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 10:25 
头像

注册: 2007-05-06 2:46
帖子: 15634
送出感谢: 0 次
接收感谢: 2
笔记

以备不时之需

:em06


页首
 用户资料  
 
9 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 10:35 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 19
三、
单linux系统或
硬盘安装时iso放在C盘,umount /isodevice引起的误认为单系统
不能出现菜单项的几种处理方法。
1. 开机自检后时按几下shift键,可调出菜单项
2. sudo update-grub
重建grub.cfg,会发现新的系统而改写grub.cfg,一般能出现菜单项。
3.如第二种方法不能解决,直接修改grub.cfg
把在### BEGIN /etc/grub.d/30_os-prober 中的这一段
if keystatus; then
if keystatus --shift; then
set timeout=-1
else
set timeout=0
fi
else
if sleep$verbose --interruptible 3 ; then
set timeout=0
fi
fi
删除或修改三处set timeout=<大于0>


_________________
Grub2 基础教程


页首
 用户资料  
 
10 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 18:04 

注册: 2008-05-03 23:42
帖子: 3681
送出感谢: 4
接收感谢: 6
做个记号。将来学习。


页首
 用户资料  
 
11 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 18:06 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
billbear 写道:
做个记号。将来学习。

熊哥也来学习了,某家也来跟进了。 :em03
小苹果出教程了,很好,很强大,很及时,标记顶之。 :em11


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
12 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 18:21 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 19
billbear 写道:
做个记号。将来学习。

熊哥都这样说...... :em03 :em03 :em03


_________________
Grub2 基础教程


页首
 用户资料  
 
13 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 18:25 
头像

注册: 2008-12-13 19:39
帖子: 13284
地址: 物华天宝人杰地灵
送出感谢: 1
接收感谢: 6
引用:
set root=(hd0,7) #设定root分区
search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3 #设定uuid=****的分区为root,和上句重复,可删除

如果同样的硬盘,换到另一台机器上,照这种写法,不修改能否直接启动? :em01


_________________
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!


页首
 用户资料  
 
14 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 18:34 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 19
四、双硬盘双系统 Grub Loading时间过长的解决方案

grub2的boot.img设定root的uuid从第一分区开始搜索分区的/boot/grub下的模块并加载, 如果linux分区处于第二硬盘甚至第三硬盘,会导致搜索时间过长而,出现菜单时间会长达10多秒。
对双(多)硬盘的情况建议把grub安装在ubuntu所在硬盘的mbr上,/boot分区或 / 分区 尽量靠前,并设该硬盘为启动盘,会大大缩短启动时间。


_________________
Grub2 基础教程


最后由 smallapple 编辑于 2009-09-09 21:35,总共编辑了 1 次

页首
 用户资料  
 
15 楼 
 文章标题 : Re: grub2配置文件详解及部分命令用法介绍
帖子发表于 : 2009-09-09 18:37 
头像

注册: 2009-03-28 15:12
帖子: 7867
送出感谢: 2
接收感谢: 19
wangdu2002 写道:
引用:
set root=(hd0,7) #设定root分区
search --no-floppy --fs-uuid --set f255285a-5ad4-4eb8-93f5-4f767190d3b3 #设定uuid=****的分区为root,和上句重复,可删除

如果同样的硬盘,换到另一台机器上,照这种写法,不修改能否直接启动? :em01


可以,重复的写法就是如果硬盘分区号变化,比如移到其他电脑上,uuid不变时能正常启动。


_________________
Grub2 基础教程


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 284 篇帖子 ]  前往页数 1, 2, 3, 4, 5 ... 19  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译