windows,linux雙系統引導

arthurtangel發表於2011-11-01
簡單介紹一下:

先安裝了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
儲存,則成功啦。

--

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11990065/viewspace-710021/,如需轉載,請註明出處,否則將追究法律責任。

相關文章