Linux 磁盘分区管理

时间:2023-02-10 18:33:40

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 查看分区可可转换类型。
Linux 磁盘分区管理Linux 磁盘分区管理
------------------------分区-------------------------------

# 1、进入磁盘
fdisk  /dev/sda  

# 2、列出当前分区表
p   

# 3、添加新分区
n  

# 4、选择开始的块地址,直接回车默认就可以了
回车  

# 5、输入要添加分区的大小+200M,+1G这样的都能识别
+2G   

# 6、确定
回车  

# 6、写入并退出
w   
分区步骤
Linux 磁盘分区管理Linux 磁盘分区管理
# 更新当前分区表给内核 这一步非常重要, 否则你的分区重启才能看到.
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:在创建文件系统前进程硬盘自检;

案例:

Linux 磁盘分区管理Linux 磁盘分区管理
mke2fs -t ext4 -L 'testdisk' /dev/sdb1
创建ext4文件系统并设置卷标为testdisk:

 

其他分区命令


通知系统分区表的变化

命令:partprobe

参数:

  • -d,—dry-run实际上不会通知操作系统打印内容摘要
  • -h,—帮助显示此帮助并退出
  • -v,—版本输出版本信息并退出

其他:

如果生成设备文件失败,可以使用如下命令再次生成

partx -a /dev/XXX

注:如果还是失败就请重启系统。


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