Ubuntu 11.10下GRUB 2 1.99版编译安装笔记(2)

Disk /dev/sdb: 8005 MB, 8005787648 bytes
255 heads, 63 sectors/track, 973 cylinders, total 15636304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00432a3c

Device Boot      Start         End      Blocks   Id  System
/dev/sdb1              63    15636303     7818120+   b  W95 FAT32

U盘所在的是 sdb1,这一点一定要确定。

# grub-install --root-directory=/media/24F2-511F/ /dev/sdb  //给U盘安装启动文件MBR

说明:/media/24F2-511F/  一般U盘挂载后,在ubuntu中放在根目录 /media中,后面的数字是U盘的盘符,

/dev/sdb  是U盘物理设备 sdb 是整个磁盘  sdb1是磁盘分区,“我的理解”

Installation finished. No error reported.

# grub-install --root-directory=/media/24F2-511F/ /dev/sdb1 //给U盘拷贝文件 注意:后面多加了“1”

/usr/local/sbin/grub-setup: warn: Attempting to install GRUB to a partitionless disk or to a partition.  This is a BAD idea..
/usr/local/sbin/grub-setup: warn: Embedding is not possible.  GRUB can only be installed in this setup by using blocklists.  However, blocklists are UNRELIABLE and their use is discouraged..
/usr/local/sbin/grub-setup: error: will not proceed with blocklists.

=======================================================================

grub-install 是一个脚本,它完成以下任务:
* 调用 grub-mkdevicemap 创建设备映像文件 /boot/grub/device.map
* 复制 *.mod *.lst *.img 文件到 /boot/grub/
* 调用 grub-probe 自动侦测文件系统类型
* 调用 grub-mkimage 生成grub2内核文件 /boot/grub/core.img
* 调用 grub-setup 安装引导记录到mbr或分区


安装部分完成。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
在/mnt/boot/grub/这个目录下新建一个文本文件grub.cfg。

#vi grub.cfg  //可以什么都不写

Esc键 按“”按qw字母保存退出

#cp grub.cfg /media/24F2-511F/boot/grub/    //拷贝grub.cfg文件到U盘boot文件夹下grub目录内,编辑是可以用Notepad2  在windows中编辑

字体文件到硬盘的/usr/share/grub/中复制unicode.pf2到/mnt/boot/grub/目录下。目录可能不对

可以通过

#cd /     //退回到根目录

#find -name unicode.pf2    //查找unicode.pf2英文字体,在那个目录然后用cp拷贝到U盘boot下grub下

grub2 1.99 菜单配置

创建grub菜单:把下面加号内的拷贝到grub.cfg即可
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#
# Sample GRUB configuration file
# 设置grub.cfg启动菜单
#
# =============================================================== #
# 启动延长时间,单位“秒”
set timeout=30

# 启动顺序,默认为“0”
set default=1

# 返回菜单到第二条 Fallback to the second entry.
set fallback=1
# =============================================================== #
#加载fat模块,如果你的U盘是其他格式请对应更换,如insmod ntfs
insmod fat
#insmod ntfs
#
#添加jpeg支持,如要使用png或tga文件做背景,加上 insmod png或insmod tga
#insmod jpeg
insmod png
#insmod tga
#
#加载vbe模块,作用不是很清楚
insmod vbe
#
#这一句不太清除,网上没有找到相关资料,加上保险
#set gfxpayload=keep
#
#启用gfxterm模块,分辨率什么的,都靠它
insmod gfxterm
#
insmod font
#insmod video
#
# =============================================================== #
#设置终端字体为英文 unicode.pf2
loadfont /boot/kernel/font/unicode.pf2
#设置终端字体为中文
#loadfont /boot/kernel/font/msyh16b.pf2
#
#设置分辨率\1024x768\800x600\640x480\
#set gfxmode=1024x768
#set gfxmode=800x600
set gfxmode=640x480
#
#将终端设置为gfxterm模式,也就是使上面的分辨率什么的生效,只能放在分辨率下面。
#文字变小。
terminal_output gfxterm
#terminal_output console
#
#设置背景图片
background_image (hd0,1)/boot/kernel/background/bj.png
# =============================================================== #
#菜单中未选中项目的字体颜色(字体颜色/后全背景颜色)
#black (透明,与white是不同的),
#dark-gray, light-gray, white, brown, yellow, red, light-red, blue, light-blue, green, light-green, cyan, light-cyan, magenta, light-magenta.
#
#背景颜色,有图片就不显示,黑色有图时为透明。
set color_normal=black/black
set color_highlight=magenta/black
#选中项目的字体颜色,黑色有图时为透明。
set menu_color_normal=cyan/black
set menu_color_highlight=black/black
# =============================================================== #
# Change the colors.如果看不清可以改变背景颜色
menuentry "Change the colors" {
 set menu_color_normal=light-green/brown
 set menu_color_highlight=red/blue
}
# =============================================================== #
# For booting Microsoft Windows
menuentry "登录Microsoft Windows1" {
 set root=(hd0,1)
  drivemap -s (hd0) ${root}
 chainloader +1
}
# For booting Microsoft Windows
menuentry "登录Microsoft Windows2" {
insmod fat
insmod ntfs
 set root=(hd1,1)
  drivemap -s (hd1) ${root}
 chainloader +1
}
# For booting Microsoft Windows
menuentry "登录Microsoft Windows3" {
 set root=(hd2,1)
  drivemap -s (hd2) ${root}
 chainloader +1
}
# =============================================================== #
# For booting Memtest86+ 内存检测
#menuentry "Memtest86+" {
# set root=(hd0,1)
# linux16 /boot/kernel/mt86plus
#}
# =============================================================== #
# Ubuntu 11.10 DVD光盘版iso文件,从U盘启动,需要光盘内【.disk】和【casper】中的initrd.lz & vmlinuz,两个文件夹放在根目录
menuentry "Ubuntu 11.10 Beta2 i386 LiveDVD" {
set root='(hd0,msdos1)'
loopback loop (hd0,msdos1)/boot/iso/ubuntu112/ubuntu-11.10-beta2-dvd-i386.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/boot/iso/ubuntu112/ubuntu-11.10-beta2-dvd-i386.iso ro quiet splash locale=zh_CN.UTF-8
initrd (loop)/casper/initrd.lz
boot
}
# =============================================================== #
# CDLinux mini 0.9.6.1 最小版,命令行,其中的bzlmage和initrd在光盘中可以找到
menuentry "CDLinux MINI 0.9.6.1" {
linux /boot/iso/cdlinux/bzImage root=/dev/ram0 vga=791 CDL_LANG=zh_CN.UTF-8
initrd /boot/iso/cdlinux/initrd
}
# =============================================================== #
# linux 内核网络安装Linux,因为光盘不支持,所以启动不了
menuentry "NetbootCD-4.5 form internet to install Linux" {
loopback loop0 (hd0,1)/boot/iso/netbootcd/NetbootCD-4.5.iso
set root=(loop0)
chainloader +1
boot
}

# 引导freedos安装光盘,在虚拟机中只有一项能够运行,到dos界面,只是试验用的 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/23410.html