虽然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 auto,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 相处的很融洽 ^_^