可以配置boot.ini,进而从ntldr转接Linux引导程序,达到启动Linux的目的。
可以读出Linux启动分区(/boot所在分区)的引导扇(以AA55结束的512字节内容),保存到boot.ini所在位置(文件名以linux.ldr为例),向boot.ini中添加(假设Windows在硬盘第一分区):
C:\linux.ldr=“Linux Entry”
你的问题,看上去是没能链到Linux,而是依然在Windows范畴。
其实对于只安装一个Linux的情况,不需要专门去读取引导扇,随便下载一个grub程序,里面会有类似grldr、g2ldr等文件,用它替换这里的linux.ldr就可以。
用ntldr来引导Linux。首先启动进到Linux里面用命令生成一个引导扇区映象文件,这不管你用的是Lilo或者是Grub都是一样的命令:
dd if=/dev/hda of=/media/linux.lnx bs=512 count=1
“dd” 是命令,后面是参数,“linux.lnx”你可以命名为其他的*.lnx,bs=512是因为引导信息在前512字节。这里有两个地方需要注意,1,如果你用的是sata硬盘,其中的“hda”要改成“sda”(看fstab就知道了……);2,上面的命令是当Grub/Lilo被安装安装在mbr的时候使用的(比如Ubuntu,默认就是这种情况),如果被安装在分区上,需要把“if=/dev/hda”改成“if=/dev/hdaX”,其中的X是一个整数,要看你的Grub/Lilo被安装在哪个分区上(“/”所在分区)。
然后进入到Windows里,把生成的*.lnx复制到C盘的根目录下,修改boot.ini,在里面添加一行:
C:\linux.lnx="linux"
这里的“linux.lnx”就是刚才生成的*.lnx,要按照实际命名来写,后面半角双引号内的是显示在屏幕上的菜单项,爱写成什么都可以。
最后用98启动盘或者含有fdisk命令的DOS,使用以下命令来重写mbr:
fdisk /mbr
也可以在XP的恢复控制台下使用“fixmbr”命令。
现在,重启计算机,首先进入的就是ntldr启动菜单了,你可以从刚才在boot.ini中添加的菜单进入到Grub中。
用了这种方法之后,要隐藏启动菜单中的Windows就比较麻烦了,以前用Grub引导,只要直接修改“/boot/grub/menu.lst”就可以了。
linux一般把其他系统的启动默认为linux分区后的第一个分区,例如,你的硬盘上有C、D两分区,linux安装在(hd0,2)和(hd0,3),则, 修改Linux下 /boot/grub.conf的other项中为(hd0,4),只要改为(hd0,0),也就是C盘,重启即可,ntldr is ACTURALLY NOT missing.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)