硬件環(huán)境介紹
我的Win10
裝在固態(tài)盤苦蒿,GPT
,啟動方式是UEFI
荚坞。
CentOS7
裝在另一個盤。這樣的方式最簡潔菲盾。
讀者先確定自己是否也是UEFI+GPT
颓影,如果不是請略過這篇文章。
不過現(xiàn)在大多數(shù)電腦都是UEFI+GPT
懒鉴,而網(wǎng)上一些2016年前的诡挂,標(biāo)題未加UEFI
,大多數(shù)是BIOS
方式下的安裝临谱,我們是不能參考的璃俗。
F12下選擇的Legacy
啟動方式就是BIOS
啟動。
不用擔(dān)心CentOS
不支持UEFI
悉默,CentOS7
肯定支持城豁。
搭建CentOS7
的起因
讀完黑客與畫家后,越來越覺得優(yōu)秀的程序員應(yīng)該能橫向發(fā)展抄课,至少要有能橫向發(fā)展的能力钮蛛,對整個計算機(jī)系統(tǒng)有個全面的理解。本身我是學(xué)習(xí)硬件出身的剖膳,如果出去說裝一個系統(tǒng)都不會的話,是多么尷尬岭辣。
正巧鳥哥的Linux私房菜是CentOS
入門的吱晒,于是開始搭建Windos10
和CentOS7
雙系統(tǒng)。
寫這篇博客的起因
寫這篇博客的原因是因為我被網(wǎng)上的"過時"文章坑了很久沦童,免后人踩坑仑濒。
一開始我是對著這篇文章去做的 第一篇參考文章,踩了大坑偷遗。
首先這篇文章是寫在2016年的墩瞳,另外雖然文章沒寫,但是根據(jù)他的步驟來看氏豌,他的電腦啟動方式是BIOS
啟動喉酌,磁盤是MBR
,區(qū)別我待會會講泵喘。另外不能拿EasyBCD
這個工具來修復(fù)引導(dǎo)泪电,它只對BIOS+MBR
啟動有效。
UEFI+GPT 和BIOS+MBR啟動的區(qū)別
UEFI+GPT模式的啟動原理纪铺,首先我們來回顧下BIOS引導(dǎo)MBR分區(qū)的流程相速,BIOS開機(jī)自檢——》讀取硬盤MBR分區(qū)的主引導(dǎo)記錄—》控制權(quán)交給引導(dǎo)程序-》引導(dǎo)程序根據(jù)安裝時候的配置讀取各分區(qū)記錄—》根據(jù)各分區(qū)已經(jīng)有的系統(tǒng)情況,列出啟動目錄—》根據(jù)用戶選擇鲜锚,啟動選擇的引導(dǎo)文件啟動用戶選擇的系統(tǒng)突诬。
現(xiàn)在我們來說說UEFI的情況苫拍,主板上的UEFI模塊—》硬盤內(nèi)的第一個fat分區(qū),如果分區(qū)內(nèi)有EFI這個文件目錄旺隙,就根據(jù)EFI文件目錄的引導(dǎo)文件加載各類型的驅(qū)動和引導(dǎo)文件绒极,啟動系統(tǒng)同時完成自檢。(如果第一個fat分區(qū)沒有EFI目錄則選擇第二個催束,如果第一塊硬盤沒有集峦,擇選擇第二塊,或者U盤以此類推
基本的形式差別是:
BIOS把MBR讀出來交給CPU執(zhí)行抠刺,做MBR做想做的事塔淤。
UEFI是查找磁盤里的\efi\boot\bootx64.efi文件,啟動這個可執(zhí)行程序速妖,讓這程序做想做的事高蜂。
UEFI更先進(jìn)更快。
MBR分區(qū):
MBR的意思是“主引導(dǎo)記錄”罕容,它有自己的啟動器备恤,也就是啟動代碼,一旦啟動代碼被破壞,系統(tǒng)就沒法啟動沧踏,只有通過修復(fù)才能啟動系統(tǒng)霎桅。最大支持2TB容量,在容量方面存在著極大的瓶頸惭笑,那么GPT在今后的發(fā)展就會越來越占優(yōu)勢,MBR也會逐漸被GPT取代生真。
GPT分區(qū):
GPT意為GUID分區(qū)表沉噩,這是一個正逐漸取代MBR的新標(biāo)準(zhǔn),它由UEFI輔住而形成的柱蟀,這樣就有了UEFI用于取代老舊的BIOS川蒙,而GPT則取代老舊的MBR。這個標(biāo)準(zhǔn)沒有MBR的那些限制长已。磁盤驅(qū)動器容量可以大得多畜眨,大到操作系統(tǒng)和文件系統(tǒng)都沒法支持。它同時還支持幾乎無限個分區(qū)數(shù)量术瓮,限制只在于操作系統(tǒng)胶果,Windows支持最多128個GPT分區(qū)。通過UEFI斤斧,所有的64位的win0早抠,win8,win7和Vista撬讽,以及所對應(yīng)的服務(wù)器都能從GPT啟動
一般情況下GPT分區(qū)下的磁盤不僅有一個ESP分區(qū)還有一個MBR分區(qū)蕊连,說法是微軟自留悬垃,我猜測是為了兼容的一些原因。
過程
準(zhǔn)備工作
現(xiàn)在我打算固態(tài)裝Win
,機(jī)械裝CentOS7
甘苍。這樣引導(dǎo)的時候最簡單尝蠕。也可以都裝固態(tài)
1.HDD預(yù)留50G給CentOS7
安裝系統(tǒng)使用
2.關(guān)閉Windows
的快速啟動,不同主板不一樣载庭,百度如何關(guān)閉
3.進(jìn)入BIOS
設(shè)置關(guān)閉Security Boot
看彼,不同主板不一樣,百度如何關(guān)閉囚聚,否則CentOS7
無法寫入引導(dǎo)程序
4 兩個U盤 分別刻錄CentOS7
和Win10
啟動盤
U盤刻錄CentOS7
的過程沒有過時也沒有疑問靖榕,可以根據(jù)第一篇參考文章走。
制作U盤啟動盤的時候要注意選擇支持UEFI
模式的顽铸,否則會讀不到U盤啟動盤茁计。
我的電腦如果選擇傳統(tǒng)啟動U盤能略過這一步,沒必要把相對路徑改為絕對路徑谓松。意味著這里我們可以直接install
星压。我也試過改為絕對路徑,當(dāng)然也可以鬼譬。如果你和網(wǎng)上大多數(shù)教程一樣直接install
不行娜膘,那就找到U盤的絕對路徑。
而UEFI下需要配置絕對路徑优质,不修改會找不到安裝路徑
作圖二的操作limuze /image/vmlinuz initrd=initrd.img linux dd quiet
可以看到你的U盤
可以看到劲绪,label
就是u盤名字,你的u盤名字已經(jīng)在刻錄的時候被改成CentOS
了 ,所以絕對路徑是sdb4
盆赤。這里還要提一下的是UEFI
啟動下的進(jìn)入編輯是E
不是Tab
。
接下來就去進(jìn)入安裝選擇了歉眷。這里也沒什么疑問牺六。
CentOS
安裝過程中要設(shè)置磁盤分區(qū),這個需要注意下汗捡。
這里我遇到了創(chuàng)建分區(qū)一直提示Core.img無法寫入淑际。
原因是在Windows下只需要分出一塊較大的未分配空間就行,記住不要去格式化扇住,保證其“未分配”屬性(Linux的文件系統(tǒng)和Win是不一樣的春缕,NTFS和FAT32都不適用)。
還有不同的是在進(jìn)入分區(qū)創(chuàng)建的時候艘蹋,記得要有一個/boot/efi
分區(qū)锄贼,這是在UEFI
下必須有的,它是在啟動的時候女阀,去磁盤尋找啟動引導(dǎo)文件的宅荤。
- swap交換空間屑迂,這個也就是虛擬內(nèi)存的地方,選擇主分區(qū)和空間起始位置冯键。如果你給Ubuntu系統(tǒng)分區(qū)容量足夠的話惹盼,最好是能給到你物理內(nèi)存的2倍大小,像我8GB內(nèi)存惫确,就可以給個16GB的空間給它手报,這個看個人使用情況,太小也不好改化,太大也沒用掩蛤。(其實我只給了8GB,沒什么問題)
- 新建efi系統(tǒng)分區(qū)所袁,選中邏輯分區(qū)(這里不是主分區(qū)盏档,請勿懷疑,老式的boot掛載才是主分區(qū))和空間起始位置燥爷,大小最好不要小于256MB蜈亩,系統(tǒng)引導(dǎo)文件都會在里面,我給的512MB前翎,它的作用和boot引導(dǎo)分區(qū)一樣稚配,但是boot引導(dǎo)是默認(rèn)grub引導(dǎo)的,而efi顯然是UEFI引導(dǎo)的港华。不要按照那些老教程去選boot引導(dǎo)分區(qū)道川,也就是最后你的掛載點里沒有“/boot”這一項,否則你就沒辦法UEFI啟動兩個系統(tǒng)了立宜。
- 掛載“/home”冒萄,類型為EXT4日志文件系統(tǒng),選中邏輯分區(qū)和空間起始位置橙数,這個相當(dāng)于你的個人文件夾尊流,類似Windows里的User,如果你是個娛樂向的用戶灯帮,我建議最好能分配稍微大點崖技,因為你的圖片、視頻钟哥、下載內(nèi)容基本都在這里面迎献,這些東西可不像在Win上面你想移動就能移動的。
總的來說腻贰,最好不要低于8GB吁恍,我Ubuntu分區(qū)的總大小是64GB,這里我給了12GB給home。
(這里特別提醒一下践盼,Ubuntu最新發(fā)行版不建議強(qiáng)制獲取Root權(quán)限鸦采,因為我已經(jīng)玩崩過一次。所以你以后很多文檔咕幻、圖片渔伯、包括免安裝軟件等資源不得不直接放在home分支下面。你作為圖形界面用戶肄程,只對home分支有完全的讀寫執(zhí)行權(quán)限锣吼,其余分支例如usr你只能在終端使用sudo命令來操作文件,不利于存放一些直接解壓使用的免安裝軟件蓝厌。因此玄叠,建議home分支多分配一點空間,32GB最好……)
- 掛載“/usr”拓提,類型為EXT4日志文件系統(tǒng)读恃,選中邏輯分區(qū)和空間起始位置,這個相當(dāng)于你的軟件安裝位置代态,Linux下一般來說安裝第三方軟件你是沒辦法更改安裝目錄的寺惫,系統(tǒng)都會統(tǒng)一地安裝到/usr目錄下面,因此你就知道了蹦疑,這個分區(qū)必須要大西雀,我給了32GB。
- 最后歉摧,掛載“/”艇肴,類型為EXT4日志文件系統(tǒng),選中邏輯分區(qū)和空間起始位置叁温,
因為除了home和usr還有很多別的目錄再悼,但那些都不是最重要的,“/”就把除了之前你掛載的home和usr外的全部雜項囊括了膝但,大小也不要太小冲九,最好不低于8GB。如果你非要挨個仔細(xì)分配空間锰镀,那么你需要知道這些各個分區(qū)的含義(Linux(ubuntu)分區(qū)掛載點介紹)
不過就算你把所有目錄都自定義分配了空間也必須要給“/”掛載點分配一定的空間。
這里我嘗試了自動分區(qū)也沒有問題咖刃。
如何引導(dǎo)文件
這一步也是比較重要的泳炉,應(yīng)該是所有步驟里最關(guān)鍵的。因為在各種情況下嚎杨,這里的做法完全不同花鹅。
EasyBCD
可以引導(dǎo)BIOS
+MBR
,但是無法引導(dǎo)UEFI
。
方案1:而我這里采取的方式比較方便了 枫浙,兩個系統(tǒng)安裝在不同硬盤刨肃,引導(dǎo)比較清爽 點擊參考
我在這次嘗試之后成功了古拴。開機(jī)的時候默認(rèn)開啟win系統(tǒng),通過選擇不同硬盤啟動真友,更換系統(tǒng)黄痪。
方案2:也可以安裝在一個固態(tài)硬盤,我沒嘗試
這里要注意的是將EFI掛載在一個ESP分區(qū)下,不要再新建ESP分區(qū)了盔然。
如果在 UEFI/GPT 系統(tǒng)上配置 雙啟動桅打,請不要重新格式化 UEFI 分區(qū),因為已有的分區(qū)上包含 Windows 啟動需要的 .efi 文件愈案。不需要重新創(chuàng)建分區(qū)挺尾,只需要 #掛載分區(qū).
其實也就是再選擇完硬盤之后,選擇不同系統(tǒng)啟動站绪,即使第一種方法下選擇centos的磁盤啟動之后遭铺,也是有3個選項,類似這樣的選擇恢准。我也不知道會不會出現(xiàn)win覆蓋linux的情況魂挂,如果有也可以選擇方案3解決。
方案3:這個我也沒嘗試顷歌,安裝在一個硬盤后锰蓬,使用refind引導(dǎo)雙系統(tǒng)。成功之后會有一個界面選擇系統(tǒng)眯漩,不推薦如下
點擊參考
固態(tài)硬盤和機(jī)械硬盤
我也是愛搗鼓芹扭,把Win
也重裝了一遍,我的機(jī)械硬盤是磁盤0,固態(tài)硬盤是磁盤1,一度我以為要把機(jī)械硬盤先拔掉才能把系統(tǒng)安裝在磁盤1赦抖,其實無關(guān)舱卡,只要安裝系統(tǒng)的磁盤有EFI
分區(qū)即可,并且引導(dǎo)文件裝在這個分區(qū)队萤。
系統(tǒng)裝0和1都可以轮锥,調(diào)皮的我甚至也嘗試過,將磁盤1刷成MBR
,機(jī)械盤刷成GPT
,也沒毛病要尔,就是開機(jī)肯定慢了舍杜,變成BIOS
啟動了。
最后當(dāng)然是刷回來的赵辕,兩個都是GPT
既绩。
GPT
下一定要有ESP
和MSR
,我手動創(chuàng)建的時候忘記創(chuàng)建ESP
,會導(dǎo)致開機(jī)之后讀不到```UEFI``硬盤还惠。
末尾
在計算機(jī)中無論做什么饲握,我們都應(yīng)當(dāng)知道每一步操作背后做的事情以及原理;
在開發(fā)中每一件自己口中很神奇的事情,都是自己"照葫蘆畫瓢"的鍋救欧。
至此我已經(jīng)是一個優(yōu)秀的"修機(jī)人員"了衰粹。電腦出問題請聯(lián)系我。
其他參考
小白win10下安裝centos7 uefi + refined 啟動
如何在已安裝 Windows 10 的情況下安裝 Linux(Ubuntu 15.04)雙系統(tǒng)笆怠?
親測UEFI啟動模式的電腦安裝Win10和Ubuntu雙系統(tǒng)
Unified Extensible Firmware Interface (簡體中文)
UEFI 固件
EFI_System_Partition
關(guān)于ESP分區(qū)和UEFI啟動的一些問題铝耻?
鳥哥linux私房菜 第四版
Windows和Ubuntu雙系統(tǒng),修復(fù)UEFI引導(dǎo)的兩種辦法