新聞中心
前言
很想安裝windows10+centos7雙系統(tǒng),然而之前安裝失敗格盤的慘痛教訓(xùn)歷歷在目。這幾天閑著沒事查閱了好多資料,慫了一個星期,終于決定再來一次嘗試。總的來說安裝過程還是挺順利的,但是后期Windows引導(dǎo)的問題折騰了三天。

成都服務(wù)器托管,成都創(chuàng)新互聯(lián)公司提供包括服務(wù)器租用、成都移動云計算中心、帶寬租用、云主機、機柜租用、主機租用托管、CDN網(wǎng)站加速、空間域名等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:18982081108
技術(shù)不好,最終搞出個另類的雙系統(tǒng):默認(rèn)啟動Windows10,同時支持Windows Quick Boot;BIOS下切換到CentOS。
設(shè)備信息
PC: Thinkpad E431,Microsoft Windows10 Pro 64Bit (10240)
CentOS版本:CentOS-7-x86_64-DVD-1511(這個版本的CentOS支持UEFI)
前期準(zhǔn)備
1. 分配CentOS安裝盤符
直接使用Windows的磁盤管理,用磁盤壓縮切一個空間出來就好了。我是切了50G出來。
2. 關(guān)閉Windows Quick
3. 關(guān)閉Secure Boot
這個要在BIOS下執(zhí)行。
安裝CentOS
1. UltraISO制作CentOS啟動盤。
2. 設(shè)置CentOS鏡像位置
setparams "Install CentOS 7" Install
limuze /image/vmlinuz inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
initrdefi /image/pxeboot/initrd.img
這個是用來選擇鏡像位置的,因為CentOS它不會自動定位到正確的位置。。。所以接下來要先修改上面的內(nèi)容。
① 把第二句改成:
limuze /image/vmlinuz initrd=initrd.img linux dd quiet
limuze /image/vmlinuz inst.stage2=hd:/dev/sdb4 quiet
接下來按Ctrr+x執(zhí)行,CentOS就開始安裝了。記得要勾選一個桌面(如gnome桌面)。
4. 設(shè)置CentOS磁盤分區(qū)
/ :大小30G,設(shè)備類型`LAM`,文件系統(tǒng)`ext4` /boot :大小200M,設(shè)備類型`標(biāo)準(zhǔn)分區(qū)`,文件系統(tǒng)`ext4` /boot/efi:大小128M,設(shè)備類型、文件系統(tǒng)默認(rèn)值(這個efi分區(qū)是放CentOS的uefi文件的,貌似最后也就占10M左右的空間)
/swap :大小8G,設(shè)備類型`LAM`,文件系統(tǒng)`ext4`(據(jù)說swap分區(qū)要為物理內(nèi)存的兩倍,不過覺得我8G內(nèi)存給它8G已經(jīng)算多了)
/home: :剩下的空間都給它,設(shè)備類型`LAM`,文件系統(tǒng)`ext4`
之后就開始漫長的安裝了。。。。
修復(fù)引導(dǎo)
1. 網(wǎng)友建議
網(wǎng)上說的在Windows下使用easybcd添加CentOS的引導(dǎo),反正我試了很多遍就是沒成功。事實上easybcd只能添加CentOS的mbr引導(dǎo),這個可以在easybcd看出,然而我是通過UEFI來裝的,應(yīng)該就不行。
2. 幾番折騰,新辦法
① 前面CentOS分區(qū)的時候?qū)嶋H上/boot/efi是一個ESP分區(qū)(UEFI 系統(tǒng)分區(qū))。里面放的是CentOS的EFI引導(dǎo)文件。
$ ls -R EFI/
EFI/:
BOOT/ centos/
EFI/BOOT:
BOOTX64.EFI* fallback.efi*
EFI/centos:
BOOT.CSV gcdx64.efi* grub.cfg.bak grubx64.efi* shim.efi*
fonts/ grub.cfg grubenv MokManager.efi* shim-centos.efi*
EFI/centos/fonts:
unicode.pf2
其中最重要的文件是grubx64.efi,開機時,BIOS先通過ESP分區(qū)找到相應(yīng)的efi程序,然后加載啟動系統(tǒng),這里的grubx64.efi就是用來加載CentOS的。
② 以此類推,Windows下肯定也有類似的文件。的確,在裝Windows10的時候,會自動分配一個隱藏的ESP分區(qū),盤符別名為SYSTEM_DRV:
BOOT/
EFI/
其中EFI/Microsoft/Boot目錄里面放的就是加載Windows系統(tǒng)的efi文件。即EFI/Microsoft/Boot/bootmgr.efi。
由上可知,整個硬盤共有兩個ESP分區(qū),常理上講好像有點不科學(xué),具體我也不知道可不可以。我覺得可能是不可以的,測試了下,發(fā)現(xiàn)BIOS每次都是從SYSTEM_DRV里面搜索efi程序,而CentOS的efi又不在SYSTEM_DRV目錄下,這應(yīng)該就是CentOS無法啟動的原因。
③ 所以接下來我就把CentOS的ESP分區(qū)里面的EFI/centos整個文件夾都拷貝到SYSTEM_DRV盤下的/EFI目錄下。重啟電腦發(fā)現(xiàn)還是不行,原因很簡單
a.如果想要出現(xiàn)兩個系統(tǒng)的選擇項,那就要使用Win10引導(dǎo)CentOS或者有個程序來專門引導(dǎo)兩個系統(tǒng),前者我查了很多資料還是沒弄出來,好像是要修改Windows的BCD文件,有點麻煩。至于后者,有個叫rEFind的程序(rEFind下載)可以達(dá)到目的,不過弄出來界面太丑了,我放棄了。
b.如果想要使用BIOS引導(dǎo),就要把EFI/centos里面的路徑寫到一些特殊的文件,這個要用到一個叫BOOTICE的工具BOOTICE下載。
3. BOOTICE使用教程
\EFI\centos\grubx64.efi
啟動分區(qū)選擇和Windows系統(tǒng)一樣的項。
最后把它移動到第二個,保存。
③ 使用PE把\EFI\centos從CentOS的ESP目錄移動到Windows的ESP目錄下。這一步是為了讓上面設(shè)置啟動文件:\EFI\centos\grubx64.efi生效。
不得不說,PE真是個好工具。
成功
通過上述步驟之后,重啟電腦,電腦應(yīng)該還是自動進(jìn)入Win10,因為BOOTICE工具是把CentOS添加到BIOS的啟動序列中= =
重啟,進(jìn)入BIOS(Thinkpad是F12),可以看到BIOS啟動列表有Windows10、CentOS、USB HDD等等,這個USB HDD就是U盤,點CentOS,就可以進(jìn)入CentOS的引導(dǎo)了,然后啟動CentOS。到這里就成功了。
心得
裝這個雙系統(tǒng),修復(fù)引導(dǎo)花了我好長時間,不過也學(xué)到了很多東西,比如UEFI和傳統(tǒng)Legacy的區(qū)別、UEFI的工作原理、PE的作用等等,最終文件沒有發(fā)生丟失,也算是值了。下面是總結(jié)。
1. UEFI+GPT裝雙系統(tǒng)真麻煩
2. 微軟壟斷心態(tài)真可怕
3. Google搜索東西靠譜多了
4. PE真是個好工具(進(jìn)入磁盤修改EFI文件)
5. 我裝的雙系統(tǒng)怎么和大家的不一樣= =
(又要繼續(xù)干活了。。。)
參考資料
CentOS7安裝教程
- U盤安裝CentOS7全程筆記 http://www.linuxidc.com/Linux/2016-07/133646.htm
UEFI引導(dǎo)修復(fù)
當(dāng)前題目:Windows10+CentOS7雙系統(tǒng)(UEFI+GPT)
標(biāo)題來源:http://www.5511xx.com/article/djoedie.html


咨詢
建站咨詢
