LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2631|回复: 23

不用Grub,不用lilo,只用Win98 Dos引导多个Linux系统的方法! 自认为极精典!

[复制链接]
发表于 2003-7-3 22:54:23 | 显示全部楼层 |阅读模式
前提:你的机器中装有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-7-3 23:01:23 | 显示全部楼层
还有更简单的方法,前提也是装了2000以上的系统:
安装Linux时将lilo或grub安装在mbr,进linux系统,运行一个命令:
dd if=/dev/hda of=/mnt/win_c/linux.ldr(输出路径和文件名可自定,但最后一定要放在fat区,现在假设我直接输出到c盘) bs=512 count=1
编辑boot.ini,后面加入一行:
C:\linux.ldr="Linux Boot Loader"(名字自己定)
启动后进入nt的loader,就看到效果,现在fdisk/mbr都不用担心。
 楼主| 发表于 2003-7-3 23:04:56 | 显示全部楼层
那方法十次有九次不能成功我才这么搞的呀

你问一下有几个兄弟搞成了,而且好像如果你装linux的分区的起始柱面大于1024的话那方法肯定泡汤,实在是迫不得已才出此下策,但偶这方法是不管如何都能启动linux,那个dd的办法我试到现在没有一次能成功的是说,我都恨不得用debug自己写一个程序来引导linux了,但既然批处理能搞定就行了,呵呵
 楼主| 发表于 2003-7-3 23:07:51 | 显示全部楼层
如果你装有三个以上的win系统,你的分区是装win的有两个以上的主分区你敢fdisk/mbr 我就服了你,因为你一搞你就进不了windows了,进到登录的对话框就玩完了,XP到了欢迎使用那就再也进不去了,呵呵,可不是吓你,我是吃足了亏才想到用io.sys来搞这个问题的呀,
发表于 2003-7-4 07:45:06 | 显示全部楼层
偶只有一个主分区,而且我记得在DOS下进Linux好像有些…………
 楼主| 发表于 2003-7-4 13:44:42 | 显示全部楼层
哎, 也是哦,用DOS启动LINUX那就同时有两个操作系统在运行在一个机器上,但纯DOS并不费多少内存和CPU资源哦,如果要性能的话只用GRUG来引导LINUX本身是最好的我想!
发表于 2003-7-4 13:58:47 | 显示全部楼层
呵呵,我遇到过好几次loadlin无法引导系统,换grub一切正常的情况
发表于 2003-7-4 19:55:48 | 显示全部楼层

不建议用win引导,win的灵活性太差

不过如果需要的话,还可以用win下的第三方软件来制作启动文件
发表于 2003-7-5 00:15:58 | 显示全部楼层
还是喜欢用grub
发表于 2003-7-5 20:49:30 | 显示全部楼层
loadlin vmlinuz initrd=initrd.img root=/dev/hda10 devfs=mount

是什么含义。楼主能说说吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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