Win7下硬盤安裝CentOS,實現雙系統


  花了一天時間,終於在老本上折騰好了Win7+CentOS的雙系統,記錄一下安裝步驟。

  • Win7下的分區設置

  在Win7中利用分區助手從F:中划出30G自由空間,再將30G中的10G建立新分區I:格式為FAT32,還剩余20G自由空間。其中10G的I盤用於存放硬盤安裝CentOS所需的鏡像文件,20G的自由空間即為Linux所分硬盤大小,可根據需要自行調整。

  • 硬盤安裝的准備工作

  將CentOS的鏡像文件即CentOS-6.3-i386-bin-DVD1.iso拷貝至I盤,並用WinRAR打開CentOS-6.3-i386-bin-DVD1.iso將其中image文件夾和ioslinux文件夾中的vmlinuz、initrd.img文件解壓到I:分區。

  下載wingrub工具選擇工具欄中Tools->Partiton List,查找並記錄剛才創建的分區I的Name,格式應為(hd0,X),我的為(hd0,7)。

  下載EasyBCD創建多重啟動,添加新條目->NeoGrub->安裝

  再選擇配置,進入menu.lst編輯。將如下代碼復制到menu.lst

title install CentOS6.3
kernel (hd0,7)/vmlinuz
initrd (hd0,7)/initrd.img

其中(hd0,7)即為之前記錄I:的值。保存退出,至此硬盤准備工作完成。

  • 硬盤安裝

  重啟,選擇NeoGrub Boot loader啟動項進入CentOS的安裝。

  在選擇安裝路徑時,選擇/dev/sdaY,其中Y=X+1,X即為剛才記錄的(hd0,X)。這是因為(hd0,X)為grub中的硬盤分區編號,從0開始;/dev/sdaY為Linux中設備文件名,從1開始。所以我這應為/dev/sda8。

  一路安裝至CentOS分區設置,選擇Create Custom Layout。選擇sda8下面的空閑空間,即之前預留20G的自由空間,分1G為swap,其余為ext4格式的根分區/。

  之后選擇引導加載程序(boot loader)的安裝位置,應安裝在MBR中。在下方操作系統列表中,應有一項為Other即為Win7系統,可編輯名稱為Windows7,並根據需要選擇默認操作系統。

  之后按照說明完成剩余步驟,此時Win7+CentOS雙系統安裝完成。

  • 清理工作

  重啟,此時MBR中已經為CentOS的引導裝載程序grub,可選擇進入Win7或者CentOS。進入Win7,在EasyBCD中刪除之前創建的啟動安裝項NeoGrub Boot loader。

  至此,整個安裝及清理已經完成,但我選擇將刪除安裝時划分出來的I:並將其合並至F:,這一操作導致分區表發生變化:

  操作前 操作后
C:(Windows7引導程序所在分區) (hd0,0) (hd0,0)
Extended分區(包括D、E、F盤) (hd0,1) (hd0,3)
swap (hd0,2) (hd0,1)
/(CentOS引導程序所在分區) (hd0,3) (hd0,2)

但grub的配置文件menu.lst中仍為操作前的分區情況:

default=1
timeout=5
splashimage=(hd0,3)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.el6.i686)
    root (hd0,3)
    kernel /boot/vmlinuz-2.6.32-279.el6.i686 ro root=UUID=70499906-706d-4bc1-ac59-8202b9efb98c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /boot/initramfs-2.6.32-279.el6.i686.img
title Windows7
    rootnoverify (hd0,0)
    chainloader +1

使得開機時,只能進入grub shell環境,無法進行操作系統各自引導加載程序的選擇。只能使用grub命令手動進入操作系統再進行配置:

#進入Windows7
grub> root (hd0,0)
grub> makeactive
grub> chainloader +1
grub> boot


#進入CentOS
grub> root (hd0,2)
grub> kernel /boot/vmlinuz[tab] ro root=/dev/sda3 rhgb quiet
grub> initrd /boot/ininramfs[tab].img

進入CentOS后配置/boot/grub/menu.lst:

default=1
timeout=5
splashimage=(hd0,2)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-279.el6.i686)
    root (hd0,2)
    kernel /boot/vmlinuz-2.6.32-279.el6.i686 ro root=UUID=70499906-706d-4bc1-ac59-8202b9efb98c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /boot/initramfs-2.6.32-279.el6.i686.img
title Windows7
    rootnoverify (hd0,0)
    chainloader +1

並在終端中恢復grub:

sudo grub                               
find /boot/grub/stage1
root (hdX,Y)
setup (hdX)
quit

 

  • 參考資料

  Win7下硬盤安裝Linux(http://hi.baidu.com/sf_chipan/item/59c3272d425bf72e43634a6b)

  刪除Linux與恢復grub(http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=65991)

     


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM