Linux 建立檔案系統及掛載檔案系統詳解
摘要:

本文對新增硬碟,切割硬碟,建立硬碟分割槽,為硬碟分割槽建立檔案系統,以及載入檔案系統的流程做總結性論述;

主要是為初學者弄清楚這一操作過程;

本文涉及fdiskmkfsmount … … 等工具;

/etc/fstab 進行了解說;

還有磁碟掃描工具fsck 等介紹;

如果您想載入一個分割槽(檔案系統),首先您得確認檔案系統的型別,然後才能掛載使用,比如通過mount 載入,或者通過修改 /etc/fstab來開機自動載入;
如果您想新增一個新的分割槽,或者增加一個新的硬碟,您要通過分割槽工具來新增分割槽,然後要建立分割槽的檔案系統,然後才是掛載檔案系統;比如通過mount 載入,或者通過修改 /etc/fstab來開機自動載入;

一、對儲存裝置的分割槽;

我們這裡所指的儲存裝置主要是本地硬碟、行動硬碟(比如USB 1394介面的硬碟);由於磁碟很大並且為了滿足我們各種需要,所以把硬碟分成若干個分割槽;

Linux中進行硬碟分割槽操作的工具有:

fdisk ,目前看來也是最好用的分割槽工具;

parted cfdisk在某一方面有點優點,如 parted中的資料備份功能;

推薦您用 fdisk 分割槽工具;

二、儲存裝置進行格式化,即建立檔案系統的過程;

1、檔案系統的一點介紹

對儲存裝置分割槽還是遠遠不夠的,我們還要對這些新增分割槽進行格式化;一個分割槽只有建立了某種檔案系統後,這個分割槽才能使用;建立檔案系統過程,就是用相應格式化工具格式化分割槽的過程;

Linux作業系統中,目前幾乎支援目前主流的檔案系統,比如NTFS(只讀)、FAT(可讀可寫)、ext2ext3reiserfshfs (MAC 作業系統的檔案系統)、swap 交換分割槽… … 還有一些不熟悉的作業系統的檔案系統等;

Linux中,我們常用的檔案系統無非是上面例出的這些;如果您新增了一個硬碟,可能想格式化成 Linux的檔案系統,最佳選擇是 reiserfs ext3

ext2的使用風險比較大;

速度最快的檔案系統,當屬reiserfsreiserfs 還有很多優點,比如更安全;

ext3Redhat認為最好的檔案系統;

2、格式化工具介紹和使用;

我們常用的工具mkfs mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mkswap

提示:如果您不能建立reiserfs 檔案系統,也就是說沒有mkfs.reiserfs 或者mkreiserfs 命令

1mkfs的使用;

使用方法:

[root@localhost]# mkfs -t 檔案系統 儲存裝置

注:
這裡的檔案系統是要指定的,比如 ext3 reiserfs ext2 fat32 msdos … …
裝置比如是一個硬碟的分割槽,軟盤,光碟機等.. …

在格式化分割槽之前,您得懂得如何檢視硬碟分割槽情況,並有針對性的格式化;比如用 fdisk -l 來檢視;

比如我想格式化一個移動U盤中的一個分割槽;應該是:

[root@localhost]# fdisk -l
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
   Device Boot Start End Blocks Id System
/dev/hda1 * 1 765 6144831 7 HPFS/NTFS
/dev/hda2 766 2805 16386300 c W95 FAT32 (LBA)
/dev/hda3 2806 9729 55617030 5 Extended
/dev/hda5 2806 3825 8193118+ 83 Linux
/dev/hda6 3826 5100 10241406 83 Linux
/dev/hda7 5101 5198 787153+ 82 Linux swap / Solaris
/dev/hda8 5199 6657 11719386 83 Linux
/dev/hda9 6658 7751 8787523+ 83 Linux
/dev/hda10 7752 9729 15888253+ 83 Linux
Disk /dev/sda: 1035 MB, 1035730944 bytes
256 heads, 63 sectors/track, 125 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
   Device Boot Start End Blocks Id System
/dev/sda1 1 25 201568+ 83 Linux
/dev/sda2 26 125 806400 5 Extended
/dev/sda5 26 50 201568+ 83 Linux
/dev/sda6 51 76 200781 83 Linux

sda這個裝置是移動U盤,所以可以用 fdisk -l /dev/sda專門來顯示他的分割槽情況;

格式化 /dev/sda6 分割槽為 ext3檔案系統,則為:

[root@localhost]# mkfs -t ext3 /dev/sda6
mke2fs 1.37 (21-Mar-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
50200 inodes, 200780 blocks
10039 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
25 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: 注:在這裡直接回車;
done
This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

這樣就格式化好了,sda6現在就是ext3檔案系統了;我們就可以用mount 載入這個分割槽,然後使用這個檔案系統;

[root@localhost]# mkdir /mnt/sda6
[root@localhost]# chmod 777 /mnt/sda6
[root@localhost]# mount /dev/sda6 /mnt/sda6

當然您也可以把分割槽格式化成其它的檔案系統;比如我們把 /dev/sda6格式化為ext3 ext2reiserfsfat32msdos 檔案系統,命令格式如下;

[root@localhost]# mkfs -t ext3 /dev/sda6
[root@localhost]# mkfs -t ext2 /dev/sda6
[root@localhost]# mkfs -t reiserfs /dev/sda6
[root@localhost]# mkfs -t fat32 /dev/sda6
[root@localhost]# mkfs -t msdos /dev/sda6
… …


2
mkfs.ext3 mkfs.reiserfs mkfs.ext2 mkfs.msdos mkfs.vfat mke2fs 的介紹;

mkfs.ext3   mkfs.reiserfs   mkfs.ext2   mkdosfs   mkfs.msdos   mkfs.vfat ,其實mkfs 在執行的命令的時候,也是呼叫的這些工具;

通過檔名,我們就知道這些工具是支援什麼檔案系統;這些命令為我們提供了更多的方便;

[root@localhost]# mkfs.ext3 /dev/sda6 注:把該裝置格式化成ext3檔案系統
[root@localhost]# mke2fs -j /dev/sda6 注:把該裝置格式化成ext3檔案系統
[root@localhost]# mkfs.ext2 /dev/sda6 注:把該裝置格式化成ext2檔案系統
root@localhost]# mke2fs /dev/sda6 注:把該裝置格式化成ext2檔案系統
[root@localhost]# mkfs.reiserfs /dev/sda6 注:把該裝置格式化成reiserfs檔案系統
[root@localhost]# mkfs.vfat /dev/sda6 注:把該裝置格式化成fat32檔案系統
[root@localhost]# mkfs.msdos /dev/sda6 注:把該裝置格式化成fat16檔案系統,msdos檔案系統就是fat16
[root@localhost]# mkdosfs /dev/sda6 注:把該裝置格式化成fat16檔案系統,同mkfs.msdos
… …

 

2mkswap 把一個分割槽格式化成為swap交換區;

[root@localhost]# mkswap /dev/sda6 注:建立此分割槽為swap 交換分割槽
[root@localhost]# swapon /dev/sda6 注:載入交換分割槽;
[root@localhost]# swapoff /dev/sda6 注:關閉交換分割槽;

 

檢視系統已經載入的swap交換分割槽;

[root@localhost]# swapon /dev/sda6 注:載入交換分割槽;
[root@localhost]# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 787144 0 -1
/dev/sda6 partition 225144 0 -3

如果讓swap開機就載入,應該改 /etc/fstab檔案,加類似如下一行;
/dev/sda6 swap swap defaults 0 0 注:把此行中的/dev/hda7 改為您的交換分割槽就行;

或者把命令列直接寫入 /etc/rc.d/rc.local中也行;

swapon /dev/sda6

如果您的硬碟不能再分割槽,您可以建立一個swap檔案

[root@localhost]# dd if=/dev/zero of=/tmp/swap bs=1024 count=524288 注:建立一個大小為512M swap 檔案,在/tmp目錄中;您可以根據自己的需要的大小來建立swap 檔案;
讀入了 524288+0 個塊
輸出了 524288+0 個塊
[root@localhost]# mkswap /tmp/swap 注:把/tmp/swap 檔案,建立成swap 交換區
Setting up swapspace version 1, size = 536866 kB
no label, UUID=d9d8645d-92cb-4d33-b36e-075bb0a2e278
[root@localhost]# swapon /tmp/swap 注:掛載swap
[root@localhost]# swapon -s
Filename Type Size Used Priority
/dev/hda7 partition 787144 888 -1
/tmp/swap file 524280 0 -2

注意:其實我們在安裝系統的時候,就已經劃分了交換分割槽;檢視/etc/fstab,應該swap的行;如果您在安裝系統時沒有新增swap,可以通過這種辦法來新增;
後續還有!