惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - Wu.Country@侠缘

与我相关的一些链接 - Wu.Country@侠缘 [Linux]OpenSuse12图形和文字界面转换 haneWIN NFS Server An Introduction to the Linux-based Assignments Booting Linux with U-Boot on QEMU ARM Using The mkimage Tool To Create U-Boot Images SUSE安全大揭秘之“十诫” [Copy]如何使用qemu执行交叉环境下的内核镜像文件 CT-NG编译错误以及解决办法 无法忍受在SUSE10上安装开发环境了 Windows的路由命令 【CLFS】记录: Linux内核代码学习笔记(2.6.21.7 ARM) -- 内核启动函数start_kernel [读书笔记]Binary Hancks(2) livepatch在X86下的实践 [读书笔记]Binary Hancks(1) ARM Stack Unwinding Physical Address Extension - PAE Memory and Windows [译]Kernel Memory Layout on ARM Linux [转]ucLinux下sqlite数据库移植全攻略
如何制作grub启动光盘
Wu.Country@侠 · 2010-01-01 · via 博客园 - Wu.Country@侠缘

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@侠缘      
 (~)@(~)  一辈子,用心做一件事!
--------------------------------
  学而不思则罔,思而不学则怠!  
================================