zoukankan      html  css  js  c++  java
  • 如何制作grub启动光盘

    http://whiteyes.blog.hexun.com/9723224_d.html

    将下载得到的grldr直接改名为grldr.bif,然后使用UltraISO新建一个ISO镜像,选择“启动光盘-加载引导信息”加载grldr.bif。
    这是,你新建的ISO镜像已经具备了光盘启动功能,grub菜单文件menu.lst此时应该放在光盘根目录,不然grldr启动后找不到。

    网上不少文章讲述了如何将grub装在软盘上,当硬盘引导信息被破坏时,这张软盘就可以派上用场。但是对于一些没有软驱的用户,或者使用软驱不方便的笔记本用户,如果能用光盘引导系统,则会方便很多。本文将说明如何制作这张光盘。
    首先假设我们有一个运作良好的linux发行版(含cdrtools软件包),cd或dvd刻录机(已经配置好,可以在linux运作正常,关于如何设置,网上的文章很多),grub软件包。
    我的系统是redhat linux 9.0,但这个发行版的grub包中不含有我们最需要的stage2_eltorito文件(这个文件是制作grub启动光盘的最重要的文件)所以我下载了0.95版的grub,地址:ftp://alpha.gnu.org/gnu/grub/grub-0.95.tar.gz
    接下来是安装grub,和多数源码包安装的方式一样,我们需要:
    tar zxvf grub-0.95.tar.gz
    cd grub-0.95
    ./configure
    make
    make install
    好了,grub安装完成(得到了stage2_eltorito,为了节省大家的时间,我提取了这个文件,如果哪位可以上传供大家下载,mail我)
    现在我们这样做,可以得到自己的grub光盘镜像:
    mkdir iso
    mkdir -p iso/boot/grub
    cp /stage2_eltorito所在的路径/stage2_eltorito iso/boot/grub
    cp /boot/grub/menu.lst iso/boot/grub
    mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot -boot-load-size 4 -boot-info-table -o grub.iso iso
    好了,现在grub.iso就是你所需要的镜像了
    然后用cdrecord或者前端把镜像刻在cdr/rw就可以了
    cdrecord -v dev=0,0,0 /grub.iso的路径/grub.iso speed=8
    上面的命令,根据自己的情况修改
    好了,这样我们就得到了一张grub启动光盘。
    当然,由于制作grub启动光盘只需要200多k字节,所以在制作iso的时候,你可以放一些其他有用的东西在iso文件夹下,做成镜像。
    感谢linuxaid的网友“咱们老百姓”提供的原文地址:
    http://www.gnu.org/software/grub/manual/html_node/Making-a-GRUB-bootable-CD-ROM.html

    GRUB怎么样做到光盘上去呢?用什么写到MBR里?
    用EZBOOT在光盘上调用Grub的制作方法!
    1. 把“ISOGRUB.BIN”这个文件放到光盘上的“EZBOOT”目录中。
    2. 把“STAGE2”这个文件放到光盘上的根目录中。
    3. 然后将 Grub 程序文件、IMG 文件和 ZIP 文件按目录放到光盘中。
    4. 然后用“EZBOOT”调用“ISOGRUB.BIN”启动就可以。

    传统的 Grub 在光盘上启动就是用 stage2_eltorito 这个文件,但是必须使用 mkisofs 才行。使用 isogrub.bin 就能摆脱这一限制,但要求是,得把 stage2 这个文件放到光盘的根目录下。 这个 stage2 文件的版本没有要求,比如,你可以使用曾经非常出名的蓝点的 stage2 文件。。。

    软盘上的话,你得这么作:
    在软盘上建立目录   a:\boot\grub\
    然后在其中放入 stage1, stage2, (注意,不能使用支持一键恢复的 stage1 文件)
    接着启动一个 Grub 的命令行, 然后运行:
    grub> root (fd0)    说明, stage1, stage2, menu.lst 所在的位置
    grub> setup (fd0)   安装它
    你可以立即测试:
    grub> chainload (fd0)+1
    grub> boot
    即可。

    无软驱制作带splash的GRUB可引导ISO镜像

    最好能有一个现成的软盘镜像,可以从RedHat安装光盘中提取boot.img。

    将/dev/fd0文件重命名一下或者删除(如果你没有软驱,这个设备根本没有用,况且udev系统会在系统启动时自动创建这个设备文件)。然后将boot.img重命名为/dev/fd0。

    格式化这个镜像:mkfs.ext2 /dev/fd0 挂载/dev/fd0,与挂载设备文件不同的是需要加上回环参数(-o loop)。然后将你现有Linux操作系统的/boot/grub/目录拷贝到挂载的目录下。注意,相对根目录的路径应该也是boot/grub。

    运行grub程序,输入如下命令:
    root (fd0)
    setup (fd0)

    大功告成,现在可以用qemu测试一下这个引导软盘镜像:
    qemu -fda /dev/fd0 -boot a

    这个镜像可以用于刻录可引导的CD光盘。k3b有这个功能。

    轮到splash了。我们的引导光盘自然希望其绚烂多彩。有关打补丁编译grub使其支持splash的方法我就不说了,网上一搜一大把。

    确保你使用的grub是带了splash补丁的,然后找一张你喜欢的图片,最好是640x480的,用gimp稍微编辑一下,然后用如下命令转换一下色深:
    convert splash.jpg -colors 14 splash.xpm gzip splash.xpm

    编辑你的软盘镜像中的/boot/grub/menu.lst,添加如下一句:
    splashimage /boot/grub/splash.xpm.gz

    然后再运行grub:
    root (fd0) setup (fd0)

    OK!下面的事情就是将/dev/fd0保存到你想要它存在的地方,以备下次使用。

    tips 1:你可以再编辑一下你的/dev/fd0中的文件,比如加入一个小型的Linux--哦,你当然可以在ISO中加入一个大型的Linux :-)

    tips 2: 这个ISO有什么用?呵呵,对于我来说,我做它的主要目的就是让它引导我移动硬盘上安装的Linux,走到哪都可以用同一个操作系统。还有一个作用,就是当你的引导区被重装Windows毁灭了的时候,可以用它来轻易恢复--以前我都是用KNOPPIX来恢复的,麻烦!

    ================================
      /\_/\                        
     (=^o^=)  Wu.Country@侠缘      
     (~)@(~)  一辈子,用心做一件事!
    --------------------------------
      学而不思则罔,思而不学则怠!  
    ================================
  • 相关阅读:
    HTML清除浮动的几种形式
    HTML和XML的区别
    CSS选择器的优先级
    CSS选择器
    PHP单文件和多文件的上传(示例)
    单元测试
    定义person类及其子类,并按要求设计、定义和实例化类 (实例)
    CSS的 行内元素 和 块类元素
    小心了!Kubernetes自动化操作工具将让你失去工作
    开源云计算厂商:浅析渠道激活平台的打造
  • 原文地址:https://www.cnblogs.com/WuCountry/p/1637344.html
Copyright © 2011-2022 走看看