操作系统学习笔记 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

错误1http://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界面,修改再次得到反映

原文地址:https://www.cnblogs.com/zhuyingchun/p/4928816.html