简单介绍一下:
先安装了windows server 2008 R2,分了二个盘(C,D盘),即(hd0,0),(hd0,1)
再安装了linux,centos 6,用的默认的lvm,/boot在(hd0,2)上面
但我在linux安装时有一个选项,是让你选择用linux(hd0,2)启动,还是用(hd0,0)windows启动,我点选了windows,导致我后来不能直接启动linux.
windows,linux双系统,在二种OS中都能设置双系统引导。
但在windows中设置要使用工具,如(grub for dos),麻烦。
所以我还是用linux的grub吧。
windows,linux的不同:
Linux现在流行的bootloader是grub. xp和nt采用的是ntloader.
有网友主张采用这样的引导方式: ntloader -> grub -> win/lin. 但正如有的网友所说, grub考虑到了引导windows, 而ntloader还没有考虑过引导windows之外的其他系统. 而且, 使用ntloader来引导比较繁琐. 不如使用grub引导简便.
因为在安装linux时我选择了windows的块MBR来引导,导致我的linux grub不能启动linux。即使我修改了:/boot/grub/grub.conf,添加了双系统的menu.lst
我的修复方法如下:
1,用linux的第1块光盘启动,选择 linux rescue模式,此时加载原linux到/mnt/sysimage。
2,进行#提示符后,执行
#chroot /mnt/sysimage
#grub-install /dev/sda --现在都sda,很少hda了?
#grub
grub>root (hd0,2)
grub>setup(hd0)
完了后会出现successful字样,那就成功了。
3,修改grub.conf,也即menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/mapper/vg_sr0002sz-lv_root
# initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0 --这是默认系统哪一个
timeout=5 --延时多少秒
splashimage=(hd0,0)/grub/splash.xpm.gz --启动画面
#hiddenmenu --把这个屏蔽掉
title CentOS (2.6.32-71.el6.x86_64)
root (hd0,2)
kernel /vmlinuz-2.6.32-71.el6.x86_64 ro root=/dev/mapper/vg_sr0002sz-lv_root rd_LVM_LV=vg_sr0002sz/lv_root rd_LVM_LV=vg_sr0002sz/lv_swap rd_NO_LUKS rd_NO_MD rd_NO_DM LANG=zh_CN.UTF-8 KEYBOARDTYPE=pc KEYTABLE=us crashkernel=auto rhgb quiet
initrd /initramfs-2.6.32-71.el6.x86_64.img
title windows server 2008 R2
root (hd0,0)
chainloader +1
保存,则成功啦。