|
楼主,我还研究了一下你的一键生成脚本, 不过按您脚本生成的BIOS启动文件超过63扇区,如果写入MBR按你的写法在写入时填入扇区数63有时会启动出错,有时有会相关模块无法加载,
可以改写一下相关命令与配置文件生成小于63扇区的启动镜像与完善的内存memdisk加载盘
生成核心镜像用 grub-mkimage.exe -d i386-pc -C auto -c out\grub-bootstrap-bios-hd.cfg -p /boot/grub -o .\out\core.img -O i386-pc -v biosdisk part_msdos fat ntfs search_fs_file
只嵌入 biosdisk part_msdos fat ntfs search_fs_file 这几个模块,因为比楼主的命令少了 loopback tar 等模块,所以不能在进入 normal 模式前加载memdisk内存影射包,只好把加载memdisk内存影射包相关的模块直接放到硬盘上的grub目录中。修改内嵌配置文件实现
配置文件内容如下:
search.file /boot/grub/grub-bios.cfg root
set prefix=/boot/grub
insmod loopback
insmod tar
loopback memdisk /boot/grub/memdisk.tar
set prefix=(memdisk)/boot/grub
insmod part_gpt
insmod iso9660
insmod memdisk
insmod ext2
insmod blocklist
insmod test
insmod configfile
normal (memdisk)/boot/grub/grub.cfg
还有一个就是楼主没有弄光盘启动的批处理 也可以跟据生成硬盘启动的批处理改来,
把
copy /B out\boot.img + out\core.img out\g2ldr.mbr
这句改成
copy /B out\lnxboot.img + out\core.img out\g2ldr.mbr
用lnxboot生成的启动映像可以用做光盘启动还可以使用其它加载器加载,比如像GRUB4DOS一样加到XP中的boot.ini文件中启动,使用GRUB4DOS来加载启动,
也可以直接把g2ldr.mbr改名为ntldr或bootmgr放到激活的NFTS分区中直接启动
看楼主也跟我一样是个喜欢拆腾的人,可以看看我的这个贴子
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
|
|