Linux磁碟分割槽及其常用命令
一、磁碟分割槽命名方式
在Linux中,每一個硬體裝置都對映到一個系統的檔案,包括硬碟、光碟機等IDE或SCSI裝置。Linux把各種IDE裝置分配了一個由hd字首組成的檔案。而各種SCSI裝置,則被分配了一個由sd字首組成的檔案,編號方法為拉丁字母表順序。例如,第一個IDE裝置(如IDE硬碟或IDE光碟機),Linux定義為hda;第二個IDE裝置定義為hdb;下面依次類推。SCSI裝置就是sda、sdb、sdc等。(USB磁碟通常會被識別誒SCSI裝置,因此其裝置名可能是sda)。
在Linux中規定,每一個磁碟裝置最多能有4個主分割槽(其中包括擴充套件分割槽)。任何一個擴充套件分割槽都要佔用一個主分割槽號碼。在一個硬碟中,主分割槽和擴充套件分割槽一共最多是4個。編號順序為阿拉伯數字順序。
需要注意的是,主分割槽按1234編號,擴充套件分割槽中的邏輯分割槽,編號直接從5開始,無論是否有2號或3號主分割槽。對於第一個IDE硬碟的第一主分割槽,則編號為hda1,而第二個IDE硬碟的第一個邏輯分割槽編號應為hdb5。
常見的Linux磁碟命名的規則維hdXY(或sdXY),其中,X為小寫拉丁字母,Y為阿拉伯數字。個別系統可能命名有差異。
二、常用磁碟管理命令。
1、掛載磁碟分割槽——mount
要使用磁碟分割槽,就需要掛載該分割槽。掛載時需要指定需要掛載的裝置和掛載目錄(該目錄也成為掛載d點)
常用的命令格式如下
mount -ttypedevicedir
選項 -t的引數type為檔案系統格式(ext4,vfat,ntfs等; )
device為裝置名稱(如:"/dev/hda1" "/dev/sdb1")
dir為掛載目錄,成功掛載後,就可以通過訪問該目錄以訪問該分割槽內的檔案(如:"/mnt/windows_c" "/mnt/cdrom")只要是未被使用的空目錄都可用於掛載分割槽
-V:顯示程式版本; -l:顯示已載入的檔案系統列表; -h:顯示幫助資訊並退出; -v:冗長模式,輸出指令執行的詳細資訊; -n:載入沒有寫入檔案“/etc/mtab”中的檔案系統; -r:將檔案系統載入為只讀模式; -a:載入檔案“/etc/fstab”中描述的所有檔案系統。
2、解除安裝磁碟分割槽——umount
要移除磁碟,首先需要解除安裝該分割槽。常用命令格式如下
umount [device|dir]
解除安裝時只需要一個引數,可以是裝置名稱,也可以是掛載點
-a:卸除/etc/mtab中記錄的所有檔案系統; -h:顯示幫助; -n:卸除時不要將資訊存入/etc/mtab檔案中; -r:若無法成功卸除,則嘗試以只讀的方式重新掛入檔案系統; -t<檔案系統型別>:僅卸除選項中所指定的檔案系統; -v:執行時顯示詳細的資訊; -V:顯示版本資訊。
3、檢視磁碟分割槽資訊
1)、檢視磁碟的掛載情況——mount 檢視磁碟的掛載情況方法:還接輸入不帶引數的mount命令;
2)、檢視磁碟的分割槽情況——fdisk 檢視磁碟的分割槽情況使用命令“fdisk -l”;
3)、檢視磁碟的使用情況——df 檢視磁碟的使用情況,直接使用df;
三,磁碟分割槽
1, linux磁碟分割槽主要分為基本分割槽(primary partion)和擴充分割槽(extension partion)兩種,基本分割槽和擴充分割槽的數目之和不能大於四個。且基本分割槽可以馬上被使用但不能再分割槽。擴充分割槽必須再進行分割槽後才能使用,也就是說它必須還要進行二次分割槽。在 Linux 中,每一個硬體裝置都對映到一個系統的檔案,對於硬碟、光碟機等 IDE 或 SCSI 裝置也不例外。Linux把各種 IDE 裝置分配了一個由 hd 字首組成的檔案;而對於各種 SCSI 裝置,則分配了一個由 sd 字首組成的檔案。
2,磁碟分割槽工具fdisk命令
首先選擇要進行操作的磁碟:
[root@localhost ~]# fdisk /dev/sdb
輸入m
列出可以執行的命令:
command (m for help): 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
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
輸入p
列出磁碟目前的分割槽情況:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 1 8001 8e Linux LVM /dev/sdb2 2 26 200812+ 83 Linux
輸入d
然後選擇分割槽,刪除現有分割槽:
Command (m for help): d Partition number (1-4): 1 Command (m for help): d Selected partition 2
檢視分割槽情況,確認分割槽已經刪除:
Command (m for help): print Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System Command (m for help):
輸入n
建立新的磁碟分割槽,首先建立兩個主磁碟分割槽:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p //建立主分割槽
Partition number (1-4): 1 //分割槽號
First cylinder (1-391, default 1): //分割槽起始位置
Using default value 1
last cylinder or +size or +sizeM or +sizeK (1-391, default 391): 100 //分割槽結束位置,單位為扇區
Command (m for help): n //再建立一個分割槽
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2 //分割槽號為2
First cylinder (101-391, default 101):
Using default value 101
Last cylinder or +size or +sizeM or +sizeK (101-391, default 391): +200M //分割槽結束位置,單位為M
確認分割槽建立成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux
再建立一個邏輯分割槽:
Command (m for help): n Command action e extended p primary partition (1-4) e //選擇擴充套件分割槽 Partition number (1-4): 3 First cylinder (126-391, default 126): Using default value 126 Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): Using default value 391
確認擴充套件分割槽建立成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux /dev/sdb3 126 391 2136645 5 Extended
在擴充套件分割槽上建立兩個邏輯分割槽:
Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l //選擇邏輯分割槽 First cylinder (126-391, default 126): Using default value 126 Last cylinder or +size or +sizeM or +sizeK (126-391, default 391): +400M Command (m for help): n Command action l logical (5 or over) p primary partition (1-4) l First cylinder (176-391, default 176): Using default value 176 Last cylinder or +size or +sizeM or +sizeK (176-391, default 391): Using default value 391
確認邏輯分割槽建立成功:
Command (m for help): p Disk /dev/sdb: 3221 MB, 3221225472 bytes 255 heads, 63 sectors/track, 391 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/sdb1 1 100 803218+ 83 Linux /dev/sdb2 101 125 200812+ 83 Linux /dev/sdb3 126 391 2136645 5 Extended /dev/sdb5 126 175 401593+ 83 Linux /dev/sdb6 176 391 1734988+ 83 Linux Command (m for help):
從上面的結果我們可以看到,在硬碟sdb我們建立了2個主分割槽(sdb1,sdb2),1個擴充套件分割槽(sdb3),2個邏輯分割槽(sdb5,sdb6)
注意:主分割槽和擴充套件分割槽的磁碟號位1-4,也就是說最多有4個主分割槽或者擴充套件分割槽,邏輯分割槽開始的磁碟號為5,因此在這個實驗中試沒有sdb4的。
最後對分割槽操作進行儲存:
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
建立好分割槽之後我們還需要對分割槽進行格式化才能在系統中使用磁碟。
四,磁碟分割槽的格式化
1,格式化:指將分割槽格式化成不同的檔案系統。 那什麼是檔案系統呢? 檔案系統:指作業系統用於明確儲存裝置或分割槽上的檔案的方法和資料結構:即在儲存裝置上組織檔案的方法。
2,格式化磁碟的主要命令是mkfs,其常用的命令格式為:mkfs -t type device [block_size]
選項 t的引數type為檔案系統格式(如ext4,vfat,ntfs等),引數device為裝置名稱(如“/dev/hda1”),引數block_size為block大小,為可選項;
格式化交換分割槽的命令略有不同,不是mkfs,而是mkswap。