1 分區
2 格式化
3 掛載
---------------------------------------
我們先來看下分區指令
fdisk
比如我這裏,我的硬盤是掛載在/dev/hda上
1 分區 裝系統時可以看到
2 fdisk -l
那麼可以
fdisk /dev/hda (注意了,我這後面沒有數字)
然後按m 可以查看幫助
我說幾個常用的````
d 刪除一個硬盤分區
n 新增一個硬盤分區
p 將當前磁盤分區列出來
q 不保存退出
w 保存後退出(不要隨便按這個)
查看目前所有的分區有哪些
fdisk -l
注意了 列表有個ID一項,是分區格式的代碼,
可以在fdisk裏 用l參數看到
提醒一下:這個fdisk命令 只有root才能執行
還有一個要注意的地方,/dev/hda後面不要加數字,因爲它是針對整個硬盤
而不是某個分區
-----------
下面我們來看下具體的操作
刪除一個硬盤分區
新增一個硬盤分區
按N後,系統會提示你,
如果你已經有擴展分區(extended)時,系統會提示:要新增主分區(Primary)
還是邏輯分區(Logical)
如果你還沒有擴展分區,那麼系統會提示你要新增主分區還是擴展分區
如果這裏你已經用完了4個主分區+擴展分區的話,那麼就只有邏輯分區
可以選擇了(這裏要是還不大瞭解的話,可以去複習下第二講)
如果是選擇的primary的話,按p
否則按e(extended) 或 l(logical)
2 磁盤格式化
這個沒什麼可講的````爲了突出通常所說的分區其實是2個步驟
1 分區
2 格式化
一般的工具 比如PQ 就是分區的時候 同時格式化了,其實這是2個步驟
好了,我這隨便舉個分區例子
將分區/dev/hda3格式化爲ext3
[root@localhost ~]mke2fs -j -L "new" /dev/hda3
這裏注意了,執行這個命令之前,要先把機器重啓,不然會提示錯誤
我這裏就不重啓了,節約大家時間
執行的結果是這樣的:
------------
[root@localhost ~]# mke2fs -j /dev/hda4
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
12048 inodes, 48192 blocks
2409 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=49545216
6 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
------------
3 掛載與卸載
我們現在來看下怎麼將上面建立的分區在linux下能使用,
需要將他掛載在linux上,所謂的 掛載點 則是該分區的目錄
這裏說個需要注意的地方,如果你掛載的目錄裏面不是空的
那麼掛載後,原目錄下的東西就會消失。不用擔心,只是暫時的消失
舉個例子來說,假設你的/home原來是屬於/根目錄下的分區所有,
這個目錄裏有/home/test,/home/test2 這2個目錄,然後你掛載新的硬盤
並且想直接掛載/home下,那麼當你掛載上新的硬盤時,則/home目錄下
顯示的是這個新硬盤的內容,原來的test和test2就被暫時的隱藏掉了。
不是會覆蓋掉,只是暫時的隱藏起來。等你的新的硬盤umount後,該目錄的內容
就可以再次跑出來了
那怎麼掛載呢~~
指令是:mount [參數] 盤符代號 掛載點
參數:我這裏只介紹2個,其他的用到的不多
-t 你的linux的支持的文件格式,比如,掛載/ext3/格式,就寫上-t ext3
用來告訴系統,用ext3的格式來掛載這個分區
常見的格式有
linux : ext2 ext3
windows : vfat(就是fat32)
光盤 : iso9660
系統默認支持的格式在/lib/modules/`uname -r`/kernel/fs裏可以找到
若你mount後面沒有加-t,linux在默認的情況下,會用/etc/filesystems這個文件
內的規範來一個個試
-o 這個參數可以設置權限
ro, rw :讓該扇區以可擦寫或者是隻讀的型態掛載上來,如果是 vfat 之
類的非 Linux 傳統扇區,您不想讓 Linux 變更的話,
那麼使用 ro也不錯!能夠提供有效的保護呢!
async,sync :是否允許磁盤與內存中的數據以同步寫入的動作?,默認是async
(使用 async 這個異步寫入的方式會比較快速一些。)
auto,noauto :在開機的時候是否自動掛載該扇區?
dev,nodev :是否可以建立文件?dev爲可以
suid,nosuid :該檔案系統是否允許 SUID 的存在?一般而言,
如果不是 Linux系統的扇區,而是一般數據
的 partition ,那麼設定爲 nosuid 確實比較安全一些。
畢竟有 SUID 是蠻誇張的一件事。
exec,noexec : 限制在此檔案系統內是否可以進行『執行』的工作?
如果是純粹用來儲存資料的, 那麼可以設定
爲 noexec 會比較安全,相對的,會比較麻煩!
user,nouser :是否允許使用者使用 mount 指令來掛載呢?一般而言,
我們當然不希望一般身份的 user 能使用 mount ,
因爲太不安全了,因此這裏應該要設定爲 nouser
defaults :默認的是:rw, suid, dev, exec, auto, nouser, async
remount :重新掛載,這個在系統出錯,或重新更新參數時,很有用
例1:把我們新建的/dev/hda4掛載在mnt/hda4上面
[root@localhost ~]# mkdir /mnt/hda4
[root@localhost ~]# mount -t ext3 /dev/hda4 /mnt/hda4
執行成功後不會有顯示,錯誤了就會有了- -
例2:將/重新掛載,並加入參數爲rw
[root@localhost ~]# mount -o remount,rw /
例3:將系統所有的掛載數據列出來
[root@localhost ~]# mount
注意了:1 掛載的時候需只有root才能執行,
2 掛載前要知道你需要掛載的分區格式,可以:fdisk -l 查看
卸載的指令是:umount
格式:umount 硬盤代碼 或 掛載點
我們把例1的掛載卸載就是
[root@localhost ~]# umount /dev/hda4 或者是
[root@localhost ~]# umount /mnt/hda4
---------
好了 我們再來看下其他幾個常用的掛載
掛載WIN盤符
1 fdisk -l 看下你要掛載的盤的符號是什麼 是什麼格式
2 [root@localhost ~]# mkdir /mnt/win2000e
3 [root@localhost ~]# mount -t vfat /dev/hda1 /mnt/win2000e
我這裏是隨便假設的的格式
掛載USB
現在的大多數USB插上去後都可以識別
1 再次用fdisk -l列出所有分區信息,你會發現你的系統
多了一個/dev/sda[??]的代號,第一個USB代號爲/dev/sda
假設我們這裏是sda1,通常都是這個,而且是WIN下fat32的格式
2 [root@localhost ~]# mkdir /mnt/usb
3 [root@localhost ~]# mount -t vfat /dev/sda1 /mnt/usb
開機自動掛載/etc/fstab 與 /etc/mtab
我們可以在開機的時候將我要的分區掛好,這樣就不用每次進入系統掛載一次了
直接修改/etc/fstab
這裏又要說幾個要注意的地方
1 根目錄是必須掛載的,而且一定要比其他掛載點先掛載進來
2 其他掛載點必須爲已建立的目錄,
3 所有分區,在同一時間類,只能掛載一次
4 如果要卸在,必須先將工作目錄移動到掛載點的目錄之外
我們先來看下/etc/fstab這個文件
[root@localhost ~]# cat /etc/fstab
#Device Mount point filesystem parameters dump fsck
LABEL=/ / ext3 defaults 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
LABEL=SWAP-hdc4 swap swap defaults 0 0
我這裏多了一行,註釋,方便看清楚,好了,我們來具體看下
1 硬盤代號或該硬盤的 Label:
這個就是裝置代號啦, 將您需要的硬盤代號給他填上去吧。
這個提一個,我們格式化盤的時候用到一個-l參數
我們也可以利用 Label 來掛載檔案系統
例如上表當中的特殊字體的第一行, 根目錄 (/) 就是以 Label 名稱爲 / 的磁盤分割槽來掛載的
利用 label 掛載時,您必須要知道您的磁盤內的 label 名稱,
可以利用 e2label 來更改標頭名稱啊。 在知道了 label 名稱後,最後就可以利用
LABEL=(your label name) 來設定您的盤
e2label指令
格式:e2label 硬盤代號 新的Label名稱
[root@localhost ~]# e2label /dev/hdb5 new
2 掛載點 (mount point)::
這裏一定要是目錄才行。要注意了
3 磁盤分割槽的檔案系統:
就如同我們在這個章節一開始就談到的, Linux 在傳統上面,使用的是 ext2/ext3 等檔案系統,
目前則加入了很多日誌式檔案系統,例如 reiserfs 及 XFS 等檔案系統的支持。 此外,存在已
久的 Windows vfat, msdos 及 iso9660 的光盤檔案系統,
還有網絡檔案系統如 nfs, smbfs 等等,都可以被支持。這個字段就是寫這些檔案系統的地方
4 通常情況下這裏用默認的就行了defaults
5 是否被dump備份
在 Linux 當中,可以利用 dump 這個指令來進行系統的備份的。
而 dump 指令則會針對/etc/fstab 的設定值,去選擇是否要將該 partition 進行備份的動作
0 代表不要做 dump備份, 1 代表要進行 dump 的動作。 2 也代表要做 dump 備份動作,
不過,該 partition 重要度比 1 小。
6 是否以 fsck 檢驗扇區:
開機的過程中,系統預設會以 fsck 檢驗我們的 partition 內的 filesystem 是否完整。
不過,某些 filesystem 是不需要檢驗的,例如虛擬內存 swap ,或者是特殊檔案系統,
例如 /proc 與 /sys 等等。所以,在這個字段中,我們可以設定是否要以 fsck 檢
驗該filesystem。
0 是不要檢驗, 1 是要檢驗, 2 也是要檢驗,不過 1 會比較早被檢驗
一般來說,根目錄設定爲 1 ,其它的要檢驗的 filesystem 都設定爲 2 就好了。
--------
好了,所以說,我們要把上面例子的/dev/hda4/這個 ext3 的 filesystem
掛載到 /mnt/hdb4時, 並且在開機的時候就已經自動的掛載好,
那麼就可以將底下這一行寫入到 /etc/fstab 當中了:
/dev/hdb5 /mnt/hdb5 ext3 defaults 0 0
所以說,以後您自己建立的磁盤檔案系統想在開機的時候掛載好時,
就在 /etc/fstab 加入
當我們編輯 /etc/fstab 後,爲了避免可能的錯誤,通常就會以 mount -a 這個指令來測試看看。
這裏還提醒一個小技巧:
/etc/fstab 是開機時的設置文件,不過,實際 filesystem 的掛載是記錄到
/etc/mtab 與 /proc/mounts這兩個檔案當中的。每次我們在更動 filesystem 的掛載時,
也會同時更動這兩個檔案。但是,萬一發生您在 /etc/fstab 輸入的數據錯誤,導致無法順利
開機成功,而進入單人維護模式當中,那時候的 / 可是 read only 的狀態,
當然您就無法修改 /etc/fstab ,也無法更新 /etc/mtab ~那怎麼辦?
可以利用底下這一招:
[root@linux ~]# mount -n -o remount,rw /
加上 -n 則不更新 /etc/mtab ,加上 -o 則提供額外的參數設定。 利用這一動作,
您的 / 就可以讀寫,那麼自然就能夠更新檔案內容
fdisk分區與掛載
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.