Linux 磁盘挂载
1. 手動掛載
手動掛載的優點是操作簡單,但是同時呢也存在顯著的缺點,就是每次重啟都需要掛載一次,這也是比較麻煩的。
手動掛載步驟:
- 創建要掛載的目錄
mkdir /prod
chmod 757 -R /prod
- 執行掛載命令
mount /nfs/videos /prod
2. 自動掛載
自動掛載后即使系統重啟,掛載的盤符也會隨著系統開機自動建立,不需要人為再手動創建掛載命令,可以說是一勞永逸。
比如想把已經掛載在 home 目錄上的硬盤掛載到 data 目錄上, 如下操作
# df -h(查看分區情況及數據盤名稱)
# mkdir /data(如果沒有data目錄就創建,否則此步跳過)
# umount /home(卸載硬盤已掛載的home目錄)
# mount /nfs/videos /data (掛載到data目錄)
# vi /etc/fstab (編輯fstab文件修改或添加,使重啟后可以自動掛載)/nfs/videos /data ext4 auto 0 0
簡單點來說就是,如果希望將新分區 /dev/sdb1 掛載在 /home/new 目錄下,則只需在 fstab 文件中加入一行:
/dev/sdb1 /home/new ext3 default 0 1
對應的每一列的類型為:
<file system> <mount point> <type> <options> <dump> <pass>
參數說明:
- 第一列 實際分區名
如果磁盤是SATA接口,且有多個磁盤,則每個磁盤被標記為 /dev/hda 、 /dev/hdb、 /dev/hdc 等以此類推;而每個磁盤的分區被標記為 /dev/hda1、 /dev/hda2等。
如果磁盤是SCSI類型,則多個磁盤會被分別標記為 /dev/sda、/dev/sdb等等。分區同理。
- 第二列 掛載點
掛載點必須為當前已經存在的目錄,為了兼容起見,最好在創建需要掛載的目標目錄后,將其權限設置為777,以開放所有權限。
- 第三列 此分區的文件系統類型
Linux可以使用ext2、ext3等類型,此字段須與分區格式化時使用的類型相同。也可以使用 auto 這一特殊的語法,使系統自動偵測目標分區的分區類型。auto通常用于可移動設備的掛載。
-
第四列 掛載的選項,用于設置掛載的參數
常見參數如下:auto: 系統自動掛載,fstab默認就是這個選項
defaults: rw, suid, dev, exec, auto, nouser, and async.
noauto 開機不自動掛載
nouser 只有超級用戶可以掛載
ro 按只讀權限掛載
rw 按可讀可寫權限掛載
user 任何用戶都可以掛載
請注意光驅和軟驅只有在裝有介質時才可以進行掛載,因此它是noauto
- 第五列 dump備份設置
當其值設置為1時,將允許dump備份程序備份;設置為0時,忽略備份操作;
- 第六列 fsck磁盤檢查設置
其值是一個順序。當其值為0時,永遠不檢查;而 / 根目錄分區永遠都為1。其它分區從2開始,數字越小越先檢查,如果兩個分區的數字相同,則同時檢查。
在 /etc/fstab 后面加下面語句可開機自動掛載
192.168.1.3:/home/nfs /nfs nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0
3. mount 命令
在 Linux 系統中,mount 命令用于掛在光盤鏡像文件、移動硬盤、U 盤等。
格式:
mount [-t vfstype] [-o options] device dir
[-t vfstype] 指定所掛載的文件系統的類型,通常 mount 可自動識別,不用人為指定。常用類型如下:
光盤或光盤鏡像:ISO9660DOS FAT16 文件系統:MSDOSWindows 9x FAT32 文件系統:VFATWindows NT NTFS 文件系統:NTFSMount Windows 文件網絡共享:SMBFSUNIX(LINUX)
[-o options] 說明掛載方式,其和上面的命令,兩者可互換。常用參數如下:
loop:用來把一個文件當成硬盤分區掛接上系統ro:采用只讀方式掛接設備rw:采用讀寫方式掛接設備iocharset:指定訪問文件系統所用字符集
device 表示要掛載的設備;dir 設備在系統上的掛載點(mount point)。實踐操作如下。
在插入 U 盤之前,輸入以下命令:
susu@ubuntu:~$ sudo fdisk -l
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c5c38Device Boot Start End Blocks Id System
/dev/sda1 * 2048 60817407 30407680 83 Linux
/dev/sda2 60819454 62912511 1046529 5 Extended
/dev/sda5 60819456 62912511 1046528 82 Linux swap / Solaris
susu@ubuntu:~$
這地方的命令一定要加 sudo,否則什么也不會顯示。
可以看到,Linux 文件系統下,有一塊硬盤 sda,硬盤中有 2 個分區 sda1 和 sda2。另外一個 sda5 是邏輯分區。
插入 U 盤后,重新敲一遍命令,得到如下信息:
susu@ubuntu:/$ sudo fdisk -lDisk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders, total 62914560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000c5c38Device Boot Start End Blocks Id System
/dev/sda1 * 2048 60817407 30407680 83 Linux
/dev/sda2 60819454 62912511 1046529 5 Extended
/dev/sda5 60819456 62912511 1046528 82 Linux swap / SolarisDisk /dev/sdb: 4057 MB, 4057989120 bytes
91 heads, 45 sectors/track, 1935 cylinders, total 7925760 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000Device Boot Start End Blocks Id System
/dev/sdb1 * 63 7925759 3962848+ c W95 FAT32 (LBA)
susu@ubuntu:/$
會發現,下面多出來很多信息,這個信息都是描述剛剛插入的 U 盤的。系統多了一個硬盤 sdb 和一個磁盤分區 sdb1。我們要掛載的就是磁盤分區 sdb1。
先在 /mnt/ 目錄下創建一個掛載點:
susu@ubuntu:/mnt$ sudo mkdir usbhd1
susu@ubuntu:/mnt$ ls
usbhd1
susu@ubuntu:/mnt$
然后根據 mount 命令的語法,將 USB 添加到該掛載點:
susu@ubuntu:/$ mount -o loop dev/sdb1 mnt/usbhd1/
mount: only root can do that
susu@ubuntu:/$ sudo mount -o loop dev/sdb1 mnt/usbhd1/
susu@ubuntu:/$ cd mnt/usbhd1/
susu@ubuntu:/mnt/usbhd1$ ls
???? EVM?????.txt
???? ?? Microsoft Word ??.doc
????? ???????????????????.pdf
????05.06.07.09????-4.pdf Reimbursement Form for interview trip.xls
??1_??.png System Volume Information
???????????????(2010?).pdf Vocabulary.doc
2012??????????(?????)-12.pdf VS2012_ULT_chs.iso
????????.docx ????????????????.xls
susu@ubuntu:/mnt/usbhd1$
mount 掛載成功!
上述代碼中,剛開始沒有加 sudo,提示只有 root 可以。最后 ls ,發現是亂碼,是因為 U 盤中都是中文名字,所以顯示亂碼??捎靡韵旅罱鉀Q此問題:
susu@ubuntu:/$ sudo mount -o iocharset=cp936 ./dev/sdb1 ./mnt/usbhd1/
卸載就相對簡單了,只需要把掛載點卸掉即可,命令如下:
susu@ubuntu:/$ sudo umount ./mnt/usbhd1
總結
以上是生活随笔為你收集整理的Linux 磁盘挂载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RabbitMQ 入门系列(7)— 如何
- 下一篇: qq个性签名怎么不显示