当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > Windows和Linux系统共存 完美解决方案

Unix/Linux
如何在linux下面运行招商银行专业版
Windows和Linux系统共存 完美解决方案
Linux 和对称多处理应用程序介绍
Red Hat Linux 附加引导和内核引导选项
Linux 2.6.11内核文件IO系统调用详解
走向高手之路 Linux系统内核技术解读
菜鸟乐园 Linux系统内核代码特色一览
Linux内核和传统Unix内核的比较
内核中的物理内存分配函数kernel api
使用 Linux 系统调用的内核命令
详细解析 Linux内核的主要配置选项
内核操作 Linux2.6内核驱动移植参考
Linux内存中Swap和Buffer Cache机制
高手进阶 更换Fedora Core 6的内核
高手风范 Linux操作系统内核编码风格
Linux操作系统内核中工作队列的操作
揭开Linux系统内核调试器的神秘面纱
系统“大挪移” Linux服务器迁移大法
高手进阶 重新编译Linux操作系统的内核
Ubuntu系统关于驱动模块命令的一些使用

Unix/Linux 中的 Windows和Linux系统共存 完美解决方案


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 45 ::
收藏到网摘: n/a

    NT和Linux共存的最简单的方法就是在安装linux的 lilo时,选择将lilo安装在LInux主分区的引导区中。然后使用win98的启动盘重新启动以后,运行fdisk将linux主分区设置为 active,这样就可以实现在系统启动时首先进入lilo选择,若不选择linux,则进入nt loader。

    但是有时候为了方便而需要使用 nt loader 来引导linux,下面就是实现的方法。

     你应该牢牢记住的最重要的一点是,许多软件产品会利用硬盘上面仅有的那个宝贵的主引导记录MBR。NT是这样,没有选择余地; Linux也可以这样,如果你喜欢。机器的BIOS会执行储存在当前激活分区的信息,来初始化你希望的*作系统。

    NT 安装后,MBR会被修改成去引导一个在激活分区的根目录下,叫NTLDR的程序。原来的MBR会被存到一个叫BOOTSECT.DOS的小文件中。NT安装完成后要记住绝不能覆盖这个MBR, 否则NT将无法启动。以防万一, NT的用户需要NT的应急修复磁盘(Emergency Repair Disk,ERD)。

    记住了这些后,就要注意设定LILO时***不能***装到MBR中去,而是装到Linux的root分区中去。这样,对NT而言,不会带来问题;而 Linux没有MBR也可以活下去。

   & nbsp;NT的引导过程

     当NTLDR启动, NT用户看到"OS Loader V4.xx" 后,它会切换处理器到386状态,并启动一个非常小的文件系统。接着,它会去读BOOT.INI文件,看是否有其它*作系统存在,并显示一个选择菜单。下面是一个典型的BOOT.INI:

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)WINNT

[operating systems]
multi(0)disk(0)rdisk(0)partition(2)WINNT="NT V4 is here"
multi(0)disk(0)rdisk(0)partition(2)WINNT="NT V4 VGAMODE" /basevideo /sos
C:="DOS is here"

    BOOT.INI 有两部分构成。 "boot loader section"部分指定菜单在屏幕上的停留时间,和缺省菜单选项。"opearating systems section" 部分指定可选的*作系统种类。可以看到机器可以启动NT(以标准模式或VGA安全模式)和DOS。从这个例子我们可以推断,DOS从硬盘C:(第一个硬盘的第一个分区)启动,而NT从第二个分区启动。典型安装时,会以DOS的FAT文件系统格式化一个C:的分区,然后将NT装在另外一个NTFS(NT文件系统)的分区。

    如果用户选择了启动NT, 另外一个程序NTDETECT.COM,就会开始进行硬件检查。如果一切正常,NT内核就会被装入,正如我们都知道的那样。

     再来看如果启动的不是NT的情形。此时,NTLDR 需要知道非NT OS引导所必需的引导扇区是哪个。此时,相应的引导扇区映象必须要在一个小小的512字节的文件中。比如,要引导DOS,NTLDR 将会寻找一个叫BOOTSECT.DOS的引导扇区映象文件。这个映象文件是NT的安装程序产生的。

     那么,引导Linux又是怎样呢?这很简单,需要的只是一个引导扇区映象文件,姑且称之为BOOTSECT.LIN (在本文稍后会看到如何得到这个文件)。必须将BOOTSECT.LIN 放到C:, 并要修改 BOOT.INI。此时"operating systems ection"部分看起来应该是这样的:

[operating systems]
multi(0)disk(0)rdisk(0)partition(2)WINNT="NT V4 is here"
multi(0)disk(0)rdisk(0)partition(2)WINNT="NT V4 VGAMODE" /basevideo /sos
C:="DOS is here"
C:BOOTSECT.LIN="Now Linux is here"
    修改BOOT.INI,可以用任何普通ASCII文本编辑器(比如记事本)。这个文件的正常属性为系统-隐藏-只读,所以你必须用 'attrib' DOS 命令或在NT中,用文件属性对话框中来变更属性。

    现在我们将注意力转到 Linux。我们需要安装Linux,定制LILO,产生BOOTSECT.LIN文件。

    第一步是装好Linux。我们都知道怎么做:为Linux选适当的系统,SWAP,和用户分区,运行安装程序,等等。一切顺利时,这一步在45分钟之内就可以完成。

     接下去就要定制LILO。我们知道怎么做,但要注意*不能* 将LILO装到MBR中去(除非你想将NT吞了:-))。设定LILO时,要选择将它装到你Linux 的root分区。如果你还不知道如何设定LILO, 就花几分钟读读HOW-TO文献,或者就用一些好的安装程序,我是用S.u.S.E.的, 因此我的安装程序就是 'yast' (Yet Another Setup Tool)。

    LILO定制好之后,(为行文方便, 此处假设Linux的root分区是/dev/hda3)我们必须用'dd'来产生引导记录映象文件。以root Login后,按以下做:

    # dd if=/dev/hda3 bs=512 count=1 of=/dosc/bootsect.lin

     如果没有能将FAT C: partition mount成为 /dosc,譬如说由于这个分区被以NTFS方式格式化,不能访问这个分区。此时可以将 BOOTSECT.LIN写