Linux系統下掛載、卸載新硬盤的方法

VMware虛擬機中,Linux系統下掛載、卸載新硬盤的方法 
裝載:

1、啓動vm,選擇vm->Settings,按嚮導添加一塊SCSI磁盤。進入Linux系統。
2、 fdisk -l 會看到有一塊新的設置,如果你先前有一塊硬盤(sda1, sda3...),新加的這塊應該是(/dev/sdb)。 (如果添加的第二塊硬盤是IDE硬盤,應該看到hdb,如果是SCSI硬盤,看到的就是應該sdb)
[root@localhost ~]# fdisk -l
 
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda3              14        1044     8281507+  83  Linux
 
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
Disk /dev/sdb doesn't contain a valid partition table
  
3、分區: 
[root@localhost ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that, of course, the previous
content won't be recoverable.
 
The number of cylinders for this disk is set to 1044.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)
Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)
 
Command (m for help): m     ##在這裏按m ,就會輸出幫助; 
Command action
   a   toggle a bootable flag
   b   edit bsd disklabel
   c   toggle the dos compatibility flag
   d   delete a partition  ##這是刪除一個分區的動作; 
   l   list known partition types   ##:l是列出分區類型,以供我們設置相應分區的類型; 
   m   print this menu
   n   add a new partition    ##添加一個分區;
   o   create a new empty DOS partition table
   p   print the partition table   ##p列出分區表;
   q   quit without saving changes  ##不保存退出;
   s   create a new empty Sun disklabel  
   t   change a partition's system id   ##t 改變分區類型;
   u   change display/entry units
   v   verify the partition table
   w   write table to disk and exit   ##把分區表寫入硬盤並退出;
   x   extra functionality (experts only)  ##擴展應用,專家功能; 
 
Command (m for help): n
Command action
   e   extended   ##擴展分區
   p   primary partition (1-4) ##選p建主分區 
p
Partition number (1-4): 1
First cylinder (1-17849, default 1):   ##注:這個就是分區的Start 值;這裏最好直接按回車,如果你輸入了一個非默認的數字,會造成空間浪費; 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-17849, default 17849):  8920
Using default value 500
##這個是定義分區大小的,+200M 就是大小爲200M ;當然你也可以根據上面提示的單位cylinder的大小來算,然後來指定 End的數值,在fdisk –l命令中可以看到Units = cylinders of 16065 * 512 = 8225280 bytes,這個就是單位cylinder的大小,我這裏選的End的數值是8920,正好是總大小的一半,71G左右

##然後再來建一個主分區 
Command (m for help): n 
Command action 
   e   extended 
   p   primary partition (1-4) 
p 
Partition number (1-4): 2 
First cylinder (8921-17849, default 8921):8921
Using default value 8921
Last cylinder or +size or +sizeM or +sizeK (8921-17849, default 17849):17849
Using default value 17849
##最後保存並退出,切記,一定要保存,不然不會生效的。
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
Syncing disks.
##使用fdisk –l命令來查看磁盤狀況:
[root@localhost ~]# fdisk -l
 
Disk /dev/sda: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      104391   83  Linux
/dev/sda3              14        1044     8281507+  83  Linux
 
Disk /dev/sdb: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1        8920    71649868+  83  Linux 
/dev/sdb2            8921       17849    71722192+  83  Linux 
##磁盤/dev/sdb已經被劃分爲2個分區,每個分區大小大概是71G左右。

##在掛載文件系統之前,需要將/dev/sdb1和/dev/sdb2重新用mkfs -t ext3 命令格式化一下,否則在掛載時會報錯。
4、格式化分區:使用mkfs.ext3    /dev/sdb命令格式化磁盤 注:也可以使用mkfs -t ext3 /dev/sdb命令
[root@localhost ~]# mkfs -t ext3  /dev/sdb1     ##指將該磁盤格式化成ext3文件系統
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1048576 inodes, 2096474 blocks
104823 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2147483648
64 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks: 
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
 
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
 
This filesystem will be automatically checked every 31 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
  
補充:掛載
掛載文件系統,目前有兩種方法:
一是通過 mount 來掛載,使用mount掛載系統,一旦系統重啓之後就需要重新掛載。
二是通過/etc/fstab文件來開機自動掛載。 
我把/dev/sdb1掛載到/test下
[root@localhost ~]# mkdir /test ## 首先建立掛載的目錄test
(或者[root@localhost ~]# cd /
[root@localhost ~]# mkdir test
)
[root@localhost ~]# df –h ##掛載前的分區
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      6.7G  5.8G  576M  92% /
/dev/sda1              99M   12M   82M  13% /boot
tmpfs                 233M     0  233M   0% /dev/shm
[root@localhost ~]# mount /dev/sdb1 /test
[root@localhost ~]# df –h  ##掛載後的分區
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      6.7G  5.8G  576M  92% /
/dev/sda1              99M   12M   82M  13% /boot
tmpfs                 233M     0  233M   0% /dev/shm
/dev/sdb1             7.9G  147M  7.4G   2% /test
6、通過/etc/fstab文件來開機自動掛載(不然重啓電腦後系統將不會保存之前的掛載操作):
[root@localhost ~]# vi /etc/fstab
/dev/VolGroup00/LogVol00 /                       ext3    defaults        1 1
LABEL=/boot             /boot                   ext3    defaults        1 2
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
/dev/VolGroup00/LogVol01 swap                    swap    defaults        0 0
/dev/sdb1            /test           ext3       defaults              1 1 
/dev/sdb2            /test           ext3       defaults              1 1
 
# Beginning of the block added by the VMware software
.host:/                 /mnt/hgfs               vmhgfs  defaults,ttl=5     0 0
# End of the block added by the VMware software
第一字段:設備名,在這裏表示是文件系統; 有時我們把掛載文件系統也說成掛載分區; 
第二字段:文件系統的掛載點; 
第三字段:文件系統類型; 
第四字段:mount 命令的選項,和mount 中的-o 同理;defaults包括這些選項 rw, suid, dev, exec, auto, nouser, async; 
第五字段:表示文件系統是否需要dump 備份,1是需要,0 是不需要; 
第六字段: 是否在系統啓動時,通過fsck磁盤檢測工具來檢查文件系統,1是需要,0是不需要,2是跳過;

卸載: 
[root@localhost ~]# umount /dev/sdb1
[root@localhost ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      6.7G  5.8G  576M  92% /
/dev/sda1              99M   12M   82M  13% /boot
tmpfs                 233M     0  233M   0% /dev/shm

 

補充知識:
1. mount可以用來掛載什麼:
不同的操作系統使用不同的文件系統格式。MS-DOS支持FAT16文件系統,Windows98支持FAT16、FAT32文件系 統,WindowsNT支持FAT16、NTFS文件系統,Windows2000則支持FAT16、FAT32、NTFS三種文件系統格式,現在的xp 可以支持FAT32,NTFS,現在最新版本的windows 7 引入了新的WinFS文件系統。 而 Linux差不多支持所有的文件系統格式,但一般使用ext2或ext3文件系統。很多用戶使用的是windows操作系統,如果想在運行的Linux下 訪問其它文件系統中的資源的話,就要用Linux mount命令來實現。
2. mount使用格式:
mount命令[-參數] [設備名稱] [掛載點] 
說明: 
[掛載點]必須是一個已經存在的目錄,這個目錄可以不爲空,但掛載後這個目錄下以前的內容將不可用,umount以後會恢復正常。 
[設備名稱] 可以是一個分區,一個usb設備,光驅,軟盤,網絡共享等。 
常見參數說明:
Mount 掛載文件系統使用幫助
參數                 說明
             掛載指定的設備類型:adfs, affs, autofs, coda, coherent, cramfs,  

             devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, 

             msdos, ncpfs, nfs, nfs4, ntfs, proc, qnx4, ramfs, reiserfs, 

             romfs, smbfs, sysv, tmpfs, udf, ufs, umsdos, vfat, xenix, xfs,  

             xiafs
    
              一般文件類型,可以不需要指定就可以有相同自動檢測(adfs, bfs, 

              cramfs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, ntfs, 

              qnx4, reiserfs, romfs, udf, ufs, vxfs, xfs, xiafs 等文件系統),如

             果探測失敗,就將訪問/etc/filesystems ,以指定文件系統探測。說 

             明:如果清楚文件系統,最好指定具體類型。探測錯誤將帶來災難性

             的。
             多個文件系統可以用“,”分割開來.

-t vfstype     mount -a -t nomsdos,ext 
              將掛載fstab文件指定所有的文件系統,除了類型爲 msdos 和 ext 的

              那一些。 
    常見文件類型
    1. ext2 linux目前常用的文件系統 
    2. msdos MS-DOS的fat,就是fat16 vfat 
    3. windows98常用的fat32 
    4. nfs 網絡文件系統 
    5. smbfs windows共享系統 
    6. iso9660 CD-ROM光盤標準文件系統 
    7. ntfs windows NT/2000/XP的文件系統 
    8. auto 自動檢測文件系統 
    指定掛載系統選項:多個選項可以用","分割.某些選項只有在出現在文件 /etc/fstab 中時纔有意義。下列選項可以用於任何要掛載的文件系統(但是並非所有文件系統都關心它們,例如,選項 sync 在今天只對 ext2,ext3 和 ufs 有效) 
    選項     說明
    async 所有對文件系統的 I/O 操作都必須是異步完成的。
    atime 每次存取時更新 inode 存取時間。這是默認選項。
    auto 可以在使用 -a 選項時被掛載。
    defaults 包含以下選項:rw, suid, dev, exec, auto, nouser,async.
    dev 解析文件系統中的字符設備或塊設備。
    exec 允許執行二進制文件
    _netdev 文件系統居於需要網絡連接的設備上,避免斷網下,不斷掛載耗資源
    noatime 不更新文件系統的inode存取時間(提升新聞服務器的速度)
    noauto 只能被顯式地掛載,-a不能使它掛載
    nodev 不解析文件系統中的字符設備或塊設備
    noexec 不允許執行被加載的文件系統中的任何二進制文件
    nosuid 不允許set-user-identifier 或set-group-identifier位起作用
    nouser  禁止普通的掛載文件系統(默認)
    remount 試圖重新掛載一個已經掛載的文件系統。通常用來改變掛載標記,如由只讀掛載改成可讀寫的。
    ro  以只讀方式掛載
    rw 以讀寫方式掛載
    suid 允許set-user-identifier 或set-group-identifier位起作用
-o options  sync 以同步方式進行I/O操作,突然斷電不會掉資料,但加重磁盤負擔
    dirsync 所有對文件系統內目錄的更新應當是同步完成的,影響下列系統調用:creat,link, unlink, symlink, mkdir, rmdir, mknod 以及 rename
    user 允許普通的用戶掛載文件系統,掛載者的用戶名被寫入mtab,從而使他可以再次卸載文件系統。這個選項暗含了選項noexec,nosuid, 以及 nodev.
    users 允許每個用戶掛載卸載文件系統
    codepage codepage=XXX代碼頁
    iocharset iocharset=XXX 字符集
    loop 掛載迴旋設備 經常掛載iso文件用到
    username username=user 訪問設備的用戶名
    password password=pass 訪問設備的密碼
    以下參數只對特殊文件系統有用: 
    uid/gid uid=value 和 gid=value 以特殊用戶及組 掛載系統
    ownmask ownmask=value owner權限的權限掩碼
    othmask othmask=value othmask權限的權限掩碼
    不同文件系統所支持的屬性不一定系統。可以查找相關資料 
-a              搜索/etc/fstab文件中滿足條件的文件系統,進行掛載操作。
                格式: mount -a -t type -o options 不需要指定設備/目錄
-f              測試mount系統,只檢查設備和目錄,並不真正掛載文件系統
-n              不把掛載的記錄,記錄在/etc/mtab 文件中
-r              將文件系統安裝爲只讀,同(-o ro)
-w     將文件系統安裝爲可讀寫,同(-o rw)
-L label   掛載具有指定卷標 label 的分區
-w     將文件系統安裝爲可讀寫,同(-o rw)
-v       顯示詳細的掛載進度
-l     列出所有已經掛載的文件系統列表

--bind          將文件層次的一部分重新掛載到其他地方.只掛接單一的文件系統,
                如果目錄有其它文件系統,將不能掛載。如果需要都掛載,可以用:--rbind 參數。
    mount --bind olddir newdir 2個目錄可以訪問系統內容
--move    將一個目錄移到另外地方,mount --move olddir newdir
-h     顯示幫助
-V     顯示版本

3. 常見分區加載方法:
mount掛載iso文件:
#mkdir /mnt/iso1
#mount –o loop linuxsetup.iso /mnt/iso1
在linux 不需要虛擬光驅,就可以直接讀取iso文件了。
mount掛載光驅系統
一般來說CDROM的設備文件是/dev/hdc,使用方法:
#mkdir /mnt/cdrom
#mount /dev/hdc /mnt/cdrom –o iocharset=cp936
默認不指定光驅系統,可以自動搜索得到,將編碼指定爲中文
mount掛載軟驅
# mkdir /mnt/floppy 
# mount /dev/fd0 /mnt/floppy 
默認不指定文件系統,可以自動搜索得到
mount掛載windows共享文件(samba)
#mkdir /mnt/winshare
#mount -t smbfs -o username=w,password=w,codepage=936,iocharset=gb2312 //192.168.0.101/share /mnt/winshare
指定訪問共享的用戶名,密碼,codepage指定編碼與iocharset同意義。這裏的windows 系統是中文簡體。
codepage指定文件系統的代碼頁,簡體中文中文代碼是936;iocharset指定字符集,簡體中文一般用cp936或gb2312
mount掛載u盤
如果計算機沒有其它SCSI設備和usb外設的情況下,插入的U盤的設備路徑是 /dev/sda1,用命令: 
#mkdir /mnt/upan 
#mount /dev/sda1 /mnt/upan 
掛載即可。
mount掛載nfs系統
與windows共享連接差不多。需要正確配置服務端的nfs服務。然後通過客戶端的:showmount -e 192.168.0.30 可以查看連接。 
mount -t nfs 192.168.0.30:/tmp /mnt/nfs 
umount卸載文件系統
umount  dir
如上面: umout /mnt/upan或者umount /dev/sdb1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章