1. 程式人生 > >如何在一臺電腦上安裝多個Linux發行版

如何在一臺電腦上安裝多個Linux發行版

不得不承認,在一臺電腦上安裝多個Linux發行版,這是一個十分‘尷尬的’需求,但是出於某種原因,我就是有了這種需要。

經常安裝Windows的朋友都知道,window多系統安裝很簡單,系統會自動檢索更新引導選單,所以安裝完畢就可以選擇不同的系統進入了。

但是安裝多個Linux發行版並不會自動新增引導選單,就需要自己動手了。現在大多數的Linux發行版都是使用Grub引導,這就為多個Linux發行版統一引導提供了可能。

我們知道,主流的Linux發行版很多,最常見的就是Ubuntu和CentOS了。對了還有一個不得不提的著名的所謂黑客專用Linux發行版Kali Linux,有興趣的朋友可以好好了解一下。

我的目的是:

在一臺物理機上安裝2個以上Linux發行版;統一引導,可選擇不同的系統進入。其實,根據需求也可以共用/home分割槽,這樣對於多個Linux系統之間的檔案共享是很有好處的,也可以減少安裝磁碟上/home分割槽的數量。

基本情況:

硬碟 GPT格式 空白無分割槽表

主機板 預設UEFI引導

系統 Ubuntu16.04 LTS 和 CentOS 7

安裝方法

1、分割槽方案

對於個人使用的Desktop Linux,我個人認為其實一個根分割槽/加一個/home分割槽就十分足夠了,很多人甚至認為一個根分割槽/就足夠了。為了不同Linux發行版之間的檔案共享,我還是建立了/home分割槽。

分割槽方案有兩種,分別對應希望公用/home分割槽的和不希望公用的。

首先是GPT磁碟下獨立/home分割槽的分割槽方案:


然後是公用/home分割槽的方案:


在GPT分割槽表下安裝系統,全部分割槽都是主分割槽就可以,RAM分割槽大小在記憶體<8G的情況下,最好是記憶體的兩倍,否則,等於RAM大小就行了。

公用Linux的swap分割槽帶來了一定的問題,如果A系統休眠後打開了B系統,那麼A系統休眠期間儲存在swap分割槽的資料就沒了,再次開啟A系統,和開機一樣,

這個和swap分割槽的作用有關。但是,這個問題並不會太重要,我選擇忽略它。

2、安裝步驟

對於獨立/home分割槽的方案,任何有一點點Linux安裝經驗的人,在安裝過程中稍微注意一下就可以了,就能保證成功的安裝好2個Linux,併成功開機第一安裝的Linux。因為引導問題還未解決。

簡而言之,在安裝第一個Linux發行版的時候,在GPT磁碟空閒區域的開頭,建立EFI分割槽、根分割槽/和/home分割槽,並在磁碟的尾部建立交換分割槽swap。第一個Linux發行版安裝完成之後,正常情況下是可以正常開機的。檢查沒問題了,就可以開始安裝第二個Linux發行版了。在安裝第二個Linux發行版的時候,需要注意的是,EFI分割槽和交換分割槽swap已經有可用的了,安裝程式可以自動檢測得到,因此不需要再關係這2個分割槽,只需要在磁碟剩餘的空閒分割槽中建立這個系統本身需要的根分割槽/和/home分割槽。

對於公用/home分割槽的安裝,在安裝第一個Linux發行版時,需要在磁碟空閒空間的開頭建立EFI分割槽和根分割槽/,並在磁碟空閒空間的末尾建立/home分割槽和交換分割槽swap,這時候要注意,/home分割槽需要足夠的大,因為如果你是準備安裝2個Linux發行版到磁碟上,那麼在以上分割槽完成之後,只需要留下一個足夠作為根分割槽/的空閒空間就可以了。安裝完成,確認開機沒問題,就可以開始安裝第二了。安裝第二個的時候,根分割槽/還是一樣的建立,但是我們的目的是公用/home分割槽,所以在分割槽的時候,只需要將已經存在的分割槽選中,並修改其掛載點為/home就可以開始安裝了。

至此,兩個linux發行版都已經正常的安裝到了磁碟上,第一個安裝的Linux也已經能夠正常開機了。但是,在開機的時候,無法看到第二個安裝的Linux。這是大概是因為沒有將第二個Linux的引導寫入到EFI下的BOOT檔案中。具體我還沒搞太清楚,不管亂說。

這時候,只需要以管理員許可權執行一條程式碼就可以搞定了

sudo update-grub 

你會發現控制檯的輸出中有提到發現了你安裝的另一個Linux發行版,並添加了引導。

重啟,就可以看見引導選單裡面有多個選項,可以選擇不同的系統進入。

對於公用/homg分割槽的,第二個系統開機成功之後,在/home目錄下就可以看將兩個不同的檔案夾了。