无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 6500|回复: 4
打印 上一主题 下一主题

[求助] grub2安装在软盘中和关于memdisk.mod的用法

[复制链接]
跳转到指定楼层
1#
发表于 2012-2-28 00:30:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
参考了这里http://bbs.znpc.net/viewthread.php?tid=4904  (时空论坛不能匿名发贴了)  得知 grub2中的memdisk.mod 模块可以把启动设置安装在内存中,启动后用(memdisk) 设备名访问。用这种方式可以压缩这是目的
我试了出现到了grub resuce界面,提示未知的文件系统。

我是用qemu + iso的方式启动的。
mkdir /tmp/grub2/boot/grub && mkdir /tmp/iso1 && cd /tmp/grub2
cp -r /boot/grub   /tmp/grub2/boot/grub
find . |cpio -ov -H ustar  > grub2.cpio
grub2-mkimage -C xz -o core.img -p "(memdisk)/boot/grub"  -m  grub2.cpio  -O i386-pc -d /boot/grub2/  memdisk cpio   biosdisk tar gzio xzio

-C xz是采用xz压缩。 xzio 是我猜的用xz解压的模块。

cat boot/grub/cdboot.img core.img > iso1/cdcore.bin

mkisofs -R -J -b cdcore.bin  -no-emul-boot  -boot-info-table  -o grub2.iso iso1/

qemu -m 128 -cdrom grub2.iso -boot d
启动后就到了grub2急救模式并提示未知的文件系统

请各位大侠帮忙看看哪里错了。

附件是 SystemRescueCd中能用的grub2disk软盘。
grub2 1.97.2 grub2.img.gz (277.49 KB, 下载次数: 42)
2#
发表于 2012-2-28 10:14:42 | 只看该作者
grub2 的问题,可以直接向 GNU grub2 的开发主站报告。

时空论坛经常可能遭到攻击,让 public 用户不能发帖。

你也可以给网站管理员写信,告知这一情况。
回复

使用道具 举报

3#
 楼主| 发表于 2012-2-28 14:55:39 | 只看该作者
多谢不点指教,原本是想发到linux区的,怕没人关注。只能发到grub4dos区。
我不是报告bug,只是不会使用求使用方法。
回复

使用道具 举报

4#
 楼主| 发表于 2013-3-29 17:26:22 | 只看该作者
终于找到解决方法了:

假设编译前配置为 perfix=/root/grub2
编译好后:
cd /root/grub2/lib/grub/i386-pc/

生成(memdisk) 内存盘以/boot/grub为目录的文件包
tar cvf /root/memdisk.tar normal.mod echo.mod ahci.mod video.mod ata.mod boot.mod cat.mod chain.mod configfile.mod crypto.mod elf.mod ext2.mod extcmd.mod help.mod linux.mod  memdisk.mod minicmd.mod multiboot2.mod pata.mod part_msdos.mod gettext.mod terminfo.mod terminal.mod vbe.mod vga.mod gfxterm.mod jpeg.mod font.mod sleep.mod search.mod video_fb.mod bitmap.mod  bitmap_scale.mod echo.mod --transform 's#^#/boot/grub/i386-pc/#'

添加配置文件和字体,事先把oem1.jpg font.pf2 grub.cfg放在/root目录中
cd /root
tar uvf memdisk.tar font.pf2 grub.cfg oem1.jpg  --transform 's#^#/boot/grub/#'

生成core.img文件
/root/grub2/bin/grub-mkimage -d  /root/grub2/lib/grub/i386-pc/ -O i386-pc -o /root/grub2.elf normal minicmd font sleep memdisk echo tar ehci uhci at_keyboard usb_keyboard -m memdisk.tar  

mkdir /root/mkiso_dir
cat    /root/grub2/lib/grub/i386-pc/cdboot.img /root/grub2.elf > /root/mkiso_dir/cdcore.bin
mkisofs -R -J -b cdcore.bin  -no-emul-boot  -boot-info-table  -boot-load-size 4  -o /root/grub2-mem.iso /root/mkiso_dir/

完成。


grub2-mem.7z (216.59 KB, 下载次数: 36)
回复

使用道具 举报

5#
 楼主| 发表于 2013-3-29 17:34:16 | 只看该作者

回复 #4 jneny 的帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-29 09:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表