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

Unix/Linux
linux查看内存的大小
在linux下写的代码,用的是utf-8,结果拿到XP下运行的时候,所有的中文都成乱码
linux su和sudo命令的区别
linux cron 下的定时执行工具使用技巧
linux 查找进程及终止进程操作的相关命令
redhat linux 安装 gcc编译器
Linux Mplayer播放各种格式的电影
一起回顾一下linux常用命令
Linux 网站项目发布要做哪些配置
linux SSH配合SecureCRT的密匙完美使用方法
GD 编译出错解决方法
Facebook Open Platform编译FAQ
Linux 系统硬盘 优化
linux 挂载详解
linux crontab定时命令
Linux 系统中确保访问三级域名畅通的方法
Linux 特权帐号VS普通帐号
确保Linux系统安全的前提条件 漏洞防护
Linux 监视系统资源使用率
Red Hat Linux上使用BIND建立DNS服务器

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 27 ::
收藏到网摘: 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写