(转载)不用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就没问题。发布人:会游泳的鱼 来自: