重走LFS之路:(二) 儲存裝置準備

@郝平睿發表於2015-04-03

LFS的編譯需要單獨有一塊儲存,條件不好的就單獨劃個分割槽,條件好的就再掛塊硬碟,實在不行就新建個目錄來做這件事好了,只不過這樣是沒法引導起來,只能chroot之後當編譯環境用。

重走LFS之路:(二) 儲存裝置準備

(題圖來自: techradar.com)

我這就以VirtualBox新建一塊SATA硬碟,然後接入虛擬機器,分割槽,掛載為例來記錄這個過程。

開啟VirtualBox,左側列表中選擇我用來做LFS的虛擬機器PureDebian-LFS。

單擊設定,彈出的對話方塊中選擇儲存這一項,從右側點選”控制器:SATA”,同一行會出現兩個小圖示,一個是光碟,一個是硬碟。

點選硬碟圖示,在彈出的對話方塊中選擇”建立新的虛擬盤(N)”

重走LFS之路:(二) 儲存裝置準備

在出現的”建立虛擬硬碟”對話方塊中,我選擇了”VDI(VirtualBox 磁碟映像)”,這是VirtualBox的預設磁碟格式。

重走LFS之路:(二) 儲存裝置準備

點選下一步,進入”儲存在物理硬碟上”這一步,可以選擇儲存方式,建議選擇動態分配,這樣的好處就是用到了更大空間才會自動擴充套件,不會一直佔用那麼大物理硬碟空間,同時建立時間會大大縮短。

重走LFS之路:(二) 儲存裝置準備

再次單擊下一步,進入”檔案位置和大小”選項。這裡需要選擇新增虛擬硬碟的位置,名稱和最大容量。

重走LFS之路:(二) 儲存裝置準備

新硬碟引數配置完成,點選”建立”按鈕,VirtualBox就會按照剛才指定的引數來建立一塊新的虛擬硬碟,並自動順序新增到虛擬機器的硬碟列表中。

重走LFS之路:(二) 儲存裝置準備

此時就可以點確定按鈕,然後啟動虛擬機器了。

重走LFS之路:(二) 儲存裝置準備

使用ls -l /dev | grep sd來檢視虛擬機器所有的硬碟裝置,顯然sda是有分割槽的,那麼新硬碟應該就是sdb。接下來理所當然應該是新硬碟的分割槽工作,誠然fdisk無論在開源還是閉源世界都有著無可替代的地位,不過在命令列中我們現在有了更好的硬碟工具來幫助我們分割槽——cfdisk。

sudo cfdisk /dev/sdb

我們通過引數來指定了cfdisk來操作的裝置

重走LFS之路:(二) 儲存裝置準備

文字圖形工具還是比命令列看起來舒服一些,上面很清楚得顯示著硬碟資訊,比如:我們在操作一塊名字叫做/dev/sdb的儲存裝置,它的容量是21.4GB。

此時我們可以通過方向鍵來移動游標所覆蓋的選項來進行操作,下面我們來新建分割槽。方便起見,除了/boot分割槽我會分128M來存放grub,還有1GB的swap分割槽,其他全部分為一個區,分割槽上不再區分其他目錄。

選擇”New”來新建一個分割槽。

游標預設覆蓋[Primary],提示”Create a new primary partition”,直接敲回車建立一個新的主分割槽。

此時提示Size (in MB),我把數字改成128來表示我要建立的分割槽大小,單位是MB,此時我們要建立的是一個引導分割槽,就放一個grub,所以128足夠了,所以按下回車進入下一步。

游標預設覆蓋[Beginning]提示”Add partition at beginning of free space”,在空閒空間的起始位置來新增一個分割槽,直接回車進入下一步。

這一步操作比較多,需要啟用引導,選擇分割槽型別和寫入更改。

游標預設覆蓋[ Bootable ],先回車一下,在上方新建的分割槽這一欄Flags欄位會出現Boot字樣即可。

按方向鍵向右移動游標到[ Type ],此時提示”Change the filesystem type (DOS, Linux OS/2 and so on)”,更改檔案系統型別。現在新建的分割槽那一欄FS Type一項預設就是Linux,所以不用更改,等下建立swap交換分割槽的時候會用到。

繼續向右移動游標到Write,提示”Write partition table to disk (this might destroy data)”,向硬碟寫入分割槽表(這可能會破壞資料)。此時我們不著急寫入,因為還有別的分割槽沒有劃分,等我們都劃分完成,再一起寫入。

方向鍵按向下,游標選中”Free Space”,我們來建立交換分割槽。基本上都是重複剛才的步驟,只不過大小改成1024,不需要置Boot標識。

這裡需要選擇[ Type ]來改一下型別,選中回車後進入型別選擇選單,編號預設輸入就是82,也就是”Linux swap / Solaris”,直接回車即可。此時回到主選單,可以看到第二個分割槽sdb2的”FS Type”一項改成了”Linux swap / Solaris”。

按方向鍵向下,選中Free Space,重複sdb1的建立步驟,型別選擇[Logical],大小預設最大即可,不需要更改,建立完成後Name欄會顯示sdb5。

重走LFS之路:(二) 儲存裝置準備

關於為什麼邏輯分割槽要從5開始排號……

科普一下,Boot Sector也就是硬碟的第一個扇區,它由MBR(Master Boot Record), DPT(Disk Partition Table) 和 Boot Record ID三部分組成。

MBR又稱為主開機記錄,佔用Boot Sector的前446個位元組(0~0x1BD),存放系統主載入程式(它負責從活動分割槽中裝載並且執行系統載入程式)。

DPT即主分割槽表佔用64個位元組(0x1BE~0x1FD),記錄磁碟的基本分割槽資訊。主分割槽表分為四個分割槽項,每項16個位元組,分別記錄每個主分割槽的資訊(因此最多可以有四個主分割槽)。

Boot Record ID即引導區標記佔用兩個位元組(0x1FE~0x1FF),對於合法引導區,它等於0xaa55,這是判別引導區是否合法的標誌)

新的硬碟分割槽表建立完畢,需要寫入硬碟了。橫移游標覆蓋[ Write ],回車,會出現一個問題”Are you sure you want to write the partition table to disk? (yes or no):”,你確定要把分割槽表寫入磁碟咩?需要回答yes或者no,同時下方會出現一個警告”Warning!!  This may destroy data on your disk!”,警告!!這可能會損壞你硬碟上的資料!

事實上不是可能,重新寫入分割槽表一定會損失硬碟資料。不過沒關係,反正是塊空硬碟,敲入yes回車就好了,提示”Wrote partition table to disk”,分割槽表已經被寫入磁碟。至此,分割槽工作完成,游標預設覆蓋[ Bootable ],右移到[ Quit ]回車,退出cfdisk。LFS需要的獨立儲存裝置與分割槽準備完畢。

相關文章