第五回 分區然後格式化

上回說到王白白的BIOS/MBR分區計劃如下:

「/boot」:1GB;主分區;

「/」:100G;主分區;

「swap」:8G;主分區;

「/home」:剩下的都是;擴展分區中創建一個邏輯分區。

這回王白白開始用fdisk建分區了。


lsblk命令看硬碟的信息

王白白用lsblk命令看現在硬碟的情況

上圖有很多信息,王白白搞不太清,但關鍵信息還是很容易看出來的:目前電腦上連有兩個盤(disk),sda和sdb;sda盤(disk)的總大小是465.8G,它只有一個分區(part,partition),即sda1;sdb盤的總大小是3.8G,它有兩個分區sdb1和sdb2,sdb1掛載在/run/archiso/bootmnt。經過一番推理,王白白認定sdb就是archlinux的安裝U盤,因此不用關注sdb,弄明白sda就行了。

sda就是王白白要安裝archlinux的硬碟。sda是一個容量465.8G的硬碟。sda中的「sd」指SATA硬碟,現在的硬碟一般都是SATA硬碟。sda中的「a」就是一個順序號,如果有更多盤,可以sdb、sdc、sde這樣排下去。


fdisk程序創建分區

王白白硬碟已經沒有需要保存的數據了,可以用fdisk用從頭分區。用fdisk從頭分區的大體步驟是先創建分區表(partition table)用以存放分區信息,這將抹去所有數據,然後逐個創建新的分區(partition)。

首先用fdisk「打開」sda盤,方法是在終端輸入 fdisk /dev/sda,注意sda之前的「/dev/」是不可少的。結果如下圖所示。

這是一個文本的對話,與圖形界面的對話框存在的意義類似,是人與軟體交流的界面。人輸入命令後,軟體給出執行結果,或者讓人輸入更多信息。

下面王白白創建MBR的分區表,這將抹去所有數據。在Command (m for help): 後面輸入o,得到下面的畫面。

下面王白白創建第一個分區(給/boot準備的)。

  • 輸入命令n,然後回車。
  • 程序詢問是創建擴展分區還是主分區,並提示p是主分區,e是擴展分區。輸入p,然後回車。
  • 程序詢問分區編號(partition number),默認是(default 1)。這編號就是上面lsblk輸出結果中sda1、sdb1、sdb2中的1、1、2。這裡默認就行,直接回車。
  • 程序詢問此分區的第一個扇區(First sector)起於何處,可選範圍是(2048-976773167),默認是2048。為什麼不是從第一個扇區開始,而是2048?{wiki.archlinux.org/inde}提到在第一個分區前的扇區有MBR的分區表和bootloader,王白白覺得2048以前的扇區給MBR的分區表和bootloader了。
  • 程序詢問此分區開始的最後扇區(Last sector)終於何處。王白白看到這就暈了,1G的扇區+2048就行,問題是1G是多少扇區啊。幸好看到後面有提示+sectors or +size(K,M,G,T,P),原來還可以寫這個分區的長度,而且長度可以用Kb,Mb, Gb, Tb, Pb來表示。輸入+1G,然後回車。
  • 程序顯示「Created a new partition 1 of type 『linux』 and of size 1GiB」也就是創建了linux類型的分區1,大小1GiB,這就完成了第一個分區的建立。

上述過程如下圖所示。

創建第一個主分區

下面王白白如法炮製地創建了100G和8G的主分區,每個分區的第一個扇區(First sector)均是使用了默認值,最後扇區(Last sector)分別用了+100G和+8G。

所有主分區的創建

如果這個塊硬碟之前裝過windows,可能出現下面紅色的報錯,只要選yes就好。即輸入y,回車。

最後一個要創建邏輯分區,這需要先創建一個擴展分區,再創建邏輯分區。做法如下。

先創建擴展分區

  • 輸入命令n,然後回車。
  • 輸入e,然後回車。
  • 程序詢問此分區的第一個扇區(First sector)起於何處,直接按默認的來。
  • 程序詢問此分區開始的最後扇區(Last sector)終於何處。這裡要用完所有的空間,所以也直接按默認的來。
  • 程序顯示「Created a new partition 4 of type 『Extended』 and of size 356.8GiB」。這就完成了擴展分區的建立。

再創建邏輯分區

  • 輸入命令n,然後回車。
  • 程序提示「All primary partitions are in use. Adding logical partition 5",也就是程序自己就判斷了這回要創建邏輯分區。
  • 程序詢問此分區的第一個扇區(First sector)起於何處,直接按默認的來。
  • 程序詢問此分區開始的最後扇區(Last sector)終於何處。這裡要用完所有的空間,所以也直接按默認的來。
  • 程序顯示「Created a new partition 5of type 『linux』 and of size 356.8GiB」。這就完成了邏輯分區的建立。
先創建擴展分區,再創建邏輯分區

到此還差最後一步,也就是寫入剛才所做的修改。讓我們看看剛剛用fdisk「打開」/dev/sda時的提示。

也就是說所有修改都將保存再內存里,直到你寫入他們。寫入的命令是w。這也後悔的最後機會,如果前面所做的修改要放棄,這時候輸入q,然後回車就可以了。

輸入w,回車,寫入所有修改,如下圖所示。

lsblk的結果如下。

從NAME一列可以看到sda1、sda2、sda3、sda4和sda5五個分區。sda4是個擴展分區,sda5是sda4下的邏輯分區。它們的大小在SIZE一列,跟計劃一致,分區就完成了。


分區完成後,還需要格式化,windows多用的是NFTS,linux多用ext4{Comparison of file systems},對於swap分區需要用mkswap命令來初始化。

「/boot」:1GB;主分區;sda1;ext4。

「/」:100G;主分區;sda2;ext4。

「swap」:8G;主分區;sda3;用mkswap命令來始化。

「/home」:剩下的都是;sda5;擴展分區中創建一個邏輯分區;ext4。

在命令行分別運行mkfs.ext4 /dev/sda1,mkfs.ext4 /dev/sda2,mkfs.ext4 /dev/sda5,mkswap on /dev/sda3完成分區。運行mkfs.ext4 /dev/sda1的結果如下。

運行mkswap on /dev/sda3的結果如下。

用lsblk -f檢查格式化的結果。

可以看到分區的格式在FSTYPE一列,與預想一致,至此王白白已經完成分區和格式化了。

欲知如何在新分區上安裝archlinux,且聽下回分解。


推薦閱讀:
相关文章