重走LFS之路:(二) 儲存裝置準備
(題圖來自: techradar.com)
LFS的編譯需要單獨有一塊儲存,條件不好的就單獨劃個分割槽,條件好的就再掛塊硬碟,實在不行就新建個目錄來做這件事好了,只不過這樣是沒法引導起來,只能chroot之後當編譯環境用。
我這就以VirtualBox新建一塊SATA硬碟,然後接入虛擬機器,分割槽,掛載為例來記錄這個過程。
開啟VirtualBox,左側列表中選擇我用來做LFS的虛擬機器PureDebian-LFS。
單擊設定,彈出的對話方塊中選擇儲存這一項,從右側點選”控制器:SATA”,同一行會出現兩個小圖示,一個是光碟,一個是硬碟。
點選硬碟圖示,在彈出的對話方塊中選擇”建立新的虛擬盤(N)”
在出現的”建立虛擬硬碟”對話方塊中,我選擇了”VDI(VirtualBox 磁碟映像)”,這是VirtualBox的預設磁碟格式。
點選下一步,進入”儲存在物理硬碟上”這一步,可以選擇儲存方式,建議選擇動態分配,這樣的好處就是用到了更大空間才會自動擴充套件,不會一直佔用那麼大物理硬碟空間,同時建立時間會大大縮短。
再次單擊下一步,進入”檔案位置和大小”選項。這裡需要選擇新增虛擬硬碟的位置,名稱和最大容量。
新硬碟引數配置完成,點選”建立”按鈕,VirtualBox就會按照剛才指定的引數來建立一塊新的虛擬硬碟,並自動順序新增到虛擬機器的硬碟列表中。
此時就可以點確定按鈕,然後啟動虛擬機器了。
使用ls -l /dev | grep sd來檢視虛擬機器所有的硬碟裝置,顯然sda是有分割槽的,那麼新硬碟應該就是sdb。接下來理所當然應該是新硬碟的分割槽工作,誠然fdisk無論在開源還是閉源世界都有著無可替代的地位,不過在命令列中我們現在有了更好的硬碟工具來幫助我們分割槽——cfdisk。
sudo cfdisk /dev/sdb
我們透過引數來指定了cfdisk來操作的裝置
文字圖形工具還是比命令列看起來舒服一些,上面很清楚得顯示著硬碟資訊,比如:我們在操作一塊名字叫做/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。
關於為什麼邏輯分割槽要從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需要的獨立儲存裝置與分割槽準備完畢。
相關文章
- 重走LFS之路:(七) 基礎系統編譯準備編譯
- 重走LFS之路:(三) 磁碟初始化與原始碼準備原始碼
- 重走LFS之路:(四) 工具鏈編譯-1編譯
- 重走LFS之路:(五) 工具鏈編譯-2編譯
- 重走LFS之路:(六) 工具鏈編譯-3編譯
- 重走LFS之路:(九) 基礎系統編譯-2編譯
- 重走LFS之路:(八) 基礎系統編譯-1編譯
- 重走JS之路JS
- 重走JAVA程式設計之路(二)註解Java程式設計
- 【儲存】裸裝置和OracleOracle
- Greenplum 效能優化之路 --(二)儲存格式優化
- Android儲存(3)– 裝置配置Android
- 前端的flutter之路(二):專案前期準備前端Flutter
- 按照online文件在Linux下安裝Oracle 10g RAC(二.儲存準備)LinuxOracle 10g
- win10禁用所有usb儲存裝置方法 win10如何禁止使用usb儲存裝置Win10
- 如何選擇移動儲存裝置
- 制定移動儲存裝置的使用策略
- Paramiko SSH登入裝置儲存配置
- 儲存、檔案管理/目錄、裝置管理
- 為K8S叢集準備Ceph儲存K8S
- Android從外部儲存裝置中儲存和載入本地檔案Android
- 重走機器學習之路——形而上者謂之道機器學習
- GitLab 之 Git LFS 大檔案儲存的配置Gitlab
- USB儲存裝置無法識別的原因
- OpenStack Cinder元件支援的塊儲存裝置表元件
- 重走springboot(二)Spring Boot
- 重走JAVA程式設計之路(三)反射Java程式設計反射
- 影片監控儲存伺服器裝置及方案伺服器
- 水煮oracle26-----oracle的儲存裝置的配置Oracle
- 重走JAVA之路(二):面試中的單例模式(從入門到放棄)Java面試單例模式
- 重走JAVA程式設計之路(一)列舉Java程式設計
- windows10系統如何關閉USB儲存裝置Windows
- 儲存裝置異常告警,如何秒速定位問題?
- win10怎麼禁止usb儲存_win10系統如何禁用usb儲存裝置Win10
- 【伺服器儲存裝置資料恢復】EMC儲存裝置POOL上的資料卷被刪除的資料恢復案例伺服器資料恢復
- TDengine 的儲存引擎升級之路儲存引擎
- 儲存基礎(二)
- IBM/HP 儲存裝置租賃專家-廣州勵康IBM