安装Windows和Linux双系统


一些基础知识:

1. WindowsXP使用Ntldr作为启动加载器来启动系统,在boot.ini脚本中配置启动选项,我们可以通过添加启动选项来指定硬盘安装Linux。

2. Windows7使用新的加载器BootMgr启动系统,同时提供了BCD(Boot Configuration Data)设置启动选项,我们可以使用Win7自带的BDCedit或者第三方的EasyBCD程序来编辑启动选项。

3. Linux目前大多数使用Grub作为启动引导程序,且Grub能识别NTFS分区。

4. Linux发行版Ubuntu很早就支持NTFS文件系统了,所以可以将Ubuntu的镜像放在NTFS分区进行硬盘安装。

5. Linux发行版RedHat系列(包括Fedora、CentOS)不支持NTFS文件系统,需要安装ntfs-3g程序才能读写NTFS分区,所以.........。这里有个一直困扰大家的问题,就是Linux镜像到底能不能放在NTFS分区进行安装?其实根据上面的知识我们已经有了答案: 

就是Ubuntu可以(Grub:支持,Ubuntu:支持),Redhat不可以(Grub:支持,Redhat:不支持),Redhat可以引导,但是boot内核找不到位于NTFS分区的镜像文件。 

有了以上基础知识,相信大家安装都是手到擒来。在windows中我们可以使用grub 4 dos(见  )(Win7不可用),EasyBCD(见  )创建Linux安装启动选项。

1. grub 4 dos 用 grldr, menu.lst, ISO 三个文件即可。

将grldr文件复制到c:\,去掉boot.ini的只读属性,然后修改c:\boot.ini文件,在boot.ini的最后面加一行:

           c:\grldr="Start GRUB4DOS"

将menu.lst文件复制到c:\boot\grub目录,假设vmlinuz 、initrd.lz 、ISO这些文件都放在 C 盘根目录,menu.lst 可以这样写:

title Install ubuntu
root (hd0,0)
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-10.10-desktop-i386.iso
initrd /initrd.lz
boot

当然,可以在不解出vmlinuz 文件,initrd.gz 文件的情况下,grub4dos 也能成功从硬盘引导 ubuntu 安装。这里 C 盘根目录有 grldr, menu.lst, ISO 文件,这时的 menu.lst 可以写作:

title Install ubuntu
map (hd0,0)/ubuntu-10.10-desktop-i386.iso (hd32)
map --hook
root (hd0,0)
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.10-desktop-i386.iso
initrd (hd32)/casper/initrd.lz
boot

这里用 map 指令将 ISO 文件模拟为硬盘/光盘,在模拟磁盘中读取vmlinuz 文件,initrd.lz 文件。当控制权交给 kernel 后,计算机就从实模式过渡到保护模式。磁盘模拟也就不起作用了。


2. EasyBCD 用 NeoGrub、NeoGrub.mbr、menu.lst 即可完成引导。

在win7上安装EasyBCD,然后点击Add New Entry --> NeoGrub --> Install,如图:

 

安装之后C:盘会出现NeoGrub文件和NST文件夹(包含NeoGrub.mbr、menu.lst 文件),并且BCD启动选项里面多了一个引导项,如图:

 

menu.lst文件的内容同上即可。在WindowsXP上也可以直接把NeoGrub文件和NST文件夹(包含NeoGrub.mbr、menu.lst 文件)拷贝到c:盘,修改boot.ini,在boot.ini的最后面加一行:

           c:\NST\NeoGrub.mbr="Start GRUB4DOS"

即可。

  • 1
  • 2
  • 下一页

相关内容