Linux基礎命令---mke2fs

一生有你llx發表於2018-10-28

mke2fs

在磁碟分割槽上建立ext2、ext3、ext4檔案系統,預設情況下會建立ext2。此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1 、語法

mke2fs  [ 選項]  [裝置]

mke2fs  [ -c | -l filename ]  [ -b block-size ]  [ -f fragment-size ]  [ -g blocks-per-group ]  [ -G number-of-groups ]  [ -i bytes-per-inode ]  [ -I inode-size ]  [ -j ] [-J  journal-options]  [ -K ]  [ -N number-of-inodes ] [ -n ]  [ -m reserved-blocks- percentage ]  [ -o creator-os ]  [ -O feature[,...]]  [ -q ]  [ -r fs-revision-level]  [ -E  extended-options]  [ -v ]  [ -F ]  [ -L volume-label ]  [ -M last-mounted-directory ] [ -S ]  [ -t fs-type ]  [ -T usage-type ]  [ -U UUID ]  [ -V ] device  [ blocks-count ]

mke2fs  -O journal_dev  [ -b block-size ]  [ -L volume-label ]  [ -n ]  [ -q ]  [ -v ]  external-journal [ blocks-count ]

 

      device 是與裝置相對應的特殊檔案(例如:g/dev/hdXX)。blocks-count是裝置上的塊數。如果省略,mke2fs會自動配置檔案系統的大小。如果呼叫為mkfs.ext3,則建立日記,好像指定了“-j”選項。新建立的檔案系統引數的預設值(如果沒有被下面列出的選項覆蓋)由“/etc/mke2fs.conf”配置檔案控制。

 

2 、選項列表

選項

說明

-V

顯示命令版本資訊

-b block-size

指定檔案系統上塊的大小(kb),有效值1024、2048、4096。如果省略,塊大小將由檔案系統大小和檔案系統的預期使用量(請參閱-T選項)來決定。如果塊大小為負值,則mke2fs將使用啟發式方法來確定適當的塊大小,同時限制塊大小至少為block-size位元組。這對於某些硬體裝置非常有用(這些硬體裝置要求塊大小為2k的倍數)。

-c

壞道檢測。如果該選項被指定兩次,則使用較慢的讀寫測試,而不是快速只讀測試。

-E extended-options

為檔案系統設定擴充套件選項。擴充套件選項是逗號分隔的,可以使用等號複製。在mke2fs的早期版本中,“-E”選項以前是“-R”。為了向後相容,仍然接受“-R”選項。支援下面的擴充套件選項:

1 )stride=stride-size 。使用stride-size個塊來配置RAID陣列,這是在移動到下一個磁碟之前讀取或寫入磁碟的塊數,有時被稱為塊大小。這主要影響檔案系統後設資料在mke2fs時的存放位置,以避免將它們放置在單個磁碟上,這可能會影響效能。塊分配程式也可能使用它。

2 )stripe-width=stripe-width 。使用stripe-width個塊來配置RAID陣列,這通常是stride-size *n,其中N是RAID中包含資料磁碟的數目(例如,對於RAID 5,有一個奇偶校驗磁碟,所以N將是陣列中磁碟數量減去1),這允許塊分配器在寫入資料時防止修改RAID中的奇偶。

3 )resize=max-online-resize 。預留足夠的空間,以便塊組描述符能夠增長以支援具有線上調整塊大小的檔案系統。

4 )lazy_itable_init[= <0 to disable, 1 to enable>]。 如果使能了,並且也啟用了uninit_bg功能,那麼inode表將不會被mke2fs完全初始化。這明顯加快了檔案系統的初始化速度,但它要求核心在檔案系統首次掛載時在後臺完成對檔案系統的初始化。如果省略了選項值,則預設為1以啟用延遲inode表初始化。

5 )test_fs。 在檔案系統超級塊中設定一個標誌,指示可以使用試驗性核心程式碼(如ext4dev檔案系統)掛載它。

6 )discard。 嘗試在mkfs時丟棄塊(在固態裝置和稀疏/稀疏的Provi-Sied儲存中丟棄塊是有用的)。當裝置宣傳丟棄資料時,將所有尚未歸零的inode表標記為零。這大大加快了檔案系統初始化的速度。此設定為預設設定。

7 )nodiscard。 在mkfs時不會丟棄塊。

-f fragment-size

設定檔案系統碎片的大小。mke2fs接受“-f”選項,但目前忽略它,因為第二個擴充套件檔案系統還不支援片段

-F

強制mke2fs建立檔案系統,即使指定的裝置不是塊特殊裝置上的分割槽,或者其他引數沒有意義。。由於這個指令很危險,因此必須確認兩次

-g blocks-per-group

指定塊組中的塊數。使用者通常沒有任何理由設定此引數,因為預設設定對檔案系統是最佳的。開發測試用例的開發人員通常使用此選項。

-G number-of-groups

指定組的數量,這些組將被打包在一起用來建立更大的虛擬塊組。組數必須是2的冪,並且只能在啟用Flex_BG檔案系統功能時指定。

-i bytes-per-inode

mke2fs 為磁碟上每一個inode位元組建立一個inode。bytes/inode比越大,建立的inode就越少。這個值一般不應該小於檔案系統的塊大小,因為在這種情況下,將產生比以往任何時候都多的inode。在檔案系統建立後不可能擴充套件該檔案系統上的inode數,因此要小心確定此引數的正確值。

-I inode-size

指定每個inode的大小(以位元組為單位)。mke2fs預設建立256位元組的inode。在2.6.10之後的核心和一些早期的供應商核心中,可以使用大於128個位元組的inode儲存擴充套件屬性以提高效能。inode表將消耗,這將減少檔案系統中的可用空間,也會對效能產生負面影響。大型inode中儲存的擴充套件屬性在舊核心中是不可見的,這樣的檔案系統將根本無法用2.4核心掛載。在建立檔案系統之後,不可能更改此值。

-j

建立ext3檔案系統。如果沒有指定“-j”選項,則預設日誌引數將用於建立儲存在檔案系統中的適當大小的日誌

-J journal-options

使用命令列中指定的選項建立ext 3日誌。選項是逗號分隔的,可以使用相等號對引數賦值。支援以下兩個引數,而且這兩個引數只能指定一個。

size=journal-size 。指定內部日誌的大小,單位是MB。日誌的大小必須至少為1024個檔案系統塊(如果使用1k塊,則為1MB,如果使用4k塊,則為4MB),並且可能不超過102,400個檔案系統塊。

device=external-journal 。將檔案系統附加到位於指定“external-journal“的日誌塊裝置上,“external-journal“必須已使用以下命令建立: mke2fs -O journal_dev external-journal 。請注意,“external-journal“必須具有與新檔案系統相同的塊大小。此外,雖然支援將多個檔案系統附加到單個“external-journal“,但linux核心和e2fsck(8)目前還不支援共享“external-journal“。

-K

保留,不要試圖在mkfs時丟棄塊

-l filename

從檔案中讀取磁碟壞塊資訊。注意,必須使用mke2fs使用的塊大小來生成壞塊列表中的塊號。因此,mke2fs的-c選項是一種簡單得多且不容易出錯的方法,用於在格式化磁碟之前檢查是否存在錯誤塊,因為mke2fs將自動將正確的引數傳遞給壞塊程式。

-L new-volume-label

設定檔案系統卷標,卷標最大16個位元組

-m reserved-blocks-percentage

指定為超級使用者保留的檔案系統塊的百分比。這樣可以避免碎片,並允許root有用的守護程式(如syzabd(8)在非特權程式被阻止寫入檔案系統後繼續正確執行。預設百分比為5%。

-M last-mounted-directory

設定檔案系統最後的掛載目錄。一些實用程式可以從上一次掛載目錄中選擇鍵,以確定檔案系統應該安裝在何處。

-n

不建立檔案系統,而是演示建立檔案系統時該怎麼做

-N number-of-inodes

重寫應為檔案系統保留的inode數量的預設值。

-o creator-os

重寫檔案系統的“creator operating system”欄位的預設值。預設情況下,creator欄位設定為mke2fs編譯出的作業系統的名稱。

-O feature[,...]

建立具有給定功能的檔案系統(檔案系統選項),覆蓋預設的檔案系統選項。預設情況下啟用的特性由base_features關係指定,或者在/etc/mke2fs.conf配置檔案中的[defaults]部分中指定,或者在-T選項指定的用法型別的[fs_type]子節中指定,並由檔案系統的[fs_types]子節中的特性關係進一步修改使用型別。

檔案系統特性集將使用此選項指定的特性集進行進一步編輯,或者如果未給出此選項,則由正在建立的檔案系統型別的default_features關係進行編輯,或者在配置檔案的[defaults]部分中進行編輯。

檔案系統功能集由一系列要啟用的以逗號分隔的特性組成。要禁用一個功能,只需在特徵名前加上插入符號(‘^’)。偽檔案系統功能“none”將清除所有檔案系統功能。feature可以是以下內容:

1 )dir_index 。使用hashed b-trees來加快大目錄中的查詢速度

2 )extent 。使用間extent塊來儲存inode中資料塊的位置。這是一種更有效的編碼,它加快了檔案系統的訪問速度,特別是對於大型檔案。

3 )filetype 。將檔案型別資訊儲存在目錄條目中。

4 )flex_bg 。允許將每個塊組後設資料(分配點陣圖和inode表)放置在儲存介質上的任何位置。此外,mke2fs將每個塊組後設資料放在每個“flx_bg group”的第一個塊組中。可以使用-G選項指定flx_bg組的大小。

5 )has_journal 。建立ext 3日誌,和“-j”選項一樣。

6 )journal_dev 。在給定裝置上建立外部ext 3日誌,而不是常規ext 2檔案系統。

7 )large_file 。檔案系統可以包含大於2GB的檔案。(建立檔案>2GB時,現代核心會自動設定此特性。)

8 )resize_inode 。保留空間,這樣塊組描述符表在將來可能會增長。對於使用regze2fs線上調整大小很有用。預設情況下,mke2fs將嘗試預留足夠的空間,以便檔案系統可以增長到其初始大小的1024倍。

9 )sparse_super 。建立一個較少SuperBlock備份的檔案系統(在大型檔案系統上節省空間)。

10 )uninit_bg 。在不初始化所有塊組的情況下建立一個檔案系統。這個特性還允許校驗和功能,以及每個塊組中highest-inode-used統計資訊。這個特性可以顯著加快檔案系統的建立時間(如果啟用了lazable_init),還可以大大減少e2fsck的時間。它只受最近Linux核心中的ext 4檔案系統的支援。

-q

靜默執行,通常用在指令碼檔案中。

-r revision

為新的檔案系統設定檔案系統修訂號。

-S

只寫超級塊和組描述符。如果所有的超級塊和備份超級塊都損壞了,並且需要一種最後的恢復方法,這是很有用的。它導致mke2fs重新初始化超級塊和組描述符,同時不觸及inode表、塊和inode點陣圖。e2fsck程式應該在使用此選項後立即執行,並且無法保證任何資料都是可挽救的。使用此選項時指定正確的檔案系統塊大小至關重要,否則不可能恢復。

-t fs-type

指定檔案系統型別,預設ext2。此選項根據“/etc/mke2fs.conf(5)”中的fstypes配置節控制預設使用哪些檔案系統選項

如果使用“-O”選項顯式地新增或刪除應該在新建立的檔案系統中設定的檔案系統選項,則所請求的fs-type可能不支援所產生的檔案系統。(例如,“mke2fs -t ext3 -O extents /dev/sdXX”將建立一個不受ext3實現支援的檔案系統。 “"mke2fs -t ext3 -O^has_journal /dev/hdXX”將建立一個沒有日誌的檔案系統,因此Linux核心中的ext 3檔案系統程式碼將不支援該檔案系統。)

-T usage-type[,...]

指定檔案系統的使用方式,以便mke2fs可以選擇最佳的檔案系統引數。所支援的usage-type在配置檔案“/etc/mke2fs.conf(5)”中定義。使用者可以使用逗號分隔列表指定一個或多個usage-type。

-U

用指定UUID建立系統

-v

顯示詳細執行過程

 

3 、例項

建立ext2檔案系統

[root@localhost ~]#  mknod /dev/sdb4 b 1 1      // 建立一個裝置

 

[root@localhost ~]#  mke2fs /dev/sdb4          // 建立檔案系統,沒有指定型別,預設是 ext2

mke2fs 1.41.12 (17-May-2010)

檔案系統標籤 =

作業系統 :Linux

塊大小 =1024 (log=0)

分塊大小 =1024 (log=0)

Stride=0 blocks, Stripe width=0 blocks

4096 inodes, 16384 blocks

819 blocks (5.00%) reserved for the super user

第一個資料塊 =1

Maximum filesystem blocks=16777216

2 block groups

8192 blocks per group, 8192 fragments per group

2048 inodes per group

Superblock backups stored on blocks: 

    8193

正在寫入 inode 完成                             

Writing superblocks and filesystem accounting information:  完成

This filesystem will be automatically checked every 26 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override. 

 

[root@localhost ~]#  mount /dev/sdb4 /media/disk            // 將檔案系統掛載

 

[root@localhost ~]#  df  T      // 檢視已經使用的檔案系統

Filesystem                   Type    1K-blocks     Used Available Use% Mounted on

/dev/mapper/VolGroup-lv_root ext4     25552764 13250844  11003900  55% /

tmpfs                        tmpfs      829656      268    829388   1% /dev/shm

/dev/sda1                    ext4       495844    32996   437248   8% /boot

/dev/sr0                     iso9660     56618   56618         0 100% /media/VBox_GAs_5.2.18

/dev/sdb1                    vfat        15863      140     14904   1% /media/disk

/dev/sdb4                   ext2        15863      140     14904   1% /media/disk            // 可以看到這裡是 ext2 型別的

     


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29270124/viewspace-2217776/,如需轉載,請註明出處,否則將追究法律責任。

相關文章