PCYOPCYO

山上有座庙

ldntldr来源详解

利用loadbin在不同的启动管理器中启动grub,grub2,grub4dos 和

loadbin是grubutil里的一个新加工具,它可以把各种系统文件转化为Linux内核的格式,从而达到在多个启动管理器里启动的目的。

对于不同的启动文件,loadbin提供相应的头文件,

可以用三种方式启动系统文件,以ntldr为例:

1,直接使用头文件ldntldr.bin。以头文件作为内核,ntldr作为initrd:

kernel ldntldr.bin

initrd ntldr

boot

2,利用mkimage工具把头文件和系统文件结合起来,生成单一的启动文件:

mkimage ldntldr.bin ntldr ntldr.bin

然后把ntldr.bin作为内核就行了:

kernel ntldr.bin

boot

由于不少的启动管理器在启动Linux内核时不会传递正确的DL值,因此需要在头文件里进行设置,你可以使用-x参数在生成单一的启动文件时指定DL值,例如:

mkimage -x 0x80 ldntldr.bin ntldr ntldr.bin

有些系统,例如grub2,还支持分区参数,你可以用以下方式来指定:

mkimage -x 0x80,0 ldgrub2.bin core.img grub2.bin

这样启动后grub2会自动把根设备设为第一只硬盘第一个主分区(hd0,1)。

如果是在CDROM里启动,可以使用设备号0xe0,比如

mkimage -x 0xe0 ldgrub.bin stage2 grub.bin

这样,grub启动后就可以利用(cd)设备来访问文件了。

3,同2一样,先生成单一的启动文件ntldr.bin,然后可以利用grldr.mbr启动:

安装到mbr:

grubinst -b=ntldr.bin DEVICE

生成相应的ntldr.mbr,在boot.ini里启动:

grubinst -o -b=ntldr.bin ntldr.mbr

目前支持的启动文件格式:

1,GRUB Legacy

头文件ldgrub.bin,对应的系统文件是stage2

2,GRUB2

头文件是ldgrub2.bin,对应的系统文件是core.img

3,GRUB4DOS和NTLDR

头文件是ldntldr.bin,对应的系统文件是ntldr和grldr

至于启动管理器,只要它支持Linux内核格式,就可以使用loadbin,这其中包括grub
legacy, grub2, grub4dos, syslinux/isolinux/pxelinux, lilo等等。

下载地址:

http://download.gna.org/grubutil/

本原创文章未经允许不得转载 | 当前页面:PCYO » ldntldr来源详解

评论