前不久入手的小Y,最近閒著沒事,就在上面裝了個CentOS,中間遇到些問題,在此作個總結,供大家參考。
目的就是在現有的Win7系統下從硬盤安裝CentOS,並且不破壞電腦自帶的一鍵還原功能。
環境或軟件:
Win7 64位旗艦版(XP下第2步是修改boot.ini,可放狗搜一下)
CentOS鏡像(用的是最小化版CentOS-6.2-x86_64-minimal.iso)
grub4dos http://www.linuxidc.com/Linux/2009-01/18027.htm
EasyBCD http://www.linuxidc.com/Linux/2007-12/10060.htm
准備工作或知識:
需要准備一個FAT32分區,將CentOS-6.2-x86_64-minimal.iso拷貝到該分區根目錄,並將images文件夾提取出來,放在根目錄。
如果沒放在根目錄,注意修改下面第3步中的相關路徑。注意不要使用NTFS分區,嘗試過使用NTFS分區能正常啟動Linux安裝程序,但到第5步時,會找不到iso鏡像。
硬盤預留一塊未分配的區域或現有的分區(主分區、邏輯分區都行,10個G左右),用來安裝CentOS。
Windows分區命名規則:(hdX,Y),其中X表示硬盤編號,從0開始;Y表示分區編號,從0開始,因為限定最多4個主分區,所以0~3表示第一到第四主分區,邏輯分區編號從4開始;如:(hd0,0)表示第一塊硬盤的第一主分區,(hd1,4)表示第二塊硬盤的第一邏輯分區。
Linux分區命名規則:/dev/sdaX,其中X表示分區編號,從1開始。所以Windows下的(hd0,0)在Linux下為/dev/sda1,依此類推。
以下是操作步驟:
1、下載最新版的grub4dos,解壓縮,將grldr、grldr.mbr、menu.lst這三個文件拷貝到Win7系統所在盤(假定為C盤)的根目錄。
下載地址:http://www.linuxidc.com/Linux/2009-01/18027.htm
2、在DOS命令提示符下依次執行下列命令(需要管理員權限),新增grub4dos引導項。
bcdedit /create /d "GRUB4DOS" /application bootsector
命令結果應該會返回一個 GUID,後面的命令用到這個GUID
bcdedit /set {GUID} device partition=C:
bcdedit /set {GUID} path /grldr.mbr
bcdedit /displayorder {GUID} /addlast
具體的含義可以查看bcdedit的幫助(bcdedit /?)。
3、修改menu.lst文件,在適當的位置新增以下內容。
title Install CentOS-6.2-x86_64-minimal.iso
fallback 9
find --set-root /CentOS-6.2-x86_64-minimal.iso
map /CentOS-6.2-x86_64-minimal.iso (0xff) || map --mem /CentOS-6.2-x86_64-minimal.iso (0xff)
map --hook
chainloader (0xff)
savedefault --wait=2
其中title是選項的標題,fallback表示失敗時跳到後面數字對應的項(從0開始),find會自動到各分區的提定位置搜索CentOS-6.2-x86_64-minimal.iso。
4、重啟電腦,在啟動項中選擇“GRUB4DOS”,進入到grub4dos,然後選擇"Install CentOS-6.2-x86_64-minimal.iso“。
5、順利進入CentOS的安裝界面,安裝源位置選擇從硬盤安裝("Hard Disk“還是"Hard Driver",忘記了),選擇iso鏡像所在的分區/dev/sdaX(如果真搞不清楚X是幾,可一個一個嘗試,如果iso鏡像是放在根目錄下的,路徑可留空。
6、分區選擇的時候,一定要仔細,選錯了就悲劇了。
7、安裝Boot Loader的時候,選擇安裝在Linux所在的分區,不要安裝在MBR,否則會導致一鍵還原功能失效。
8、安裝完成,重啟,這時是不會看到CentOS啟動項的,不急,先進Win7,用EasyBCD軟件,Add new entry->Linux下新增一項,注意選對分區(有標識Linux的那個)。
9、重啟系統,將會看到CentOS啟動項,至此所有操作完成。
後記:
可能遇到的問題:
1、使用過程中如果刪除Linux所在分區前面的分區,導致進入Linux時,停在grub>命令提示符,這是因為刪了分區,分區編號變了,修復一下即可,在grub>命令提示符下輸入"setup --prefix=(hdX,Y)/boot/grub"。
2、邏輯分區過多(個人猜測是這個原因),會導致一鍵還原功能啟動不了,減少分區後可正常啟動。