磁碟掛載與卸載


		mount 		 掛載檔案系統﹔

umount 卸載檔案系統﹔
  1. 掛載點 (mount point)
    1. 掛載點即入口點目錄。
    2. 掛載點一定是目錄,故掛載時要先建立掛載目錄﹔
    3. 如果用來掛載的目錄並不是空的,則掛載了檔案系統後原目錄下的檔案或目錄會暫時消失。
    4. / 及 /home 的 inode number 都是 2,因為其掛載點為不同的 partition。
      [root@dywOffice ~]# ls -lid / /home
      2 drwxr-xr-x  20 root adm  1024 Oct 25 15:14 //
      2 drwxr-xr-x  11 root root 4096 Oct 26 12:24 /home/
      [root@dywOffice ~]# df
      Filesystem            Size  Used Avail Use% Mounted on
      /dev/hda1             2.0G  172M  1.7G  10% /
      /dev/hda10             33G   19G   13G  61% /backup
      /dev/hda6             981M   22M  909M   3% /boot
      /dev/hda9              25G   14G   11G  56% /home
      /dev/hda7             7.7G  2.1G  5.3G  29% /usr
      /dev/hda8             4.9G  1.3G  3.4G  28% /var
      
  2. mount:掛載檔案系統。
    [root@linux ~]# mount -a
    [root@linux ~]# mount [-tonL]  裝置名稱代號  掛載點
    參數:
    -a  :依照 /etc/fstab 的內容將所有相關的磁碟都掛載
    -n  :掛載而不記錄到 /etc/mtab
    -L  :後接掛載 partition 的表頭名稱( Label )
    -t  :指定掛載裝置的檔案格式
    -o  :後面可接額外參數:
          ro, rw:       此 partition 為唯讀(ro) 或可讀寫(rw)
          async, sync:  此 partition 為同步寫入 (sync) 或非同步 (async)
          auto, noauto: 允許此 partition 被以 mount -a 自動掛載(auto)
          dev, nodev:   是否允許此 partition 上,可建立裝置檔案? dev 為可允許
          suid, nosuid: 是否允許此 partition 含有 suid/sgid 的檔案格式?
          exec, noexec: 是否允許此 partition 上擁有可執行 binary 檔案?
          user, nouser: 是否允許此 partition 讓 user 執行 mount ?
                        一般 user 也能夠對此 partition 進行 mount 。
          defaults:     預設值為:rw, suid, dev, exec, auto, nouser, and async
          remount:      重新掛載,這在系統出錯,或重新更新參數時,
          iocharset=    設定字元編碼,如 big5,utf8 等 
    	
    #範例:
    #範例一:將 /dev/hdb5 掛載到 /mnt/hdb5
    [root@linux ~]# mkdir /mnt/hdb5
    [root@linux ~]# mount -t ext3 /dev/hdb5 /mnt/hdb5
    [root@linux ~]# df
    Filesystem           1K-blocks      Used Available Use% Mounted on
    ....中間省略.....
    /dev/hdb5               700144     20664    643336   4% /mnt/hdb5
    
    #範例二:掛載光碟
    [root@linux ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom
     
    #範例三:掛載 Window fat 軟碟
    [root@linux ~]# mount -t vfat /dev/fd0 /mnt/floppy
    
    #範例四:將 / 重新掛載,並加入參數為 rw
    [root@linux ~]# mount -o remount,rw /
    
    #範例五:將 Label 名為 logical 的 partition 掛載到 /mnt/hdb5
    [root@linux ~]# mount -t ext3 -L logical /mnt/hdb5
    
    #範例六:將所有掛載的 partition 列出
    [root@linux ~]# mount
    /dev/hda1 on / type ext3 (rw)
    /dev/proc on /proc type proc (rw)
    /dev/shm on /dev/shm type tmpfs (rw)
    /dev/hda5 on /home type ext3 (rw)
    /dev/hdb5 on /mnt/hdb5 type ext3 (rw)
    
  3. 利用 mount 將某個目錄掛載到另一個目錄 (也可使用 ln 完成)
    [root@dywOffice ~]# mkdir /tmp/home
    [root@dywOffice ~]# mount --bind /home /tmp/home
    [root@dywOffice ~]# ls -lid /home/ /tmp/home
    2 drwxr-xr-x  11 root root 4096 Oct 26 12:24 /home//
    2 drwxr-xr-x  11 root root 4096 Oct 26 12:24 /tmp/home/
    [root@dywOffice ~]# umount /tmp/home
    [root@dywOffice ~]# rmdir /tmp/home
    

  4. 掛卸載各種檔案磁區
    1. 掛載軟碟
      [dywang@mdk-dyw ~]$ mount -t ext2 /dev/fd0 /mnt/floppy %*<==Linux 格式  *)
      [dywang@mdk-dyw ~]$ mount -t vfat /dev/fd0 /mnt/floppy %*<==Windows 格式  *)
      [dywang@mdk-dyw ~]$ umount /mnt/floppy %*<== 將軟碟機卸載*)
      
    2. 掛載光碟
      [dywang@mdk-dyw ~]$ mount -t iso9660 /dev/cdrom /mnt/cdrom  
      [dywang@mdk-dyw ~]$ umount /mnt/cdrom %*<== 將光碟機卸載*)
      
    3. 掛載 Windows 磁區
      [root@mdk-dyw ~]# fdisk -l /dev/hda %*<== 檢查 Windows 之硬碟分割槽  *)
      [root@mdk-dyw ~]# mkdir /mnt/winxp  %*<== 建立 Windows 掛載目錄  *)
      [root@mdk-dyw ~]# mount -t vfat -o iocharset=cp950 /dev/hda1 /mnt/winxp  
      [dywang@mdk-dyw ~]$ umount /mnt/winxp %*<== 將Windows 磁區卸載*)
      ## cp950:Microsoft Windows 使用的字碼表格
      
    4. 掛載 usb 隨身碟
      [root@mdk-dyw ~]# ls /dev/sd* %*<== 檢查 usb 硬碟代號,假設為 /dev/sda*)
      [root@mdk-dyw ~]# mkdir /mnt/usb  %*<== 建立 usb 掛載目錄  *)
      [root@mdk-dyw ~]# mount -t vfat -o iocharset=big5 /dev/sda1 /mnt/usb 
      [dywang@mdk-dyw ~]$ umount /mnt/usb %*<== 將 usb 磁區卸載*)
      

練習題

  1. 如果 /home 原本屬於根目錄 / 底下的 partition,其原本就有 /home/test 與 /home/csie 兩個目錄。現若加入新硬碟且直接掛載於 /home,則系統將原先 test 與 csie 這兩個目錄做怎樣的處理?
    Sol. 暫時的被隱藏掉,資料仍然存在。
  2. 如果 /home 的 inode 編號為 2,代表意義為何?
    Sol. 某個獨位的分割槽掛載於 /home。
  3. 如果 /home 與根目錄 / 的 inode 編號皆為 2,代表意義為何?
    Sol. 根目錄 / 與 /home 各為獨位的分割槽。
  4. 如何將 /dev/hdb5 掛載到 /mnt/abc?
    Sol. mount /dev/hdb5 /mnt/abc
  5. 如何將 / 重新掛載,並加入可讀寫參數 rw?
    Sol. mount -o remount,rw /
  6. 如何將 Label 名為 logical 的 partition 掛載到 /mnt/abc?
    Sol. mount -L logical /mnt/abc
  7. 如何將系統所有已掛載的 partition 列出來?
    Sol. mount
  8. 假設目錄 /mnt/usb 已存在。如何將 /dev/sda1 掛載到 /mnt/usb,且設定其字元編碼方式為 big5?
    Sol. mount -o iocharset=big5 /dev/sda1 /mnt/usb
  9. 如何掛載 linux 格式的軟碟到 /mnt/floppy?
    Sol. mount -t ext2 /dev/fd0 /mnt/floppy
  10. 如何掛載光碟到 /mnt/cdrom?
    Sol. mount -t iso9660 /dev/cdrom /mnt/cdrom
  11. 有一 usb 隨身碟裝置 /dev/sdb,如何將其掛載到 /mnt/usb?
    Sol. mount /dev/sdb /mnt/usb
  12. 有一 usb 隨身碟裝置 /dev/sdb,如何將其掛載到 /mnt/usb,且設定其字元編碼方式為 big5?
    Sol. mount -o iocharset=big5 /dev/sdb /mnt/usb
  13. 有一 usb 隨身碟裝置 /dev/sdb,掛載到 /mnt/usb,應如何卸載?
    Sol. umount /dev/sdb 或 umount /mnt/usb
  14. 如何以指令 mount 將 /home 連結到 /tmp/home?
    Sol. mount –bind /home /tmp/home
  15. 如何將 /home 卸載?
    Sol. umount /home
  16. 若 /mnt/usb 為一掛載點,則在 /mnt/usb 目錄下輸入指令 umount /mnt/usb,會出現什麼結果?
    Sol. 忙碌中,無法卸載。
  DYWANG_HOME