• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

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

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网
前提:你的机器中装有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
佩服,这就是研究的精神。

其实原理大家都是明白的,行动也不太难,真是惭愧,少这种研究的精神。

顶,支持!

 flying-dance big big pig 回复于:2003-07-28 20:05:28
[quote:699524d524="feming"]g 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_" /fastdet..........[/quote:699524d524]     


collection
~
 :D

 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就行了,不管重装几回瘟都死都没事了。

以上
喜欢魉呼的siyeclover

补充一下,其实grub安装在哪里并不重要,重要的是将其512个字节拷贝为一个文件。

最后还想问一句,cloud所说这种办法大家应该都是知道的吧?[/color:79be744267]

 aero 回复于:2003-07-28 21:03:18
看了这个文章,我就有楼上的想法了,正在试验,没想到有人都做过了,呵呵。

 zhouxingyu@eyou.com 回复于:2003-08-05 20:57:08
如果是NTFS也有用吗?

 aero 回复于:2003-08-05 21:18:47
ntfs的话,也没有98啊,楼主的方法就不行了。
2000以后的os loader就没问题。

 kassidy 回复于:2003-11-17 13:46:51
我按照上面的方法没成功!
请高手指点我几个疑问:

  1。 autoexec.bat的内容中,goto %config%是什么意思?在goto :end  还是 go to end? 有没有冒号?
有冒号的话那因该是一个标符 ,那跳到 end 处该执行什么操作呢?是没写全还是我看不懂?
2。config.sys的内容中,下面那几个"[1]" , "[2]" ,"[3]"  是不是做变量使用,即把"[1]" , "[2]" ,"[3]"  的值赋给autoexec.bat 中的 %config%
  可是那个 :end 却没有相应的操作语句!

附:我装了win98 ,win2000server , RedHatlinux9.0  其中win98 为C 盘,linux装在mbr ,不过后来加装了win2000server 我想使用feming 上面的方法实现的是这三个系统的引导,我该怎么做,请指教!

 ohsnoopy 回复于:2004-03-09 10:46:46
我的是WIN2K,WINXP,WIN2003(MBR),
RH LINUX 9.0(软盘引导),
郁闷啊~怎么加到OS LOADER,多一项LINUX启动,从此可以扔掉软盘启动???
QQ 78482997
HELP ME!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网