在格式化之前,我們必須先瞭解到整個系統的磁碟配置,可以透過三個動作來做確認:
1. df -Th
2. cat -n /etc/fstab
3. cat -n /proc/partitions
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvIuDnRtrbwFWS9xcu8p_tHugFym8e3mAz8oXTfcg0i3QTC32_79BQN4KScrPVSVzBr7MFC3F9X1D4HB33m2M_NkFnSqvW7AKmsaoiJ_dsbQttP2i1-P9b7PBLnNpiH0H_rVSlj3Pwl7UE/s400/fdisk_1.gif)
以自己的環境為例 (如上圖),/dev/sda是目前正在使用中的硬碟 (HD,Hard Disk);而/dev/sdb是將要被分割的HD。
當我們執行cat -n /proc/partitions時,所顯示的結果第三個欄位-#blocks-,/dev/sdb的值為5242880,單位是KB。
5242880 (KB) / 1024 = 5120 (MB);5120 (MB) / 1024 = 5 (GB),所以,/dev/sdb這顆硬碟的大小就是5 GB。
接著,我們要開始分割這顆HD:
fdisk /dev/sdb
執行之後,在Command (m for help): 的後面先輸入一個小寫的'm',查看一下,當我們執行fdisk指令之後,有那些功能是較常用到的:
a toggle a bootable flag
b edit bsd disklable
c toogle the dos compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklable
t change a partition's system id
u change display / entry units
v verify the partition table
w write table to disk and exit
x extra functionality (exports only)
以上粗體字的部份就是我們在分割硬碟時常用到的一些選項;至於我要如何分割這顆硬碟?? 我要把它先分割成三個主要分割區,每個分割區的大小為1 GB。所以:
Command (m for help): n // 我要新增一個分割區
Command action
e extended
p primary partition (1-4)
p // 這個分割區我要規劃為主要分割區
Partition number (1-4): 1 // 磁區的編號;因為一顆硬碟只能有四個主要分割區,所以才顯示1-4
First cylinder (1-652, default 1): <Enter> // 第一個磁柱的起始位址;這一部份我們都用預設值即可
Last cylinder, +cylinders or +size{K,M,G} (1-652, default 652): +1G // 最後一個磁住的位址;基本上應該是沒人在記磁住位址的。所以我們輸入分割區的大小即可。
以上的動作,我們要重覆三次 (因為要切三個主要分割區)。切割完之後:
Command (m for help): p // 列印出剛剛的分割結果,如下圖:
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMW2XQaZiHfinYYV9I5qSOtxdbxM7PdaZtqvnIvzddVJis90m3nfKyf9nNTWGlrPAr8bqi07I_Z4JvdfPwpHt_JcCOMtwJ1MzccC3tFDGU4cCHSrACHjNIjn0IQ9lXDLnOB-9sK3dNBEhk/s400/fdisk_2.gif)
Command (m for help): w // 最後,把剛剛完成的分割寫進硬碟。
sync; init 6
sync指令是將記憶體緩衝區內的資料寫入磁碟;然後重新啟動系統 (如下圖)。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDGgZVfLqPgMoGCC6bv9y_dauzmHCKM2ujvsSKY-68enGwCgG4HemDuBcjOzgFHfpVZdkUcZnjfpAI8JUqSBPCnfJw_uQc1on2W0xRMcxTVPTM0lao2I2-QnaFKc3WtVd6Gx0j08kbKNW7/s400/fdisk_3.gif)
系統啟動完成後,我們再檢視一次/proc/partitions,會發現我們剛剛分割的三個磁區都存在了。
cat -n /proc/partitions // 如下圖
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEinMHrbN_sz4I3vWFjIfjV5fbK41acKNPxmdl8DBTanIWt6iNXNjwsQtihWT0mQ9_GEUJjjkWitSdLzyEtJJ8euue6qnUH9GLgF4GO88EHusCPazJR4StEvo6LOVMDIP1xKisODbqrRcrXQ/s400/fdisk_4.gif)
磁區分割完之後,我們就要把它們格式化 (Format);格式化過後的磁區才能夠掛載到系統上:
mkfs -t ext3 /dev/sdb1
mkfs -t ext2 /dev/sdb2
mkfs -t vfat /dev/sdb3
為了與原本系統的磁區 (ext4)做區別,所以自己把這三個新劃分的磁區依序格式化為ext3、ext2和vfat的格式 (如下圖)。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmG0YkfjQDpUBfCQwtIvmMVQ9f2t133L8qC3EfkDlbrdA-5ZYiYpt1kbdxrizRuBUOHOcEhkBZIyWndWyc3z159XZc85WmTHw9cLGdVFFA6VXsfW6KOtA_Z3IG37z78S6ZzGomNd-ARhR5/s400/fdisk_5.gif)
格式化完成之後,就可以開始掛載了。在Linux系統下掛磁碟區有三種方式 (這就是為什麼我要劃分三個磁區的原因了):
1. 以磁碟區的標籤名稱 (Label Name)來掛載。
2. 該磁區的UUID (Universally Unique Identifier,通用唯一識別碼)來掛載。
3. 直接以設備名稱 (Device Name)來掛載。
首先,第一個磁碟區 (/dev/sdb1)以標籤名稱來掛載:
e2lable /dev/sdb1
因為剛格式化完,還沒有賦予標籤名稱,所以輸出的結果是空的。
e2lable /dev/sdb1 "PICASSO"
給它一個標籤名稱,叫做PICASSO。
e2lable /dev/sdb1
再執行一次e2lable指令,確認/dev/sdb1的標籤確實存在。
剛剛忘了一件事─要建立掛載點....XD,我們把它們建立在/mnt/資料夾之下,且分別叫做EXT3、EXT2、VFAT。
cd /mnt/; ls
mkdir -p ./EXT3 ./EXT2 ./VFAT; ls -l
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEDheHFkoiHz0226y726S-QRIAWmBI6V99QEAXuDg635sbRVrtytKISjIE5BfC73bcTlDUUI5Ctz7MmqvYvzrrCzG5UfpgWDQyoMivCnvu4MAb2Qjr2qRwsIAvGvwbgg4Xyb1maMlDv7n7/s400/fdisk_6.gif)
要掛載之前,先檢查一下磁碟是否有錯誤,我們用fsck指令:
fsck /dev/sdb1
fsck /dev/sdb2
fsck /dev/sdb3
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0b12girOr8KoLkUBuxdwGdh4iXIOWYK7-T3SS_G6PO6kLM3mgSk5mqDz9AIIWzNd7CpsfyVT3ajHJ8B6uQD2p5pe2L-BSg6Gz9a0Vrd2QIbMMbINef4CICvaaFOoHuO4V81sDpsu64RbH/s400/fdisk_7.gif)
再來,第二個磁碟區 (/dev/sdb2)以UUID來掛載:
dumpe2fs /dev/sdb2
dumpe2fs指令的主要用意是查詢磁碟區的block相關資訊;但在這裡我們拿它用來查詢UUID (如下圖反白處,且將UUID記下來):
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfEi737Il1bCfNJKvQJhWaYHKggkfxv0npvK52rbx-Zwe13hgdb9YsL36J1g4zKUSyRrWxqVhM3ORExtV7y3iEwS2RzTZ-PTLqKKP60Ujpqi0pionDEA5CDSaiBs7VBaqC1IYgUWNI3H7J/s400/fdisk_8.gif)
最後,第三個磁碟區 (/dev/sdb3)以設備名稱來掛載;設備名稱就叫做/dev/sdb3。
從這三個磁碟區得到了我們想要知道的資訊之後,我們必須把它們寫進檔案系統表 (/etc/fstab),語法如下圖反白處;編輯完之後,記得執行mount -a指令,確認我們剛剛編輯的語法和將要掛載的檔案系統沒有問題。
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5rPXQHBLBiSalWaqV-q5bF3CCC-DG5Hq5yHtgKF_r2ExBWsLhJKBsyq8kUfgM6-a1sWWq2jtKhq-4uGIO7ywfaGVYaY8ojDsXGzQCol1ogfC-WjywA-rAUsJxF6vostbE8O8nNG5HQi3b/s400/fdisk_9.gif)
編輯完且確認沒問題之後,我們可以試著重新開機,且查看我們剛剛建立的掛載點,是否有將檔案系統掛載進來:
cd /mnt/; ls -l ./EXT3/; ls -l ./EXT2/; ls -l ./VFAT/
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjyv24HXWhS1C6VfczfOanW-uQNRzltuYQ7_TJbyDrxT9SnGEmGa2GRBsSA8PgOm2DP81jBGKow_PI2-ERK0kU3uobZC0dBQRtOo6ZO3eeDZtdfmTrB_EsxiJkH68pLayjJbAE3QgXeKoRk/s400/fdisk_0.gif)
當我們看到在ETX3及EXT2資料夾之下有lost+found資料夾時,表示我們新建立的檔案系統有確實地掛載成功!!
沒有留言:
張貼留言