Windows和Linux如何在一台计算机上共存

运维 系统运维
NT和Linux共存的最简单的方法就是在安装Linux的 lilo时,选择将lilo安装在Linux主分区的引导区中。然后使用win98的启动盘重新启动以后,运行fdisk将Linux主分区设置为 active......

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写到一个以DOS方式格式化的磁盘中,或者NT能读的其它什么分区也可以。如果BOOTSECT.LIN不是被放到C:,要记住此时应相应修改BOOT.INI文件。

现在你老板可以从她的NT Loader菜单中选择Linux了。NTLDR将会装载BOOTSECT.INI,她就可以看到LILO的提示。她就可以去尝试她新的Linux机器了。***,你可以设定LILO在选择提示时能去引导Linux和C: 上的DOS。你的老板就可以再次回到C: 分区上的NT Loader。前文描述的方法可以反复进行,如果你希望能选择引导多个Linux,就必须为每一个Linux都产生一个相应的引导扇区映象文件。

【编辑推荐】

  1. 保障Linux的临时文件安全
  2. Linux置CVS集成cvstrac
  3. 如何在64位的Linux中运行32位的应用程序
责任编辑:赵宁宁 来源: ZDNet
相关推荐

2009-11-03 22:38:11

安全数据

2019-01-21 10:12:32

计算机修复Windows 10

2009-09-16 16:18:51

2019-03-14 12:51:47

云计算云平台公有云

2009-09-29 09:21:39

计算机60年

2018-05-24 16:20:46

Windows 10Windows许可证

2012-11-20 09:19:21

ARM超级计算机HPC

2018-09-27 10:47:45

机房计算机DNS

2019-04-30 09:45:12

计算机互联网 技术

2019-08-13 17:00:05

Windows 10计算机打印机

2009-09-16 16:24:47

2017-03-21 11:12:22

LinuxAmazon AWS服务器

2023-08-18 10:14:27

2023-08-01 06:56:34

DRAM内存服务器

2018-07-09 14:30:32

Windows 10WindowsHTTP错误

2021-07-13 08:45:02

云计算计算机无服务器

2015-07-22 10:50:44

新电脑JAVA开发环境

2020-11-05 19:12:02

树莓派Linux

2011-03-17 09:54:02

iptables 映射外网内网

2014-09-18 10:15:54

点赞
收藏

51CTO技术栈公众号