当前位置:Linux教程 - Linux - (转载)不用Grub,不用lilo,只用Win98 Dos引导多个Linux系统的方法

(转载)不用Grub,不用lilo,只用Win98 Dos引导多个Linux系统的方法



         不用Grub,不用lilo,只用Win98 Dos引导多个Linux系统的方法
    http://www.chinaunix.net 作者:feming 发表于:2003-07-06 10:29:16

    前提:你的机器中装有NT系统,如win2000,winXP,win.net等,但首先装系统前,你用98的启动光盘或是软盘格式你的第一个主分区 format C: /s/q
    ,然后再装windows 2000,xp ,.net 然后再装Linux 这样你的windows系统启动菜单中就多了一个microsoft windows的启动项,其实是WIN98的dos7.0

    1、装Linux的时候选建立引导盘来引导,选装Grub到fd0 ,这样/boot目录下就会有相应的vmlinuz***和initrd***.img这样的文件生成。适应于大部分的linux发行版!

    2、用引导盘引导linux,然后把linux系统的相关的vmlinuz和initrd.img (注意是实实在在的那个文件,不要把链接文件只拷过来了,不行的,要那个链接指向的文件才行,如果不知道,可以在/boot目录下用ls -l 看一下到底谁是真的) 拷贝到你的C盘的与系统名类似的文件夹内,如:
    对于mandrake 你可以
    mount /dev/hda1 /mnt/win_c

    cd /mnt/win_c

    mkdir mdk

    cd /boot

    cp vmlinuz initrd.img /mnt/win_c/mdk

    把loadlin.exe 也拷到mdk目录下,光盘上有,或是你可以从我的网站下载

    http://61.136.253.234/loadlin.exe

    http://61.136.253.234/loadlin.exe

    然后你可以在mdk目录下建立一个autoboot.bat 文件用来你在98的DOS下引导linux系统。

    如我mdk目录下的autoboot.bat 内容为:

    loadlin vmlinuz initrd=initrd.img root=/dev/hda10 devfs=mount

    3、其他linux的引导方法雷同,自己想一下就也出来了,我就不多说了。
    这样子并不是完美的启动方法。下面的才是难点:注意了啊(一般在win平台改几个文件比较好)
    4、改你的C盘下的 CONFIG.SYS 这个文件和autoexec.bat这个文件
    如我的文件:
    config.sys的内容为:

    [menu]
    menuitem=1,Microsoft DOS 7.0
    menuitem=2,Mandrake Linux9.1
    menuitem=3,RedFlag Linux 4.0
    menuitem=4,SuSE Linux8.2 pro
    menudefault=1,10 //*这行是默认的等待时间*//
    menucolor=10,1 //*启动菜单的字体颜色,如可为15,1 *//
    [1]
    [2]
    [3]
    [4]



    autoexec.bat的内容为:

    goto %config%
    :1
    goto end
    :2
    c:
    cd mdk
    C:\mdk\autoboot.bat
    goto :end
    :3
    c:
    cd\redflag
    c:\redflag\autoboot.bat
    goto :end
    :4
    c:\
    cd \SuSE
    c:\suse\autoboot.bat
    goto :end

    5、然后修改你的C盘下的boot.ini这个文件,如我的文件内容为:

    [boot loader]
    timeout=5
    default=C:\
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(3)\WINNET="Microsoft Windows 2003 Server Enterprise" /fastdetect
    multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional_" /fastdetect
    multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Server _" /fastdetect
    C:\="Dos7.0 Boot Linux Os" /bootlog


    ////主要就在于你要在98的dos这条启动项的后面加参数 /bootlog
    这样可以直接进入我们的linux 启动菜单。不然会出来98的用安全模式启动的那个提示。

    这样我的机器就有了六个操作系统,三个windows的,三个linux的,而且不用操心mbr了,就用dos搞定一切。可以扔掉你的启动盘了,呵呵。

    附:

    redflag的启动autoboot.bat内容:

    loadlin vmlinuz initrd=initrd.img root=/dev/hda11 vga=791 hdc=ide-scsi


    SuSE的启动autoboot.bat内容:

    loadlin vmlinuz initrd=initrd root=/dev/hda11 append splash=silent showopts devfs=mount

    主要的是后面的参数,可以看grub.conf那个文件里是怎么带的参数,比如你要是在mdk的引导批处理文件后不加devfs=mount你的其他格式的文件系统不挂不上。其他参数大家可以试一试是为什么!

    :D 搞了几天才搞出来,希望有人喜欢,呵呵,偶的一桩心事也算结了,总为了mbr伤透了脑筋。

    只要你不把这些启动的批处理文件和loadlin搞丢,你想重装windows一点也不受影响,再也不为grub丢失担心了,想怎么搞就怎么搞。呵呵
    --------------------------------------------------------------------------------
    弱智 回复于:2003-07-06 10:33:41
    荷荷,楼主的方法可行,就象Netware的引导要靠DOS启动一样。
    --------------------------------------------------------------------------------
    hoxide 回复于:2003-07-28 14:15:20
    可惜我没装98
    --------------------------------------------------------------------------------
    lnx3000 回复于:2003-07-28 14:26:39
    楼主厉害! :)
    --------------------------------------------------------------------------------
    好好先生 回复于:2003-07-28 14:31:15
    我以前看过一篇类似的文章.
    --------------------------------------------------------------------------------
    jackyin 回复于:2003-07-28 17:21:46
    用WinME怎么办啊???
    --------------------------------------------------------------------------------
    弱智 回复于:2003-07-28 19:41:34
    Windoze ME道理一样的啊~~
    --------------------------------------------------------------------------------
    aero 回复于:2003-07-28 19:59:48
    佩服,这就是研究的精神。
    其实原理大家都是明白的,行动也不太难,真是惭愧,少这种研究的精神。
    顶,支持!
    --------------------------------------------------------------------------------
    siyeclover 回复于:2003-07-28 20:29:16
    [color=gray:79be744267]cloud有个更简单的办法,feming应该也知道的吧?
    前提还是一样,系统里有NT操作系统,比如2K,XP。
    把grub安装到mbr,然后再拷贝其为一个文件,dd if=/dev/hda of=bootsect.lin bs=512 count=1
    注意,是hda不是hda1
    把这个bootsect.lin拷贝到c区根目录下。
    然后再fdisk/mbr
    在boot.ini里面加入引导linux的内容,使用上边拷贝的那个bootsect.lin,可以这么写
    c:\bootsect.lin="my linux"
    以后只要你保存好这个bootsect.lin就行了,不管重装几回瘟都死都没事了。
    补充一下,其实grub安装在哪里并不重要,重要的是将其512个字节拷贝为一个文件。
    最后还想问一句,cloud所说这种办法大家应该都是知道的吧?[/color:79be744267]
    --------------------------------------------------------------------------------
    aero 回复于:2003-07-28 21:03:18
    看了这个文章,我就有楼上的想法了,正在试验,没想到有人都做过了,呵呵。

    --------------------------------------------------------------------------------
    [email protected] 回复于:2003-08-05 20:57:08
    如果是NTFS也有用吗?
    --------------------------------------------------------------------------------
    aero 回复于:2003-08-05 21:18:47
    ntfs的话,也没有98啊,楼主的方法就不行了。
    2000以后的os loader就没问题。
    发布人:会游泳的鱼 来自: