1. 程式人生 > >win10 ssd+普通硬碟安裝centos7 無法引導啟動linux

win10 ssd+普通硬碟安裝centos7 無法引導啟動linux

轉載:http://blog.csdn.net/guwuhui123/article/details/68940543

安裝過程太心酸了,折騰了整整兩天,安裝失敗了幾十次,到現在凌晨3點半,可算把CentOS 7 安裝上去了,成功實現了WIN10與CentOS的雙系統。

        首先介紹下我的電腦配置,我的筆記本型號是聯想Y400,一共有兩塊硬碟,128ssd(1號) + 1T的hdd(2號),128的SSD沒有分割槽,用來裝WIN10和各種windows軟體,第二塊硬碟用作倉庫盤,打算把它作為CentOS的安裝盤!

        安裝過程:使用軟碟通製作U盤啟用,這個沒什麼問題,然後分配安裝空間,直接使用了win10自帶的硬碟管理工具,為了取得可用空間,在得到未分配空間後使用CMD執行命令視窗輸入命令“diskpart”回車,然後在DISKPART>後面輸入select disk 1 選擇我們的硬碟,然後回車!(當然如果電腦上有好幾塊硬碟的話,你可以輸入select disk X,X代表你的那個硬碟通常為數字0,1,2,3,4等等!由於我電腦中需要使用的是磁碟1,因此,輸入select disk 1!)。注意:這一步中要注意磁碟變成動態磁碟的的簡單卷,這一步會導致磁碟轉換回原先基本磁碟的主分割槽、邏輯分割槽的不可逆,需要備份資料後,清空磁碟後才能轉換回去,會大大浪費時間。

        在完成準備工作後的安裝步驟簡單,但是這裡有一個問題得注意,需要先拆下SSD,再在HDD上安裝CentOS,否則會出現安裝完成後無法重啟進去CentOS等等各種奇怪問題。安裝步驟簡單,只需注意(文中圖均參考網路):


       選中第一項,然後按TAB鍵,然後直接將按TAB鍵之後出來的文字修改為:>vmlinuzinitrd=initrd.img Linux dd quiet。改好之後回車,然後就會列出你的裝置列表了:


       記住sdb4是我的U盤就行了,然後按電源鍵強制重啟,再次進去安裝介面,選中第一項按TAB,然後將底下的命令改成:>vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 quiet,這樣就可以進去圖形化安裝介面了。

       安裝選項中,我的安裝只選了GNOME桌面(不帶任何附加選項),在安裝位置中選擇如下,選中需要安裝在的硬碟,並點選我要配置分割槽,最後點選完成:


在上圖中,選擇標準分割槽,然後通過左下角的“+”號分割槽,分300mb的/boot分割槽,30GB的/分割槽,11GB的/home分割槽,8GB的swap空間,此時然後點選完成,選擇“接受更改”,然後開始安裝,設定root密碼、建立賬戶,等安裝完成後點選重啟(這裡需要注意的是swap的大小,一般來說,應該是實際記憶體的兩倍,但是實際記憶體很大的話,設定8G也夠了)。重啟後需要安裝許可證資訊,按照提示依次輸入1---2---c---c就行。

      重點:由於在之前的安裝中,由於我的電腦是多硬碟,所以在安裝Centos7時安裝引導只能裝在Centos7所在的那塊硬碟上(預設的,如果更改也只能選擇不安裝引導),此時重啟後的電腦沒有像網上網友所說的那樣“只有Centos7的啟動選單,而沒有了win10的引導選單”,我的電腦直接嚮往常一樣直接進入win10的介面,然後啟動進入win10,因為我的ssd預設為第一啟動盤,而我裝Centos7裝在了第二塊硬碟上,所以對ssd上的東西都沒有影響,因此我嘗試用第二塊硬碟啟動(F12選擇以第二塊硬碟啟動),結果是螢幕左上角只有一個點和一個游標,此方法失敗(僅僅是我的電腦這樣失敗了,有網友這樣成功過,你也可以試一試),於是乎就在win10下裝了一個EasyBCD,經下列設定:


       然後重啟電腦,就可以看到NeoSmart Linux了(這個名稱可以自己改,我改為了“menu list”)。


        回車進入該啟動項列表:

       有啟動項列表了,這下總算弄好了,但是回車後,發現螢幕黑屏,沒什麼反應,於是強制重啟電腦,到CentOS Linux啟動項列表這裡時,不按回車,按字母“E”鍵,檢視一下啟動選單哪有問題:


       發現這個啟動選單有些問題,我的電腦是兩硬碟,而我的CentOS7是裝在第二塊硬碟上的,上圖中我用紅色圈出來的那塊區域中顯然不對,

set root='hd0,msdos2'  指定root為第一塊硬碟的第二個分割槽,這裡的root對應的是/boot分割槽(如果沒有單獨指定/boot分割槽的,這個root應該指向"/"分割槽)。這句配置語句顯然與我的實際情況不符,我的Centos7是裝在第二塊硬碟的,所以應該是hd1,/boot是第二塊硬碟的第一個分割槽,所以這句應改為set root='hd1,msdos1',

if下邊那一段和else下邊那一段是在尋找/boot分割槽,併為其設定uuid(全球唯一標示),這個東西知不知道無所謂,你只要知道if和else之間那一段中出現hd的地方都必須是hd1,msdos1就行了(這裡我查過我通過虛擬機器安裝的Centos7的grub.cfg,事實證明確實出現hd的地方都要和root設定的值一致)。

       知道了這個我就進行了臨時修改,然後通過ctrl+X執行啟動選單,結果依然無法進入系統,這就令我很鬱悶,難道多硬碟引導Centos7就這麼困難?

       於是就在網上發帖求教,有個大神告訴我在啟動項列表 處選中第一項按"C"(或者在啟動項選單頁面按"ctrl+ C")進入   grub>  介面,然後執行(一行一行的執行,不要一次寫完再執行)

                   linux   (hd1,msdos1)/vmlinuz-3...    root=/dev/sdb3  (如果/boot分割槽不為單獨分割槽,則執行linux    (hd1,msdos1)/boot/vm...   root=/dev/sdb2);

                   initrd  (hd1,msdos)/initramfs-3....img   (如果/boot分割槽不為單獨分割槽,則執行  initrd  (hd1,msdos2)/boot/initramfs-3...img);

                   boot

        上邊三行程式碼,前兩行寫到數字3時可以按下tab鍵補齊,root前有空格,其中(hd1,msdos)代表的是/boot分割槽,root代表的是/分割槽,所以/boot分割槽是單獨分割槽和不是單獨分割槽有一點小小差別!

        執行完上邊的程式碼後,看到別人說果真進入了系統,可我依舊在系統門外徘徊,異常捉急,本想放棄雙系統想法轉而走向虛擬機器,但心裡依舊不甘心啊。又想到吧SSD拆掉,單獨在HDD上安裝CENTOS,然後改系統裡面/boot/gurd2/gurd.cfg檔案,於是從床上果斷爬起,開機嘗試。

        拆機,拔SSD,安裝CentOS,重啟,成功進入CentOS系統,修改 boot/grub2/grub.cfg裡的linux16與initrd16後的16都去掉,將set之後else之前出現hd的地方都改為了'hd1,msdos1'以及’ahcil1,msdos1'。

         然後關機,裝回SSD,開機進入win10,新增EasyBCD的啟動條目(上面已述),重啟,進去linux再次失敗,抓狂ing。分析問題,這次裝的是CentOS 7.3(1611),在重啟後進入EasyBCD的gurd命令介面中用cat (hd1, 按tab顯示檔案的型別為unknown(之前的安裝嘗試中就發現了,而在CentOS 7.2中可以識別檔案型別),猜測是否為EasyBCD並不支援CentOS 7.3的分割槽檔案格式,因此考慮換CentOS7.2,重複上訴步驟,拆機,拔SSD,重新安裝CentOS 7.2(1511),修改 boot/gurd2/gurd.cfg中的引數,再裝回SSD,設定EasyBCD,重啟,竟然真的通過Centos的啟動選單進入系統了。

         至此,SSD+HDD的多硬碟組合下,win10和Centos7雙系統的引導終於算是完成了,可算能正常的使用雙系統了!

         奇葩的問題:裝單系統或是在虛擬機器裡裝Centos7,linux16和initrd16都沒有問題,系統可以啟動,但是為什麼在多硬碟多系統下就無法啟動!

         此次安裝過程中要注意的關鍵就是:拆下SSD後再安裝CentOS 7.2(1511),然後修改gurd.cfg檔案,最後設定EasyBCD GURD2啟動條目!

還有一個問題就是這種方法Centos7.3還不能安裝成功,不知其具體原因,只能猜測EasyBCD還不能很好的支援Centos7.3吧。

參考文獻地址:

http://blog.csdn.net/sun9987038155/article/details/53351398

http://jingyan.baidu.com/article/e75aca855f971c142edac6ae.html