第一步 準備工作
分區
給CentOS 系統單獨創建一個分區,具體看空閑硬盤的大小決定。
- 右鍵桌面上 [我的電腦] 或者 [此電腦] 圖標,選擇 [管理] → [計算機管理] → [存儲] - [磁盤管理]
- 選擇一個空閑空間較大的分區,右鍵選擇 [壓縮卷(H)...]
- 在彈出的對話框中輸入需要分配給 CentOS 系統的空間大小,以 MB 為單位
- 輸入完畢后,點擊對話框右下角的 [壓縮] 按鈕執行壓縮即可
注意:壓縮出的新分區,不要執行 [新建簡單卷],否則稍后 CentOS 不識別,到此步即可
下載 CentOS 7 系統文件
到 CentOS官網 下載 ISO 文件,DVD 版即可。
制作優盤啟動盤
同樣很簡單:
- 準備一個優盤,備份里面所有你認為不能刪的文件,稍后將會格式化此優盤
- 到 UltraISO官網 下載軟件
- 安裝,我基本是用完就卸載,所以,除了安裝路徑改下,其他全部默認
- 運行 UltraISO,選擇試用,選擇主界面菜單欄里的[文件] → [打開],選擇你剛下載好的 CentOS 7 鏡像
- 選擇菜單欄里的 [啟動] → [寫入硬盤映像]
- 在彈出框中確認選中的優盤無誤,其他選項保持默認,無需修改,直接點擊下方的 [寫入] 按鈕,執行制作優盤啟動盤,稍后確認制作成功的提示信息即可
準備工作到此結束
第二步 從優盤啟動安裝
調整 BIOS 引導順序
- 插入剛剛制作的優盤啟動盤,重啟電腦,開機階段按
F2
、F8
或F12
進入BIOS
- 切換到
Boot
界面,找到優盤啟動項,使用F5
或F6
調整其順序至第一位,即從優盤啟動 - 按
F10
保存并退出BIOS
,即可從優盤引導啟動。 - 稍后進入一個標題為
CentOS 7
的黑白界面:
圖片加載中...
同時提示 Press Tab for full configuration options on menu items.
和 Automatic boot in 60 seconds...
。
-
默認選中的是 第一項即
Install CentOS 7
,按Tab
鍵,下方的提示信息將顯示為vmlinuz initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207x20x86_64 rd.live.check quiet
圖片加載中... -
移動光標,刪除
LABEL=CentOS\x207x20x86_64 rd.live.check
這部分,并用linux dd
替換,最終的內容為vmlinuz initrd=initrd.img linux dd quiet
圖片加載中... -
確認無誤后回車,可以看到如下界面
圖片加載中...
這里可以看到,界面下方有4列,分別是DEVICE
、TYPE
、LABEL
和UUID
,LABEL
這一列就是驅動器名稱,據此找到你的優盤,并記下對應DEVICE
列的值,一般是sdb4
。 -
強制關閉計算機后再開機,回到剛才倒計時那個界面,依舊按
Tab
鍵,修改啟動參數,這次修改為vmlinuz initrd=initrd.img inst.stage2=hd:/dev/sdb4 rd.live.check quiet
,這里的sdb4
替換成你剛才記下的自己優盤對應的DEVICE
列的值。
圖片加載中... -
確認無誤后回車,稍等片刻就可以看到暖暖的界面啦!
圖片加載中...
開始安裝
- 上面的系統語言根據需要自行選擇(為了防止系統自動生成家目錄下有
桌面
、下載
這類中文名路徑,切換路徑的時候還要修改輸入法,比較麻煩,所以這里我保持默認,即English
),這里主要說下第二步的INSTALLATION SUMMARY
。
圖片加載中...
選擇需要安裝的基礎軟件
- 點擊
SOFTWARE
下的SOFTWARE SELECTION
選擇一些需要安裝的基礎軟件,這里只選擇安裝一個桌面軟件GNOME Desktop
就夠了,選擇完成之后點擊左上角的Done
回到INSTALLATION SUMMARY
主界面。
圖片加載中...
磁盤分區
-
點擊
SYSTEM
下的INSTALLATION DESTINATION
選擇安裝位置,這里可以看到我們之前壓縮出來的那個新分區,以及優盤分區。
選中那個新分區,并選中Other Storage Options
→Partitioning
下的I will configure partitioning
選項,切記,一定要選中此項,否則整個硬盤的數據都將被刪除!!!
確認無誤后,點擊左上角的Done
。
圖片加載中... -
這一步對硬盤進行分區,可以點擊
Click here to create them automatically
即可讓安裝程序自動創建分區,非常方便,也可以點擊左下角寫有AVAILABLE SPACE
字樣的紅色區域上方的+
按鈕手動創建分區。
圖片加載中...
選擇手動分區的話,要注意單位,這里我選擇自動分區。分區完成并且確認無誤后,點擊左上角的Done
結束對硬盤的分區操作。下面我講下手動分區操作步驟。
點擊 +
按鈕,在彈出的對話框中選擇新分區掛載的路徑,并輸入新分區的大小,這里我們設置新分區的大小為 6 GB,并掛載在 根目錄 /
下。點擊 Add mount point
保存分區信息。
此時,可以看到新分區已經出現在左側欄里了,但分區的單位并不對,默認剛才輸入的單位是 MiB
并顯示為 KiB
,這里我們修改為 MiB
即可,點擊右下角 Update Settings
保存修改后的信息。
以同樣的方式添加
swap
等分區,添加完成后,點擊左上角的 Done
按鈕,完成對磁盤的分區。如果沒有給 /boot
進行分區,會在第一次點擊 Done
后收到警告信息。可以點擊 Click for details
查看警告原因,然后點擊 Close
后再次點擊一次 Done
;也可以忽略警告信息,再點一次 Done
。忽略警告信息,點擊兩次
Done
之后,可以在彈出的對話框中看到,即將對磁盤進行修改的摘要信息,直接點擊 Accept Changes
,開始對硬盤執行分區操作。- 回到
INSTALLATION SUMMARY
界面,待分區執行完成后,SYSTEM
下的INSTALLATION DESTINATION
下的黃色感嘆號就沒有。點擊右下角的Begin Installation
按鈕開始安裝CentOS
系統。
圖片加載中...
初始化賬戶
-
安裝進度界面可以看到
USER SETTINGS
下,ROOT PASSWORD
提示需要給root
賬戶設置密碼(root
賬戶默認是沒有密碼的),USER CREATION
提示創建一個普通用戶。下面我們按照提示完成對賬戶的初始化。
圖片加載中... -
點擊
USER SETTINGS
下的ROOT PASSWORD
,給root
賬戶設置密碼。如果設置的密碼強度不夠,需要點兩次Done
按鈕忽略警告信息,完成對root
賬戶的初始化。
圖片加載中... -
完成對
root
賬戶初始化后,可以看到USER SETTINGS
下USER CREATION
的黃色感嘆號已經消失了,說明初始化root
賬戶的密碼后,創建普通賬戶已經變成一個可選項。
圖片加載中...但推薦仍創建一個普通賬戶,以便平時使用,而非平時直接使用
root
賬戶,這樣可以減少使用過程中的誤操作,以及root
賬戶密碼泄露的風險。點擊USER CREATION
,創建一個新的賬戶,同樣ROOT PASSWORD
一樣,如果密碼強度不夠,請點擊兩次Done
按鈕。
圖片加載中...
完成安裝
- 約15 ~ 30 分鐘后,CentOS 7 的安裝就大功告成啦。為了避免重啟后再次從優盤啟動,可以先拔掉優盤,再點擊
Reboot
按鈕重啟計算機;也可以在重啟時進入BIOS
調整引導順序,恢復硬盤作為第一引導盤。
- 開機后會看到一個黑白屏的啟動菜單,并且有一個默認選項,屏幕下方有一個 5 秒的倒計時,若 5 秒內沒有任何操作,將使用默認選中的內核啟動系統,也可以使用上下鍵進行切換并按回車鍵,即可使用選中的內核啟動系統。這里默認即可。
第三步 找回 Windows 10 啟動項
可能大家都注意到了,上面重啟之后,已經無法進入之前的 Windows 10 系統。是的,CentOS 7 不能在安裝過程中設置之后的啟動項,不像 Ubuntu 那樣,在安裝 Ubuntu 的過程中,就可以選擇啟動項,因此這時候就無法進入 Windows 10 了。
不過,不用擔心,因為 Windows 10 系統的引導信息以及數據都是還在的,我們只需要在 CentOS 7 中找回 Windows 10 的引導信息并添加到啟動菜單中就可以了。
- 啟動 CentOS 7 并使用事先設定的賬戶,登錄系統。這里我使用的是非
root
賬戶登錄的。
安裝 ntfs-3g
- 右鍵桌面,打開一個終端。執行以下命令安裝
ntfs-3g
:
sudo yum install -y ntfs-3g
之所以需要安裝 ntfs-3g
,是因為 Windows 家族專用的文件系統,CentOS 7 默認不能識別,而要想在 CentOS 7 系統中找回 Windows 10 的引導信息,勢必要讓 CentOS 7 系統識別 Windows 10 的文件系統,故安裝此庫。
更新 Grub2 啟動菜單,找回 Windows 10
- 執行以下命令即可找回 Windows 10 引導信息:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
這一條命令,是讓 grub2
自動掃描磁盤中已經安裝的所有系統的引導信息,并將其加入到啟動菜單中。重啟一下計算機,在上面提過的啟動菜單界面,是不是可以看到一個有 Windows
字眼的啟動項啦?這就是你的 Windows 10!切換到此項,回車,我 Windows 10 又回來啦!
第四步 修復啟動菜單界面 Windows 版本顯示錯誤的問題
雖然 Windows 10 已經找回,然而,不盡如人意的是,引導 Windows 10 的菜單項上的 Windows 系統的版本并非“Windows 10”,而是“Windows 7”或 “Windows 8.1”等。
初步推測,此啟動項上顯示的 Windows 版本號,取決于你從何版本的 Windows 升級到 Windows 10的(若你是從 Windows 7 升級到 Windows 10 的,那此啟動項的文字就會顯示“Windows 7”字眼,對于從 Windows 8.1 升級也是一樣的道理。未考慮直接安裝 Windows 10 的情況)。
需要說明的是,這里只是一個文字顯示錯誤,對正常使用沒有絲毫影響。但你有強迫癥的話,請繼續往下看。
修復顯示錯誤
我已經打好了一個 patch,放到了這里了,登錄已安裝好的 CentOS 7 系統,打開一個終端,并這行以下命令即可:
- 下載patch
wget https://gist.githubusercontent.com/liangzai-cool/59f0c29a528305a9aa1c3971aeef604b/raw/316a739240b388ff46ee95d38d2c7a97dcd53cbf/20microsoft-win10.patch
- 安裝patch
((sudo cp 20microsoft-win10.patch / && cd / && sudo patch -p0 ) < 20microsoft-win10.patch)
錯誤原因淺析
- 啟動菜單是執行
Grub2
的命令后,由Grub2
生成的 -
Grub2
本身并不能識別磁盤中已安裝的操作系統,它是依賴os-prober
這個庫來識別的 -
os-prober
本是為debian
系統編寫的,其在debian
系統下不能識別Windows 10
的問題已經修復 - CentOS 下的
os-prober
目前最新版本依舊是1.58
,該版本依舊存在此問題,貌似 CentOS 下的os-prober
無人維護。問題代碼位置是/usr/libexec/os-probes/mounted/20microsoft