转自:http://blog.csdn.net/andyhooo/article/details/5321584
- mkfs
[[email protected] ~]# mkfs [-t 檔案系統格式] 裝置檔名 選項與參數: -t :可以接檔案系統格式,例如 ext3, ext2, vfat 等(系統有支援才會生效) 範例一:請將上個小節當中所製作出來的 /dev/hdc6 格式化為 ext3 檔案系統 [[email protected] ~]# mkfs -t ext3 /dev/hdc6 mke2fs 1.39 (29-May-2006) Filesystem label= <==這裡指的是分割槽的名稱(label) OS type: Linux Block 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 user First data block=0 Maximum filesystem blocks=515899392 16 block groups 32768 blocks per group, 32768 fragments per group 15712 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done <==有日誌記錄 Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 34 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. # 這樣就建立起來我們所需要的 Ext3 檔案系統了!簡單明瞭! [[email protected] ~]# 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
[[email protected] ~]# 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 結果會變成如下所示:
[[email protected] ~]# mke2fs -j -L "vbird_logical" -b 2048 -i 8192 /dev/hdc6 mke2fs 1.39 (29-May-2006) Filesystem label=vbird_logical OS type: Linux Block size=2048 (log=1) Fragment size=2048 (log=1) 251968 inodes, 1004046 blocks 50202 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=537919488 62 block groups 16384 blocks per group, 16384 fragments per group 4064 inodes per group Superblock backups stored on blocks: 16384, 49152, 81920, 114688, 147456, 409600, 442368, 802816 Writing inode tables: done Creating journal (16384 blocks): done Writing superblocks and filesystem accounting information: done # 比較看看,跟上面的範例用預設值的結果,有什麼不一樣的啊? |
其實 mke2fs 所使用的各項選項/參數也可以用在『 mkfs -t ext3 ... 』後面,因為最終使用的公用程式是相同的啦! 特別要注意的是 -b, -i 及 -j 這幾個選項,尤其是 -j 這個選項,當沒有指定 -j 的時候, mke2fs 使用 ext2 為格式化檔案格式,若加入 -j 時,則格式化為 ext3 這個 Journaling 的 filesystem 呦!
老實說,如果沒有特殊需求的話,使用『 mkfs -t ext3....』不但容易記憶,而且就非常好用囉!