Linux 磁盤管理進階
磁盤分區介紹
- 基本分區(primary partion)
- 基本分區也稱主分區,引導分區、每塊磁盤分區主分區與擴展分區加起來不能大於四個。
- 基本分區創建后可以立即使用,但是有分區數量上限。
- 擴充分區(extension partion)
- 每塊磁盤內只能划分一塊擴展分區
- 擴展分區內可划分任意塊邏輯分區
- 擴展分區創建后不能直接使用,需要在擴展分區內創建邏輯分區
- 邏輯分區(logical partion)
- 邏輯分區實在擴展分區內創建的分區
- 邏輯分區相當與一塊存儲介質,和其他邏輯分區主分區完全獨立
磁盤類型介紹
- IDE硬盤
- 驅動器標識符為hdx
- IDE硬盤最多64個分區
- 其中“hdx~”表明分區所在設備的類型、hd 表示ide、x表示哪塊盤、~表示分區號
- SCSI硬盤
- 驅動器標識符為sdx
- 其中“sdx~”表明分區所在設備的類型、sd 表示sde、x表示哪塊盤、~表示分區號
- hda1、hda2、hda3、hda5、hda6
- Linux中規定每塊硬盤最多4個主分區(包含擴展分區)任何占用分區都要占用分區號
- 主分區(包含擴展分區分區號):1 ~ 4 結束。如:hda1、hda2、hda3
- 邏輯分區:5 ~ 16 結束。如:hda5、hda6 ..
- hda、hdb、hdc、hdd
- 增一塊按磁盤后面按字母順序名稱
- a為基本盤,b為基本從屬盤,c為輔助主盤,d為輔助從屬盤
fdisk 命令使用
用途:觀察硬盤之實體使用情形與分割硬盤用
使用方法:
一、在 console 上輸入 fdisk -l /dev/sda ,觀察硬盤之實體使用情形。
二、在 console 上輸入 fdisk /dev/sda,可進入分割硬盤模式。
參數:
1. 輸入 m 顯示所有命令列示。 2. 輸入 p 顯示硬盤分割情形。 3. 輸入 a 設定硬盤啟動區。 4. 輸入 n 設定新的硬盤分割區。 4.1. 輸入 e 硬盤為[延伸]分割區(extend)。 4.2. 輸入 p 硬盤為[主要]分割區(primary)。 5. 輸入 t 改變硬盤分割區屬性。(制作交換分區時會用到) 6. 輸入 d 刪除硬盤分割區屬性。 7. 輸入 q 結束不存入硬盤分割區屬性。 8. 輸入 w 結束並寫入硬盤分割區屬性 9. 輸入 l 查看分區可可轉換類型。
------------------------分區------------------------------- # 1、進入磁盤 fdisk /dev/sda # 2、列出當前分區表 p # 3、添加新分區 n # 4、選擇開始的塊地址,直接回車默認就可以了 回車 # 5、輸入要添加分區的大小+200M,+1G這樣的都能識別 +2G # 6、確定 回車 # 6、寫入並退出 w
# 更新當前分區表給內核 這一步非常重要, 否則你的分區重啟才能看到. partprobe # 格式化新建分區 mkfs.ext3 /dev/sda6 # 掛載 mount /dev/sda6 /data
分區轉換類型:
| Partition Type | Value | Partition Type | Value |
|---|---|---|---|
| Empty |
00 |
Novell Netware 386 |
65 |
| DOS 12-bit FAT |
01 |
PIC/IX |
75 |
| XENIX root |
02 |
Old MINIX |
80 |
| XENIX usr |
03 |
Linux/MINUX |
81 |
| DOS 16-bit ⇐32M |
04 |
Linux swap |
82 |
| Extended |
05 |
Linux native |
83 |
| DOS 16-bit >=32 |
06 |
Linux extended |
85 |
| OS/2 HPFS |
07 |
Amoeba |
93 |
| AIX |
08 |
Amoeba BBT |
94 |
| AIX bootable |
09 |
BSD/386 |
a5 |
| OS/2 Boot Manager |
0a |
OpenBSD |
a6 |
| Win95 FAT32 |
0b |
NEXTSTEP |
a7 |
| Win95 FAT32 (LBA) |
0c |
BSDI fs |
b7 |
| Win95 FAT16 (LBA) |
0e |
BSDI swap |
b8 |
| Win95 Extended (LBA) |
0f |
Syrinx |
c7 |
| Venix 80286 |
40 |
CP/M |
db |
| Novell |
51 |
DOS access |
e1 |
| PReP Boot |
41 |
DOS R/O |
e3 |
| GNU HURD |
63 |
DOS secondary |
f2 |
| Novell Netware 286 |
64 |
BBT |
ff |
格式化分區命令
命令:根據需要格式化格式選擇命令
mkfifo mkfs mkfs.exfat mkfs.ext4 mkfs.minix mkfs.ubifs mkfontdir mkfs.bfs mkfs.ext2 mkfs.fat mkfs.msdos mkfs.vfat mkfontscale mkfs.cramfs mkfs.ext3 mkfs.jffs2 mkfs.ntfs
案例:mkfs.ext3 /dev/sdb2
命令:mke2fs
- 介紹:mke2fs命令是專門用於管理ext系列文件系統的一個專門的工具。
- 使用格式:mke2fs [選項] 磁盤盤符
- 例如:mke2fs -t ext4 -b 8192 /dev/sdb5
參數:
-t fs-type:指定文件系統類型(如ext2,ext3,ext4等等),則會從/etc/mke2fs.conf文件中讀取默認配置; -b block-size:設置硬盤的block大小。 -L 'LABEL':設置卷標; -j:創建ext3文件系統,mkfs.ext3自帶了該選項; -N:設置inode節點的數量; -m:設置為文件系統預留的塊的百分比; -c:在創建文件系統前進程硬盤自檢;
案例:
mke2fs -t ext4 -L 'testdisk' /dev/sdb1
其他分區命令
通知系統分區表的變化
命令:partprobe
參數:
- -d,—dry-run實際上不會通知操作系統打印內容摘要
- -h,—幫助顯示此幫助並退出
- -v,—版本輸出版本信息並退出
其他:
如果生成設備文件失敗,可以使用如下命令再次生成
partx -a /dev/XXX
注:如果還是失敗就請重啟系統。
查看設備分區的UUID與類型
命令:blkid
命令:blkid 設備名稱
Swap 分區創建命令
- Linux mkswap命令用於設置交換區(swap area)。
- mkswap可將磁盤分區或文件設為Linux的交換區。
語法:
mkswap [-cf][-v0][-v1][設備名稱或文件][交換區大小]
參數:
- -c 建立交換區前,先檢查是否有損壞的區塊。
- -f 在SPARC電腦上建立交換區時,要加上此參數。
- -v0 建立舊式交換區,此為預設值。
- -v1 建立新式交換區。
- [交換區大小] 指定交換區的大小,單位為1024字節。
開啟SWAP分區
Linux swapon命令用於激活Linux系統中交換空間,Linux系統的內存管理必須使用交換區來建立虛擬內存。
語法:
/sbin/swapon -a [-v] /sbin/swapon [-v] [-p priority] specialfile ... /sbin/swapon [-s]
參數:
- -h 請幫幫我
- -V 顯示版本訊息
- -s 顯示簡短的裝置訊息
- -a 自動啟動所有SWAP裝置
- -p 設定優先權,你可以在0到32767中間選一個數字給他。或是在 /etc/fstab 里面加上 pri=[value] ([value]就是0~32767中間一個數字),然后你就可以很方便的直接使用 swapon -a 來啟動他們,而且有優先權設定
關閉SWAP分區
Linux swapoff命令用於關閉系統交換區(swap area)。
swapoff實際上為swapon的符號連接,可用來關閉系統的交換區。
語法:
swapoff [設備]
參數:
- -a 將/etc/fstab文件中所有設置為swap的設備關閉
- -h 幫助信息
- -V 版本信息
實例
1、顯示分區信息
# sfdisk -l
Disk /dev/sda: 1305 cylinders, 255 heads, 63 sectors/track Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 * 0+ 12 13- 104391 83 Linux /dev/sda2 13 1304 1292 10377990 8e Linux LVM /dev/sda3 0 - 0 0 0 Empty /dev/sda4 0 - 0 0 0 Empty Disk /dev/sdb: 652 cylinders, 255 heads, 63 sectors/track sfdisk: ERROR: sector 0 does not have an msdos signature /dev/sdb: unrecognized partition No partitions found
2、關閉交換分區。
# swapoff /dev/sda2
