冤家和睦:Linux和Windows双重系统搭建

发表于:2007-05-26来源:作者:点击数: 标签:
虽然Linux越来越受人关注,用户越来越多,但对于我们普通的各位来说,一般是不会用它来代替Windows的,而是让两个系统共存,一个用来应用、娱乐,一个用来学习。但是众所周知,Linux向来就是Windows的冤家,让他们和睦相处,不出问题也非易事,下面笔者就以R

虽然Linux越来越受人关注,用户越来越多,但对于我们普通的各位来说,一般是不会用它来代替Windows的,而是让两个系统共存,一个用来应用、娱乐,一个用来学习。但是众所周知,Linux向来就是Windows的冤家,让他们和睦相处,不出问题也非易事,下面笔者就以Redhat Linux 9.0和Windows XP为例对二者共存涉及的一些问题作些说明:

一. 安装

1.首先假设你已经安装好了Windows XP,并且分区格式是FAT32;

2.进行安装Redhat之前的筹备工作:用一些分区工具(如PQmagic)在你的硬盘上腾出一些空闲空间(指尚未划分的空间,既没有指定文件系统,又没有分配盘符),空间的大小根据你选择的Redhat的安装方式来定,一般5G就足够了;

3.用Redhat 的安装光盘引导系统,根据提示先后配置完语言、键盘、鼠标、升级检查、安装类型页面;

4.进入磁盘分区设置页面后,选择“自动分区”,在接下来的页面中选择“保存所有分区,使用空闲空间”;点击“下一步”之后安装程序会为你创建好Linux系统所需的各个分区(包括一个/boot分区,一个根分区,和一个交换区);一般无需修改直接进入后面的设置即可;

注:在磁盘分区设置页面你会看到一个列表框,里面是你硬盘的列表——

Linux用来标识硬盘的方法与Windows不同,如果你用的是IDE硬盘,那么你的第一块硬盘就被标识为/dev/hda 第二块为/dev/hdb 依此类推;而且第一块硬盘的第一个分区被标识为/dev/hda1第二个分区则为/dev/hda2依此类推;如果是SCSI硬盘则是/dev/sda, /dev/sdb的形式。

5.接下来就是两冤家共存的关键所在——引导程序设置页面,安装程序为你提供了两种用来引导系统的程序——GRUB和LILO,默认是GRUB;无须另改引导程序,选用GRUB,并且选中“配置高级选项”;进入下一步高级选项页面。

注:GRUB(GRand Unified Bootloader)是一个功能强大的引导程序。GRUB 能够通过连锁载入机制实现引导Windows——GRUB载入Windows的引导程序,然后Windows的引导程序再载入Windows。

LILO (Linux LOader) 是用于 Linux 的灵活多用的引导装程序。它并不依赖于某一特定文件系统,能够从软盘和硬盘引导 Linux 内核映像,甚至还能够引导其它操作系统。

6.在高级选项的页面,确定安装位置选择了主引导记录(MBR);

7.按照提示完成以后页面的设置,重启后你就可以看到一个漂亮的引导界面,选择不同的条目可以分别进入两个操作系统!

[--NTFS--]

如果你的Windows XP系统使用的是NTFS分区,就麻烦一些,因为无论是Linux还是GRUB都不能理解NTFS;上面说到的几步都一样,只是在第6步要选择“引导分区的第一个扇区”,并且记下安装位置的标识(这里以/dev/hda9为例)另外在安装的最后要按提示做一张引导软盘;这样安装完成之后你才能进入 Linux,需要进行以下几步:

1.用软盘引导进入Linux;

2.插入一张空白软盘;

3.在shell中输入:

mount -t msdos /dev/fd0 /mnt

dd if=/dev/hda9 of=/mnt/bootrec bs=512 count=1

umount /mnt

4.重启进入Windows XP,把软盘上的bootrec文件拷贝到C盘,修改boot.ini文件,在[operating systems]段中加上 C:\bootrec="Linux" 这样一行

修改后的boot.ini形如:

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect

C:\bootrec="Linux"

5.重启后会出现选择菜单,选择Linux条目即可进入Linux。

二. 共享文件

1.Linux 下共享Windows FAT32分区中的文件

很简单,使用mount命令即可,

基本形式如下:

mount –t vfat /dev/hda1 /mnt/windows

使用前要先建立好/mnt/windows 目录

并且确定你要挂载的windows分区所对应的Linux标识,可以运行hwbrowser硬件浏览器查看确认。

不过你可能会发现,挂载过来的windows分区中的中文文件名无法正常显示;

解决方法如下:

打开/etc/fstab 文件(该文件中描述了在系统启动时自动挂载的内容)

添加如下一行:

/dev/hda1 /home/pogge/winc vfat defaults,iocharset=gb2312,umask=0 0 0

其中/dev/hda1 为你要挂载的windows分区的linux标识,/home/pogge/winc

为挂载位置,一定要先建好/home/pogge/winc 目录

2.Linux下共享Windows NTFS分区中的文件

Linux的内核中尚未加入NTFS的支持(以后的内核版本可能会加入),但有些个别版本的Linux已经加入了对NTFS的支持,比如Mandrake。

开源社区中有一个Linux NTFS 项目组,你可以用该组开发的模块为Redhat Linux 9.0 加入NTFS支持。该项目组的网站是http://linux-ntfs.sourceforge.net/;

此外还有一些在Linux下访问NTFS的第三方软件。

限于篇幅,笔者就不对此问题详细叙述了,如果将来有机会的话可以写个关于这个问题的专题

3.Windows下共享Linux分区中的文件

Microsoft是不可能在系统中提过对Linux文件系统的支持的,尽管Linux有对Windows的支持!所以只好借助第三方软件了;

explore2fs 是一个免费的基于图形界面的在Windows中访问Linux ext2 或ext3分区的软件。

下载下来后解压后直接运行explore2fs.exe即可得到一个类似windows资源管理器的一个界面,使用起来非常简单,在此不再赘述。

三. 重装Windows XP后恢复Linux引导

通常下Linux的引导程序GRUB装在MBR中,而重装Windows时,有可能会重写MBR

导致GRUB丢失。

不过恢复起来也很简单

1. 用Redhat安装光盘启动后按F5

2. 输入linux rescue [Enter] 进入救援模式

3. 在救援模式配置完,并将你的linux系统挂载在临时目录/mnt/sysimage 中后输入chroot /mnt/sysimage 改变根分区的位置

4. 输入/sbin/grub-install /dev/hda [Enter] 重新将GURB写入MBR中

5. 输入exit [Enter] exit [Enter] 退出重启即可看到GRUB引导界面

如果没有引导光盘就用先前做得引导软盘进入Linux直接做第4步即可

如果GRUB 装在了引导分区的第一个扇区上

只需参照[--NTFS--] 小节中的5个步骤即可。

完,希望你的windows和Linux 相处的很融洽 ^_^

原文转自:http://www.ltesting.net