前不久入手的小Y,最近閑著沒事,就在上面裝了個CentOS,中間遇到些問題,在此作個總結,供大家參考。
目的就是在現有的Win7系統下從硬碟安裝CentOS,並且不破壞電腦內建的一鍵還原功能。
環境或軟體:
Win7 64位旗艦版(XP下第2步是修改boot.ini,可搜一下)
CentOS鏡像(用的是最小化版CentOS-6.2-x86_64-minimal.iso)
grub4dos
EasyBCD
準備工作或知識:
需要準備一個FAT32分區,將CentOS-6.2-x86_64-minimal.iso拷貝到該分區根目錄,並將images檔案夾提取出來,放在根目錄。
如果iso鏡像檔案沒放在根目錄,則需要修改下面第3步menu.lst檔案中的相關路徑。
注意不要使用NTFS分區,因為linux不能直接掛載NTFS分區,如果使用NTFS分區,到下面第5步時,會提示找不到檔案(install.img)。
硬碟預留一塊未分配的地區或現有的分區(主要磁碟分割、邏輯分區都行,20個G左右,按需設定),用來安裝CentOS。
Windows分區命名規則:(hdX,Y),其中X表示硬碟編號,從0開始;Y表示分區編號,從0開始,因為限定最多4個主要磁碟分割,所以0~3表示第一到第四主要磁碟分割,邏輯分區編號從4開始;如:(hd0,0)表示第一塊硬碟的第一主要磁碟分割,(hd1,4)表示第二塊硬碟的第一邏輯分區。
Linux分區命名規則:/dev/sdXY,其中X表示硬碟編號,從a開始;Y表示分區編號,從1開始。所以Windows下的(hd0,0)在Linux下為/dev/sda1,依此類推(這是SCSI/SATA介面的硬碟,如果是IDE介面的硬碟,則為/dev/hdXY)。
以下是操作步驟:
1、下載最新版的grub4dos,解壓縮,將grldr、grldr.mbr、menu.lst這三個檔案拷貝到Win7系統硬碟(通常為C盤)的根目錄。
官方:http://download.gna.org/grub4dos/
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 driver),選擇iso鏡像所在的分區/dev/sdXY(如果真搞不清楚XY是幾,可一個一個嘗試),如果提取出來的images檔案夾是放在根目錄下的,路徑可留空(即預設是/images/install.img)。
6、安裝分區選擇的時候,一定要仔細,選錯了就悲劇了。
7、安裝Boot Loader的時候,選擇安裝在Linux所在的分區,不要安裝在MBR,否則會導致一鍵還原功能失效。
8、安裝完成,重啟,這時是不會看到CentOS啟動項的,不急,先進Win7,用EasyBCD軟體,Add New Entry->Linux/BSD下新增一項,注意選對分區(有標識Linux的那個)。
9、重啟系統,將會看到CentOS啟動項,至此所有操作完成。
後記:
可能遇到的問題:
1、使用過程中如果刪除Linux所在分區前面的分區,導致進入Linux時,停在grub>命令提示字元,這是因為刪了分區,分區編號變了,修複一下即可,在grub>命令提示字元下輸入以下命令即可修複。
root (hdX,Y)
setup --prefix=/grub (hdX,Y)
2、邏輯分區過多(個人猜測是這個原因),會導致一鍵還原功能啟動不了,減少分區後可正常啟動。