LinuxSir.cn,穿越时空的Linuxsir!

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

os loader引导多系统实战

[复制链接]
发表于 2002-8-6 11:45:43 | 显示全部楼层 |阅读模式
○、预备知识:
os loader引导基本原理:把来自其他操作系统的启动扇区信息变成一个文件,大小一般是512字节,在启动os loader的时候,它读入该文件并启动选择的操作系统。根据上述原理,要引导多系统关键是获得相应的启动扇区前512字节的启动信息。

一、本机分区如下:
hda1 2000   FAT32 7G
hda3 /boot  EXT3  24M
hda2 扩展分区
     hda5  Program FAT32 8G
     hda6  /       EXT32 7.7G
     hda7  /swap   SWAP  251M
     hda8  xp      FAT32 8G
     hda9  Backup  FAT32 7.3G
二、安装系统
     先安装2000,再安装xp。2000下的os loader会引导2000和xp。
     最后装linux,注意安装时lilo不要安装在MBR,要安装在First Sector of boot partition (根分区的第一个扇区)中;要做一个启动盘。
三、引导文件
     用linux启动盘启动进系统。
     在提示符#下键入:
     dd if=/dev/hda3 of=/bootsect.lnx bs=512 count=1 (因为/boot在hda3,以上命令的意思是:dd if= 引导分区,of=启动扇区文件存放路径,bs=对应扇区前?字节,count为读写次数)
     mkdir /mnt/winc (创建winc目录)
     mount -t vfat /dev/hda1 /mnt/winc (将c盘mount到目录winc)
     cp /bootsect.lnx /mnt/winc
     然后,在/mnt/winc中打开boot.ini(如果没有,可以打开隐藏设置),加入c:\bootsect.lnx="RedHat Linux7.2"
     也可以到2000的根目录中操作。
     最后,重启。
     os loader引导时出现启动菜单:
     Microsoft Windows XP Professional
     Microsoft Windows 2000 Professional
     RedHat Linux7.2
     选择第三项将进入lilo,lilo引导会出现启动菜单:
     linux
     dos
     选择linux将进入rh7.2
     选择dos将返回到一开始os loader引导启动菜单。
四、 大功告成,亲个嘴儿~~~ :p :p :p
五、总结     
     特别注意的是启动盘启动进linux时要命令键入
     dd if=/dev/hda3 of=/bootsect.lnx count=1
     我曾经根据一篇文章所说的新建一个文件,将上述命令写入,并存为bootsect.lnx。在重启选择“RedHat Linux7.2”后,会出现:“NTLDR is missing.”的错误。(注:NTLDR是2000下引导系统的重要文件)由于个人
系统配置、分区不同,因此也不能说那篇文章就是错误的。但对于初学者来说,键入上述命令导出系统的启动信息可以说是最准确的。
     以上是本人在实战中的经验总结,希望对像我一样的初学者有所帮助。
发表于 2002-8-6 11:53:42 | 显示全部楼层
辛苦了,兄弟。。。。
精品!
到目前为止,咱们关于系统引导方面既有OS loader又有GRUB,也有LILO,看来系统引导方面,问题已经基本解决。兄弟这一篇就为系统引导划了一个句号。

多谢!!!
 楼主| 发表于 2002-8-6 12:01:21 | 显示全部楼层

哪里哪里

北南南北兄也帮了我不少忙啊~~  
发表于 2002-11-6 11:32:58 | 显示全部楼层

我想弄清楚怎么不lilo装在hda2上而不装在mbr分区上

我想多了解一下lilo的安装命令的一些格式
发表于 2002-11-6 11:37:41 | 显示全部楼层
如果lilo装在mbr上就会把os loader覆盖掉了。
发表于 2002-11-6 12:50:05 | 显示全部楼层
其实,在提取启动扇区映像文件时,还可进一步简化成: dd if=/dev/hdaX of=/mnt/winc/bootsect.lnx bs=512 count=1 ,省去了 cp /bootsect.lnx /mnt/winc的步骤,前提是你先要mount C分区。

为了缩短启动时间,还可以进一步修改lilo.conf配置文件,将最后面的other以下的内容删去,保存后再运行一下lilo -v,以后启动时直接进入linux,不再一次出现选择菜单。
发表于 2002-11-19 15:51:38 | 显示全部楼层

我的不行

各位大哥,我是按楼上的方法作的怎么不行啊.
按照上面的方法设置之后重起,进入第三项就只有光标在闪了 .没有什么反应了.这是 怎么回事
我用df后:
[root@AMA root]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/hda12              443345    120705    299749  29% /
/dev/hda8                46636      4987     39241  12% /boot
/dev/hda14              553376      2884    522380   1% /home
none                     95372         0     95372   0% /dev/shm
/dev/hda9              2419256   1437948    858416  63% /usr
/dev/hda11              474443        35    449911   1% /usr/local
/dev/hda10              980308        68    930444   1% /usr/src
/dev/hda5              3070400   1275868   1794532  42% /mnt/d
/dev/hda6              3078416   2567984    510432  84% /mnt/e
/dev/hda7              7583880   2303912   5279968  31% /mnt/f

我的lilo.conf是
prompt
timeout=50
default=linux
boot=/dev/hda8
map=/boot/map
install=/boot/boot.b
message=/boot/message
linear

image=/boot/vmlinuz-2.4.18-14
        label=linux
        initrd=/boot/initrd-2.4.18-14.img
        read-only
        append="windows root=LABEL=/"

other=/dev/hda1
        optional
        label=DOS
发表于 2002-11-20 02:24:41 | 显示全部楼层
不懂这种配置方法。。
请有经验的弟兄支持一下。
发表于 2002-11-20 02:31:03 | 显示全部楼层
偶也不知
你不至于是dd if=/dev/hdaX^^^^^^^^^^^^^^^吧
哈哈哈哈,把人看扁了,多说下,你应当是hda8
另外,你的LILO怎么加入了linear,硬盘不支持DMA??????
会慢的哦
发表于 2002-11-20 12:41:55 | 显示全部楼层
对了,AMA兄弟可能是把hdax照搬进去了,这样当然不行。看你的配置应该是hda8。先dd if=/dev/hda8 of=/mnt/c/bootsect.lnx bs=512 count=1,然后lilo -v 。若不想看到第二次启动菜单,把lilo.conf中下面的内容删了:
other=/dev/hda1
optional
label=DOS
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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