Total Pageviews

Thursday, 5 April 2012

Linux下,格式化分区

分割完畢後自然就是要進行檔案系統的格式化囉!格式化的指令非常的簡單,那就是『make filesystem, mkfs』 這個指令啦!這個指令其實是個綜合的指令,他會去呼叫正確的檔案系統格式化工具軟體! 不囉唆,讓我們來瞧瞧吧!
mkfs [-t 檔案系統格式] 裝置檔名選項與參數:-t :可以接檔案系統格式,例如 ext3, ext2, vfat 等(系統有支援才會生效)範例一:請將上個小節當中所製作出來的 /dev/hdc6 格式化為 ext3 檔案系統[root@www ~]# mkfs -t ext3 /dev/hdc6mke2fs 1.39 (29-May-2006)Filesystem label= <==這裡指的是分割槽的名稱(label)OS type: LinuxBlock size=4096 (log=2) <==block 的大小設定為 4K Fragment size=4096 (log=2)251392 inodes, 502023 blocks <==由此設定決定的inode/block數量25101 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=51589939216 block groups32768 blocks per group, 32768 fragments per group15712 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912Writing inode tables: doneCreating journal (8192 blocks): done <==有日誌記錄Writing superblocks and filesystem accounting information: doneThis filesystem will be automatically checked every 34 mounts or180 days, whichever comes first. Use tune2fs -c or -i to override.# 這樣就建立起來我們所需要的 Ext3 檔案系統了!簡單明瞭![root@www ~]# mkfs[tab][tab]mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat# 按下兩個[tab],會發現 mkfs 支援的檔案格式如上所示!可以格式化 vfat 喔!

mkfs 其實是個綜合指令而已,事實上如同上表所示,當我們使用『 mkfs -t ext3 …』時, 系統會去呼叫 mkfs.ext3 這個指令來進行格式化的動作啦!若如同上表所展現的結果, 那麼鳥哥這個系統支援的檔案系統格式化工具有『cramfs, ext2, ext3, msdoc, vfat』等, 而最常用的應該是 ext3, vfat 兩種啦! vfat 可以用在 Windows/Linux 共用的 USB 隨身碟囉。

例題:
將剛剛的 /dev/hdc6 格式化為 Windows 可讀的 vfat 格式吧!

答:
mkfs -t vfat /dev/hdc6

在格式化為 Ext3 的範例中,我們可以發現結果裡面含有非常多的資訊,由於我們沒有詳細指定檔案系統的細部項目, 因此系統會使用預設值來進行格式化。其中比較重要的部分為:檔案系統的標頭(Label)、Block的大小以及 inode 的數量。 如果你要指定這些東西,就得要瞭解一下 Ext2/Ext3 的公用程式,亦即 mke2fs 這個指令囉!

    mke2fs

[root@www ~]# mke2fs [-b block大小] [-i block大小] [-L 標頭] [-cj] 裝置選項與參數:-b  :可以設定每個 block 的大小,目前支援 1024, 2048, 4096 bytes 三種;-i  :多少容量給予一個 inode 呢?-c  :檢查磁碟錯誤,僅下達一次 -c 時,會進行快速讀取測試;      如果下達兩次 -c -c 的話,會測試讀寫(read-write),會很慢~-L  :後面可以接標頭名稱 (Label),這個 label 是有用的喔!e2label指令介紹會談到~-j  :本來 mke2fs 是 EXT2 ,加上 -j 後,會主動加入 journal 而成為 EXT3。

mke2fs 是一個很詳細但是很麻煩的指令!因為裡面的細部設定太多了!現在我們進行如下的假設:

    這個檔案系統的標頭設定為:vbird_logical
    我的 block 指定為 2048 大小;
    每 8192 bytes 分配一個 inode ;
    建置為 journal 的 Ext3 檔案系統。

開始格式化 /dev/hdc6 結果會變成如下所示:

[root@www ~]# mke2fs -j -L "vbird_logical" -b 2048 -i 8192 /dev/hdc6mke2fs 1.39 (29-May-2006)Filesystem label=vbird_logicalOS type: LinuxBlock size=2048 (log=1)Fragment size=2048 (log=1)251968 inodes, 1004046 blocks50202 blocks (5.00%) reserved for the super userFirst data block=0Maximum filesystem blocks=53791948862 block groups16384 blocks per group, 16384 fragments per group4064 inodes per groupSuperblock backups stored on blocks:        16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816Writing inode tables: doneCreating journal (16384 blocks): doneWriting superblocks and filesystem accounting information: done# 比較看看,跟上面的範例用預設值的結果,有什麼不一樣的啊?

其實 mke2fs 所使用的各項選項/參數也可以用在『 mkfs -t ext3 … 』後面,因為最終使用的公用程式是相同的啦! 特別要注意的是 -b, -i 及 -j 這幾個選項,尤其是 -j 這個選項,當沒有指定 -j 的時候, mke2fs 使用 ext2 為格式化檔案格式,若加入 -j 時,則格式化為 ext3 這個 Journaling 的 filesystem 呦!
老實說,如果沒有特殊需求的話,使用『 mkfs -t ext3….』不但容易記憶,而且就非常好用囉.

No comments:

Post a Comment