前不久入手的小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、邏輯分區過多(個人猜測是這個原因),會導致一鍵還原功能啓動不了,減少分區後可正常啓動。