在安装Linux和windows双系统时通常是先安装windows再安装Linux,因为windows会对主引扇区录进行充0,因而破坏主引导记录。当安装完windows再安装Linux,Linux会将grub安装到主引导扇区,然后通过grub的引导菜单来引导Linux和windows操作系统,这种引导顺序是grub—->linux/(ntldr—>windows),这样导致的后果是如果Linux系统故障或者grub故障就会导致windows无法使用。
如果在安装完Windows后再安装Linux时不安装grub,让Linux安装程序不修改主引导扇区,然后在安装完Linux后再在windows下安装windows版本的grub程序,让windows的ntldr来引导grub,然后再通过grub来引导Linux。这样的引导顺序是ntldr—>windows/(grub—>linux)。因此下面使用这个中方式安装双系统。
1、先安装windows
如果只有一块硬盘,先对硬盘进行分区,先分一个区,让Windows安装在第一个分区,按正常的步骤安装
2、安装Linux
安装过程中在磁盘分区时注意要使用剩余分区进行操作
并且不安装grub到主引导记录
安装后重新系统,看看是否能正常进入windows,如果正常进入windows并查看磁盘管理,查看当前的分区情况
3、查看Linux分区uuid
通过Linux的安装光盘进入急救模式,查看Linux分区的uuid信息,用于后面配置windows下的grub
在安装光盘下输入linux recuse,进入急救模式
选择语言
选择语言选择是否配置网络,这里选否选择coutinue,使用自动模式,可以自动检测磁盘分区情况,尤其是使用卷组的情况下输入chroot /mnt/sysimage 切换根文件系统使用blkid 查看 根文件系统的的uuid
4、在Windows下安装grub,并配置ntldr和grub引导菜单
下载grub4dos-0.4.4,并解压到windows 的c盘根目录下
编辑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=”Windows Server , Enterprise” /noexecute=optout /fastdetect
c:\grldr=”grub”
编辑menu.lst文件
title CentOS (2.6.18-308.el5)
root (hd0,1)
kernel /vmlinuz-2.6.18-308.el5 ro root=UUID=f5762340-1fd9-4483-a628-ae3ab9f130b0 quiet
initrd /initrd-2.6.18-308.el5.img
由于windows的c盘是第一个主分区,Linux的boot分区是第二个主分区(在安装Linux时有为boot目录独立划分一个分区),因此root(hd0,1)表示通过第二个主分区查找Linux的内核文件,root=UUID是指明系统根分区的UUID(由于uuid是不会变的,而是要sda1,sda2等这些会变)。
5、重启测试