Linux系統下的分區和檔案系統詳解

來源:互聯網
上載者:User

http://mydear.itpub.net/post/28567/504859

 

建立檔案系統

Linux 使用 mkfs 命令來建立檔案系統,用 mkswap 命令來建立交換空間。mkfs 命令實際上是幾個特定於檔案系統的命令的前端,這些命令包括針對 ext3 的 mkfs.ext3 和針對 ReiserFS 的 mkfs.reiserfs。

您的檔案系統上安裝的是什麼檔案系統支援?使用 ls /sbin/mk* 命令來找到答案。清單 11 展示了一個樣本。

清單 11. 檔案系統建立命令
[ian@echidna ~]$ ls /sbin/mk*
/sbin/mkdosfs /sbin/mkfs.ext2 /sbin/mkfs.ntfs
/sbin/mke2fs /sbin/mkfs.ext3 /sbin/mkfs.vfat
/sbin/mkfs /sbin/mkfs.ext4 /sbin/mkfs.xfs
/sbin/mkfs.btrfs /sbin/mkfs.ext4dev /sbin/mkhomedir_helper
/sbin/mkfs.cramfs /sbin/mkfs.msdos /sbin/mkswap
您將注意到一些命令的各種形式。例如,您通常會發現,檔案 mke2fs、mkfs.ext2 和 mkfs.ext3 是一樣的,檔案 mkreiserfs 和 mkfs.reiserfs 也一樣。啟動系統可能需要的檔案系統將使用多個名稱不同的相同檔案。不能用於 Linux 中的 / 檔案系統的那些檔案系統(比如 vfat 或 msdos)可能會使用符號連結代替。

所有 mkfs 命令都有幾個公用選項。根據在 -type 選項中指定的檔案系統類型,特定於正在建立的檔案系統類型的選項將被傳遞到適當的建立命令。我們的樣本使用 mkfs -type,但您也可以直接使用其他類型,效果一樣。例如,您可以使用 mkfs -type ext2、mk2fs 或 mkfs.ext2。要擷取一個特定檔案系統的手冊頁,使用適當的 mkfs 命令作為名稱,比如 man mkfs.ext3。下面的輸出樣本中顯示的許多值都能通過 mkfs 的選項控制。

既然我們已經建立了所有分區,我們將重新啟動 Fedora 12 系統(而不是有點緩慢的即時 Knoppix DVD)並格式檔案系統。當然,如果願意,您也可以繼續使用 Knoppix 系統。注意,建立檔案系統需要根許可權。

建立一個 ext3 檔案系統

我們使用 mkfs 命令將 /dev/sda8 分區格式化為 ext3,如清單 12 所示。

清單 12. 建立一個 ext3 檔案系統
[root@echidna ~]# mkfs -t ext3 /dev/sda8
mke2fs 1.41.9 (22-Aug-2009)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
2624496 inodes, 10488429 blocks
524421 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
321 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 20 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
注意,一個日誌與 ext3 一同建立。如果您想向一個現有 ext2 系統添加一個日誌,使用 tune2fs 命令和 -j 選項。

針對 ext2 和 ext3 檔案系統的一個有用選項是帶有一個名稱的 -L 選項,該選項為分區指定一個標籤。這個標籤可用於在掛載檔案系統時代替裝置名稱;它針對可能需要在各種控制檔案中反映的更改提供某種層級的隔離。要為一個現有 ext2 或 ext3 檔案系統顯示或設定標籤,使用 e2label 命令。標籤的最大大小限制為 16 個字元。

最近的一個進展是使用 Universally Unique Identifier(或 UUID)而不是標籤。UUID 是一個 128 位標識符,通常顯示為 32 位 16 進位數字和 4 個連詞號。大多數 Linux 檔案系統在被格式化時自動產生一個 UUID。使用 blkid 命令(不需要根許可權)來查看我們剛剛格式化的分區的 UUID,如清單 13 所示。與標籤相比,UUID 更可能具備惟一性,對 USB 磁碟機這樣的熱插拔裝置尤其有用。

清單 13. 使用 blkid 命令顯示一個 UUID
[ian@echidna ~]$ blkid /dev/sda8
/dev/sda8: UUID="87040def-920e-4525-9c81-c585ddc46384" SEC_TYPE="ext2" TYPE="ext3"
建立一個 XFS 檔案系統

現在我們將剛才格式化為 ext3 的分區重新格式化為 XFS 檔案系統。我們的 Fedora 12 系統使用 SELinux(Security Enhanced Linux),因此我們應該使用 -i 參數指定比預設值 256 更大的索引節點。推薦值是 512。注意,如果 XFS 格式化程式發現分區上已有一個公認的檔案系統,那麼它將會通知您。還要注意一點,XFS 格式重新指定了 UUID。

清單 14. 建立一個 XFS 檔案系統
[root@echidna ~]# mkfs -t xfs -i size=512 /dev/sda8
mkfs.xfs: /dev/sda8 appears to contain an existing filesystem (xfs).
mkfs.xfs: Use the -f option to force overwrite.
[root@echidna ~]# mkfs -t xfs -f -i size=512 /dev/sda8
meta-data=/dev/sda8 isize=512 agcount=4, agsize=2622108 blks
= sectsz=512 attr=2
data = bsize=4096 blocks=10488429, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=5121, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
[root@echidna ~]# blkid /dev/sda8
/dev/sda8: UUID="1b6798f2-f07f-4d5e-af06-2470df37ddb3" TYPE="xfs"
您可以使用帶有一個名稱的 -L 選項來設定 XFS 系統的標籤。還可以使用 xfs_admin 命令和 -L 選項來為一個現有 XFS 檔案系統添加一個標籤。使用帶 -l 選項的 xfs_admin 命令來顯示一個標籤。與 ext2、ext3 和 ReiserFS 不同,XFS 標籤的最大長度為 12 個字元。

建立一個 ReiserFS 檔案系統

可以使用帶 -t reiserfs 選項的 mkfs 命令或 mkreiserfs 命令建立 ReiserFS 檔案系統。ReiserFS 不支援 SELinux,正在被 Resier4 替代。

可以使用 -l 選項(或帶有一個名稱的 --label 選項)為一個 ReiserFS 系統設定標籤。可以使用 reiserfstune 命令添加標籤或顯示現有 ReiserFS 檔案系統上的標籤。標籤的最大長度限制為 16 個字元。

您可能需要在您的系統上安裝 ReiserFS 包才能使用 ReiserFS ,因為它可能不包含在預設安裝內。參見手冊頁或資訊頁瞭解更多細節。

建立一個 vfat 檔案系統

現在,我們將在 /dev/sda9 上建立 FAT32(vfat)檔案系統。

清單 15. 建立一個 vfat 檔案系統
[root@echidna ~]# mkfs -t vfat /dev/sda9
mkfs.vfat 3.0.9 (31 Jan 2010)
[root@echidna ~]# blkid /dev/sda9
/dev/sda9: LABEL="" UUID="CF72-99A8" TYPE="vfat"
vfat 檔案系統的 UUIDs 比標準 UUIDs 短,因此不惟一的幾率要大一些。如果想用一個標籤代替,可以使用 dosfslabel 命令。DOS 分區的標籤的最大長度限制為 11 個字元。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.