1、fdisk是什么?

fdisk进行硬盘分区从实质上说就是对硬盘的一种格式化。当我们创建分区时,就已经设置好了硬盘的各项物理参数,指定了硬盘主引导记录(即MasterBootRecord,MBR)和引导记录备份的存放位置。而对于文件系统以及其他操作系统管理硬盘所需要的信息则是通过之后的高级格式化,即Format命令来实现。用一个形象的比喻,分区就好比在一张白纸上画一个大方框。而格式化好比在方框里打上格子。安装各种软件就好比在格子里写上字。分区和格式化就相当于为安装软件打基础,实际上它们为电脑在硬盘上存储数据起到标记定位的作用。

2、关于硬盘分区的介绍

硬盘的分区由主分区、扩展分区和逻辑分区组成;
主分区(包括扩展分区)的最大个数是四个;其中扩展分区也算一个主分区;
扩展分区可以继续划分为更多的逻辑分区;
所以主分区(包括扩展分区)范围是从1-4,逻辑分区是从5开始的;

3、 通过fdisk -l查看机器挂载的硬盘个数,及分区情况

[root@ localhost ~]# fdisk -lDisk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00042d23Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26         124      786432   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3             124        2611    19979264   83  Linux

4、 使用fdisk对硬盘进行分区操作

命令格式:fdisk 设备

[root@ localhost ~]# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended toswitch off the mode (command 'c') and change display units tosectors (command 'u').Command (m for help): m
Command actiona   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partition                    # 删除一个分区l   list known partition types            # 列出分区类型m   print this menu                       # 列出此帮助信息n   add a new partition                   # 添加一个新的分区o   create a new empty DOS partition tablep   print the partition table             # 列出分区表q   quit without saving changes           # 不保存,退出s   create a new empty Sun disklabelt   change a partition's system id        # 改变分区类型,id/system值u   change display/entry unitsv   verify the partition tablew   write table to disk and exit          # 保存分区表,退出x   extra functionality (experts only)    # 扩展功能,专家模式

1)列出当前操作磁盘分区情况,p

Command (m for help): pDisk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00042d23Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26         124      786432   82  Linux swap / Solaris
Partition 2 does not end on cylinder boundary.
/dev/sda3             124        2611    19979264   83  Linux

2) 删除一个分区,d

Command (m for help): d               # 删除分区
Partition number (1-4): 4             # 指定要删除的分区编号,这里要删除sda4
Command (m for help): p               # 再查看一下硬盘分区情况,看是否删除了?
# 如果不小心删错了,不要紧张,用q不保存退出;千万不要用w(write)

3)增加一个分区,n

Command (m for help): n                 # 增加一个分区
Command action
e extended                              # 扩展分区
p primary partition (1-4)               # 主分区
e                                       # 此处选择扩展分区,e,选择p为主分区
Partition number (1-4): 3               # 编号,此处为sda3
First cylinder (12404-31108, default 12404):   # 开始cylinder值,就是Start值,默认即可
Using default value 12404
Last cylinder or +size or +sizeM or +sizeK (12404-31108, default 31108): +500M   # 分区大小,此处为500M;
# 选默认则分配所有剩余空间
Command (m for help): w                        # 写入,保存退出
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks# 创建扩展分区后,可以新建逻辑分区
Command (m for help): n
Command action
l logical (5 or over)                # l,逻辑分区
p primary partition (1-4)
l
First cylinder (12405-27905, default 12405):
Using default value 12405
Last cylinder or +size or +sizeM or +sizeK (12405-27905, default 27905): +200MCommand (m for help): w
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.

4)指定分区类型,t

Command (m for help): t           # 指定分区类型,t
Partition number (1-4): 3         # 要改变那个分区,这里选择sda3
Hex code (type L to list codes): l  # 列出分区类型的id0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        1  FAT12           39  Plan 9          82  Linux swap / So c1  DRDOS/sec (FAT-2  XENIX root      3c  PartitionMagic  83  Linux           c4  DRDOS/sec (FAT-3  XENIX usr       40  Venix 80286     84  OS/2 hidden C:  c6  DRDOS/sec (FAT-4  FAT16 <32M      41  PPC PReP Boot   85  Linux extended  c7  Syrinx         5  Extended        42  SFS             86  NTFS volume set da  Non-FS data    6  FAT16           4d  QNX4.x          87  NTFS volume set db  CP/M / CTOS / .7  HPFS/NTFS       4e  QNX4.x 2nd part 88  Linux plaintext de  Dell Utility   8  AIX             4f  QNX4.x 3rd part 8e  Linux LVM       df  BootIt         9  AIX bootable    50  OnTrack DM      93  Amoeba          e1  DOS access     a  OS/2 Boot Manag 51  OnTrack DM6 Aux 94  Amoeba BBT      e3  DOS R/O        b  W95 FAT32       52  CP/M            9f  BSD/OS          e4  SpeedStor      c  W95 FAT32 (LBA) 53  OnTrack DM6 Aux a0  IBM Thinkpad hi eb  BeOS fs        e  W95 FAT16 (LBA) 54  OnTrackDM6      a5  FreeBSD         ee  GPT            f  W95 Ext'd (LBA) 55  EZ-Drive        a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            56  Golden Bow      a7  NeXTSTEP        f0  Linux/PA-RISC b
11  Hidden FAT12    5c  Priam Edisk     a8  Darwin UFS      f1  SpeedStor
12  Compaq diagnost 61  SpeedStor       a9  NetBSD          f4  SpeedStor
14  Hidden FAT16 <3 63  GNU HURD or Sys ab  Darwin boot     f2  DOS secondary
16  Hidden FAT16    64  Novell Netware  af  HFS / HFS+      fb  VMware VMFS
17  Hidden HPFS/NTF 65  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST SmartSleep  70  DiskSecure Mult b8  BSDI swap       fd  Linux raid auto
1b  Hidden W95 FAT3 75  PC/IX           bb  Boot Wizard hid fe  LANstep
1c  Hidden W95 FAT3 80  Old Minix       be  Solaris boot    ff  BBT
1e  Hidden W95 FAT1Hex code (type L to list codes): 7 # 此处选择ntfs类型“7 HPFS/NTFS”
Changed system type of partition 5 to 7 (HPFS/NTFS)Command (m for help): w           # 写入,保存退出
The partition table has been altered!Calling ioctl() to re-read partition table.
Syncing disks.

5、对分区进行格式化操作

[root@localhost ~]# mkfs.ext3 /dev/sda1    # 格式化成ext3
[root@localhost ~]# mkfs.ext2 /dev/sda1    # 格式化成ext2
[root@localhost ~]# mkfs.vfat /dev/sda1    # 格式化成FAT32

实验

1、添加了一块20G的硬盘

2、对新添加的20G的分区,分成一个主分区5G

三个主分区,一个逻辑分区

[root@ localhost ~]# ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3
[root@ localhost ~]# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended toswitch off the mode (command 'c') and change display units tosectors (command 'u').Command (m for help): m
Command actiona   toggle a bootable flagb   edit bsd disklabelc   toggle the dos compatibility flagd   delete a partitionl   list known partition typesm   print this menun   add a new partitiono   create a new empty DOS partition tablep   print the partition tableq   quit without saving changess   create a new empty Sun disklabelt   change a partition's system idu   change display/entry unitsv   verify the partition tablew   write table to disk and exitx   extra functionality (experts only)Command (m for help):

具体的创建分区步骤如下:

Command (m for help): p       # 打印分区表
Command (m for help): n       # 新建一个分区
Partition type:p   primary (2 primary, 0 extended, 2 free)    p:主分区e   extended                         e:扩展分区
Select (default p):           # 直接默认回车
Using default response p
Partition number (1,4, default 1):   # 直接默认回车
First sector (1230848-41943039, default 1230848):   # 直接默认 回车
Using default value 1230848
Last sector, +sectors or +size{K,M,G} (1230848-41943039, default 41943039):  +5G  # 输入分区大小
Partition 3 of type Linux and of size 1 GiB is set
Command (m for help): w     # 保存退出

查看是否成功:

[root@ localhost ~]# ll /dev/sd*                 # 查看分区是否成功
brw-rw----. 1 root disk 8,  0 2月  26 13:53 /dev/sda
brw-rw----. 1 root disk 8,  1 2月  26 13:53 /dev/sda1
brw-rw----. 1 root disk 8,  2 2月  26 13:53 /dev/sda2
brw-rw----. 1 root disk 8, 16 2月  26 14:02 /dev/sdb
brw-rw----. 1 root disk 8, 17 2月  26 14:02 /dev/sdb1
# 如果查看完,没有,我们需要获取新的分区列表
[root@ localhost ~]# partprobe /dev/sdb

格式化:
centos7 : 文件系统:XFS
centos6: 文件系统: ext4

centos7
[root@ localhost ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=327680 blks=                       sectsz=512   attr=2, projid32bit=1=                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25=                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2=                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@ localhost ~]# mkdir /sdb1
[root@ localhost ~]# mount  /dev/sdb1  /sdb1

查看是否已经负载

[root@ localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
/dev/mapper/centos-root   17G  4.7G   13G   28% /
/dev/sda1               1014M  219M  796M   22% /boot
/dev/sdb1                5.0G   33M  5.0G    1% /sdb1

问题: 如果出现以下报错的原因是什么?

[root@ localhost ~]# umount /sdb1
umount: /sdb1:目标忙。(有些情况下通过 lsof(8) 或 fuser(1) 可以找到有关使用该设备的进程的有用信息)

问题原因: 占用的当前目录
解决方案:
1) 退出当前即可

开机自动挂载方案:

[root@ localhost ~]# vim /etc/fstab
/dev/sdb1 /sdb1 xfs defaults 0 0/dev/sdb1 /sdb1 xfs defaults 0 0
# 要挂载的分区设备 挂载点 文件系统类型 挂载选项 是否备份 是否检测

测试:

方法1:使用umount挂载

1)卸载/sdb1

[root@ localhost ~]# umount /sdb1

2)自动挂载

[root@ localhost ~]# mount -a    # 自动挂载
[root@ localhost ~]# df -h
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 1.9G     0  1.9G    0% /dev
/dev/sda1               1014M  219M  796M   22% /boo
/dev/sdb1                5.0G   33M  5.0G    1% /sdb1
# 如果不用mount -a 直接重启一样可以自动挂载,所以叫开机自动挂载

方法2: 使用UUID挂载
1) 如何查看UUID

[root@ localhost ~]# blkid
/dev/mapper/centos-root: UUID="c3745653-7c33-4fb4-beff-49358c2a4ebc" TYPE="xfs"
/dev/sda2: UUID="uqpnLB-sEbq-7IoX-k9bw-Lr9C-nnPS-ZPQQmc" TYPE="LVM2_member"
/dev/sda1: UUID="b5ac64e4-6d13-4bd7-b0dc-380931e688a9" TYPE="xfs"
/dev/sdb1: UUID="015b0dae-1e2c-46db-89e7-6b660ae36175" TYPE="xfs"
/dev/sr0: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
/dev/mapper/centos-swap: UUID="dd9fc6d6-1beb-4eac-8189-e73c841d58a4" TYPE="swap"

2)挂载方式

[root@ localhost ~]# echo "UUID=015b0dae-1e2c-46db-89e7-6b660ae36175  /sb1 xfs defaults  0 0 " >> /etc/fstab# 第四列:
关于/etc/fstab文件里,第四列文件系统参数
Async /sync : 设置是否为同步方式运行,默认async
auto/noauto : 当执行mount -a的时候,此文件被主动挂载,默认auto
rw/ro : 是否以只读 或者读写方式挂载
exec/noexec: 限制此文件系统是否能够进行执行操作
defaults : 同时具有以上参数的默认参数设置功能,默认参数设置samba nfs# 第五列: 是否进行备份, 通常只有0或者1
0: 代表不要做备份
1 : 代表每天进行备份
2: 代表不定期的进行操作

linux中fdisk管理分区相关推荐

  1. linux磁盘管fdisk,Linux 磁盘分区工具和挂载,fdisk管理分区详解

    MBR分区 MBR概述:全称为Master Boot Record,即硬盘的主引导记录. 主引导记录(MBR,Master Boot Record)是位于磁盘最前边的一段引导(Loader)代码.它负 ...

  2. linux显示磁盘使用情况命令,Linux中监控磁盘分区和使用情况的几个工具

    导读 在文章中将讨论Linux中可用于监视磁盘使用情况的命令行实用程序,提供有关总大小容量.已用总量.文件系统信息和分区信息等.让我们看看这些工具如何帮助检索这些信息 df命令 df是一个Linux命 ...

  3. linux创建磁盘的命令,linux中创建磁盘分区的命令是什么

    linux中创建磁盘分区的命令是fdisk.具体方法是:1.进入root,查看所有磁盘的分区情况:2.执行命令[fdisk /dev/sdc],对sdc磁盘进行分区:3.依次输入n.p创建主分区即可. ...

  4. linux中磁盘分区命令是什么,linux中创建磁盘分区的命令是什么

    linux中创建磁盘分区的命令是fdisk.具体方法是:1.进入root,查看所有磁盘的分区情况:2.执行命令[fdisk /dev/sdc],对sdc磁盘进行分区:3.依次输入n.p创建主分区即可. ...

  5. Linux中内存管理详解

    Linux中内存管理 内存管理的主要工作就是对物理内存进行组织,然后对物理内存的分配和回收.但是Linux引入了虚拟地址的概念. 虚拟地址的作用 如果用户进程直接操作物理地址会有以下的坏处: 1. 用 ...

  6. linux下读取ntfs数据,在Linux中读取NTFS分区上的数据

    在Linux中读取NTFS分区上的数据 在有些情况下,系统需要访问本地NTFS分区上的数据,也可能需要访问网络上NTFS文件格式的数据.而使用mount -t挂载文件系统时,系统报告不支持NTFS错误 ...

  7. linux中fdisk的参数,Linux fdisk命令参数及用法详解--Linux磁盘分区管理命令fdisk

    fdisk 命令 linux磁盘分区管理 用途:观察硬盘之实体使用情形与分割硬盘用. 使用方法: 一.在 console 上输入 fdisk -l /dev/sda ,观察硬盘之实体使用情形. 二.在 ...

  8. linux对当前使用的分区分割,实例解说Linux中fdisk分区使用方法

    一.fdisk 的介绍 fdisk - Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具:本人译的不太好,也没有看中文文档:其实就是分区 ...

  9. Linux中fdisk创建扩展分区,linux fdisk创建分区

    在这个时候,你应该在你的硬盘上有大量可用作 Slackware 分区的未分区空间. 现在你已经准备好了创建你的 Linux 根分区.你可以用 Linux 版的 fdisk 来做到这一点. 为了给一个硬 ...

最新文章

  1. pytorch使用mean降维打击
  2. 如何实现linux+windows双系统启动
  3. Android中五种常用对话框的使用
  4. 如何利用Delphi释放所占的内存
  5. mysqlclient==1.3.7对应mysql版本_「MySQL」CentOs 7 下安装MySQL
  6. 【Vue.js源码解析 三】-- 模板编译和组件化
  7. java函数void返回值是,Java中main()函数的返回值是什么( )。A、StringB、intC、c......
  8. 7-2 组织星期信息 (10 分)
  9. 游戏筑基开发之变量、运算符、转义字符的注意点(C语言)
  10. weblogic部署war冲突解决记录
  11. 苹果:我们从未向中国政府透露源代码
  12. 在Spring IoC中,依赖注入和依赖查找的数据来源区别
  13. (13)Spring框架----Spring与Mybatis的框架整合(XML配置详解)
  14. 生活是苦难的,我又划着我的断桨出发了
  15. 故事是如何改变人生的
  16. ios 获取芝麻信用分
  17. 年利率、七日年化收益率、万份收益
  18. OpenGL + Win32 SDK 开发框架的搭建(C语言版)
  19. gps测试软件怎么算正常,完整的GPS测试和经济实用的解决方案
  20. 电脑打开后,或者锁屏后打开,屏幕变黄——亲测解决办法

热门文章

  1. 修复TortoiseGit文件夹和文件图标不显示
  2. Redis入门完整教程:客户端连接
  3. 图解法求最优解的例题_用图解法求线性规划最优解
  4. 无人机市场发展迅速,未来将推出“玩具无人机”
  5. 贪吃蛇统计分数的c语言代码,C/C++编程笔记:C语言贪吃蛇源代码控制台(二),分数和食物!...
  6. 腾讯 SNG 监控数据的创新应用
  7. AntV 架构演进-F2 篇
  8. AVPlayer 无间隔循环播放
  9. 同步异步阻塞非阻塞详解
  10. python中的二分查找