操作系统学习笔记 006 源码安装GRUB
安装之前
# which grub-install
/usr/sbin/grub-install
# update-grub ;重新生成GRUB的启动菜单配置文件
执行后启动无变化
下载GRUB
下载地址:http://www.gnu.org/software/grub/grub-download.html
下载地址:ftp://ftp.gnu.org/gnu/grub/
下载文件:grub-2.00.tar.gz
安装依赖项
# apt-get install m4 bison flex
解压编译
# tar zxvf grub-2.00.tar.gz
# ./configure
# make
错误1:http://lists.gnu.org/archive/html/help-grub/2013-07/msg00055.html
#if defined gets //添加代码
#undef gets
_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
#endif //添加代码
错误2:No such file or directory #include <freetype/ftsynth.h>
# grep -rn "<freetype" ./
-r 递归查找
-n 显示行号
./ 当前目录
将相应文件中的freetype改成freetype2。
# make install
安装之后
# which grub-install
/usr/local/sbin/grub-install
重新启动,启动界面无变化
# update-grub ;重新生成GRUB的启动菜单配置文件
除了启动项变了,界面也变了,粉紫色背景没有了,为什么?
修改GRUB
找到highlighted相关的代码,在highlighted后面添加一个特殊字符串
# make
# make install
重新启动,启动界面无变化,修改无反映
# update-grub
重新启动,启动界面无变化,修改无反映
# grub-install --boot-directory=/boot/ /dev/sdb
重新启动,修改得到反映
格式化U盘
# fdisk -l ;查看磁盘列表及分区状态
# umount /dev/sdc1
# fdisk /dev/sdc ;开始U盘分区
# mkdir -p /media/zhuyc/u
# mount /dev/sdc1 /media/zhuyc/u/
安装到U盘
# grub-install --boot-directory=/media/zhuyc/u/ /dev/sdc
# grub-mkconfig -o /media/zhuyc/u/grub/grub.cfg
U盘引导,出现GRUB界面,之前GRUB的修改得到反映
再次修改GRUB
# make
# make install
# umount /dev/sdc1
# mount /dev/sdc1 /media/zhuyc/u/
# grub-install --boot-directory=/media/zhuyc/u/ /dev/sdc
U盘引导,出现GRUB界面,修改再次得到反映