Label Cloud

Tuesday, December 9, 2008

Windows NT系列和Linux的共存问题

1, Linux和Windows NT系列最佳共存方案。
 前提:所有的NT分区为fat16或者fat32。Linux对NTFS分区的写操 作支持得不是很好,只有Mandrake Linux的内核编译默认为ntfs格式磁盘可写,其他的Linux一般都将内核编译成ntfs分区只读。如果你的硬盘中还安装了windows 9x系列,windows 9x系列一般先安装,会被windows NT的bootloader辨认。
系统磁盘分区如下(以单硬盘为例)
 hda1  
Win9x
 hda5  Winnt
 hda6  Linux native
 hda7  Linux swap

   Win9x和winnt会各占一个分区,Linux会至少占用两个分区。
  Linux swap linux虚拟内存分区的大小一般是真正内存的2倍。
  最佳方案是:将Linux的Grub或者Lilo安装在根分区,而用Windows NT的Bootloader去引导硬盘上的所有操作系统。
  如果将Grub或者Lilo安装在Mbr(主引导扇区),重新安装Windows会造成Grub或者Lilo的丢失。如果把它们安装在根分区(root分区),则可以有效避免上面的情况发生。
  Grub是Linux下新一代操作系统引导程序,技术上要比Lilo强很多,建议使用。而且在一些老的BIOS上面,Lilo不会支持8G以上大容量硬 盘。你的Linux如果安装在硬盘528MB以后位置的分区中,Lilo不会正确引导。Grub则没有这样的问题。

(1)准备一张Linux Live CD,或者有一张Grub启动软盘。因为在Linux安装结束后,你不能通过重新启动电脑直接引导它,还需要几个步骤。
(2)如果都没有,就需要下载Grub for DOS,然后将grldr文件复制到C盘根目录。然后编辑boot.ini。
* grldr 0.95可以在www.ubuntu.org.cn的源中找到,在文档-专题文档-与windows xp共存 文档中有这个文件的下载链接。
  打开“命令提示符”,输入以下命令。
  attrib –r –s –h c:\boot.ini
  notepad c:\boot.ini
  用记事本打开boot.ini后,在后面加上一行:
   c:\grldr=”Grub for DOS”
  保存记事本。
  attrib +r +s +h c:\boot.ini
(3)先安装Windows 9x,再安装Windows NT,最后安装Linux。并在安装最后的设置阶段把Grub管理器安装到root分区。
(4)用grldr启动已经安装好的linux
(5)输入正确的用户名,转到root用户模式:
[user@ubuntu/]$ sudo passwd su (如果不知道根用户的密码,可以通过这个命令设置)
[user@ubuntu/]$ su (回车后提示输入根用户密码,输入正确就可以进入根用户模式。
[root@ubuntu/]# cd /mnt
[root@ubuntu/mnt]# mkdir hda1
[root@ubuntu/mnt]# mount /dev/hda1 /mnt/hda1
[root@ubuntu/mnt]# dd if=/dev/hda6 of=/mnt/hda1/bootsect.lnx bs=512 count=1
  输入以上的命令,就可以在hda1,也就是C盘根目录建立一个名为bootsect.lnx的512字节大小的文件。当然,如果你的C盘是fat32格式的,成功率就是100%。
  如果C盘是ntfs格式,你就需要挂载一个fat32分区,并把文件先写到fat32分区,然后到windows下再倒到C盘。
  重新启动电脑,并进入Windows XP,对boot.ini文件进行再次编辑。在最后加上一行:
c:\bootsect.lnx=”Linux System”
  引号里的文字可以改成你喜欢的文字,它作为操作系统的名称出现在bootloader菜单上。重新启动电脑,你就可以在Windows NT的操作系统选单上选择Linux,并进行启动了。

No comments: