>主要参考:parted空闲空间添加分区

>参考截图:

1、实验环境搭建:添加一块硬盘,并将该磁盘转换成MBR格式

【添加成功后查看结果】

2、讲该硬盘的格式转换成MBR格式(msdos)

parted /dev/sda mklabel msdos

3、使用parted先创建一个主分区

parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mkpart     # 创建分区
Partition type?  primary/extended? primary  #选择主分区
File system type?  [ext2]?      #默认文件类型
Start? 2048s        # 指定起始大小(第一分区需从2048扇区开始)
End? 1001MB         # 指定最终大小(最终的分区大小=[起始大小-最终大小])
(parted) print      # 输出分区情况
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB   #磁盘的大小
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type     File system  Flags1      1049kB  1001MB  1000MB  primary  ext2         lba

4、基于主分区的基础上,创建扩展分区,给予剩余的磁盘空间

end参数填:-1表示:end = 磁盘大小(MB)-1MB#举例解释:你的磁盘是100MB,主分区占用了范围:2048s~10MB如需将扩展分区设置为磁盘的剩余空间,那么范围就是:11MB~(100MB-1MB)11MB~99MB>>>所以,当end = -1 的时候,就是将剩余的磁盘空间给予给该分区<<<
(parted) mkpart      # 创建分区
Partition type?  primary/extended? extended     # 创建扩展分区
Start? 1002MB       # 起始大小,基于前一个分区的大小后移1MB
End? -1             # 最终大小,-1 表示磁盘大小迁移1MB(也就是磁盘大小-1MB)
(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary   ext2         lba2      1002MB  10.7GB  9734MB  extended               lba

5、前面那个只是创建扩展分区而已,真正的主角应该是逻辑分区!

  5.1、创建逻辑分区

(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary   ext2         lba2      1002MB  10.7GB  9734MB  extended               lba
-------------------------------------------------------------
(parted) mkpart     # 创建分区
Partition type?  primary/logical? logical
File system type?  [ext2]?      # 默认文件类型
Start? 1003MB       # 逻辑卷的起始点很特殊,是从扩展卷的起始点后一个扇区开始
End? 2004MB         # 创建一个1000MB的逻辑分区
(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary   ext2         lba2      1002MB  10.7GB  9734MB  extended               lba5      1003MB  2004MB  1000MB  logical   ext2         lba

  5.2、将剩余的逻辑分区空间赋予给逻辑分区

(parted) mkpart      # 创建分区
Partition type?  primary/logical? logical
File system type?  [ext2]?      # 默认文件类型
Start? 2005MB       # 起始点:上一个逻辑分区后一个扇区开始
End? -1             >>>将整个剩余的>[扩展分区]<空间,赋予给该逻辑分区<<<
(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary   ext2         lba2      1002MB  10.7GB  9734MB  extended               lba5      1003MB  2004MB  1000MB  logical   ext2         lba6      2005MB  10.7GB  8731MB  logical   ext2         lba

6.梳理:磁盘空间大小、分区大小、扩展分区大小、逻辑分区大小…

>>>根据序号来观察层次关系<<<1.磁盘(硬盘)大小决定分区大小;2.分区大小通常多种表达方式:3.如果是MBR磁盘,那么分区大小这么表达:4.主分区大小....4.扩展分区大小....5.逻辑分区1的大小....3.如果是GPT磁盘,那么分区大小这么表达:4.某某分区大小....

7.个人拓展时间:

7.1 扩展分区大小对逻辑分区的影响?

通过实验案例说明:
  正常的扩展分区都是直接使用剩余的磁盘空间,那如果扩展分区的大小为1000MB的话,逻辑分区最大是多少呢?

7.1.1 创建1000MB的扩展分区

(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type     File system  Flags1      1049kB  1001MB  1000MB  primary
-------------------------------
(parted) mkpart     # 创建分区
Partition type?  primary/extended? extended
Start? 1002MB       # 紧接着着主分区的后一个扇区开始
End? 2003MB         # 创建1000MB的扩展分区
(parted) print      # 查看分区表
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary2      1002MB  2003MB  1000MB  extended               lba  # 成功创建1000MB的扩展分区

7.1.2 创建2000MB的逻辑分区

(parted) mkpart      # 创建分区
Partition type?  primary/logical? logical
File system type?  [ext2]?  # 使用默认文件类型
Start? 1003MB       # 起始点,从扩展分区后一个扇区
End? 3004MB         # 创建一个2000MB的逻辑分区
Warning: You requested a partition from 1003MB to 3004MB (sectors 1958984..5867187).
The closest location we can manage is 1003MB to 2003MB (sectors 1958984..3911679).
Is this still acceptable to you?
Yes/No? yes         # 警告:最多只能给1000MB(扩展分区大小),你能接受吗?
-------------------------------
Warning: The resulting partition is not properly aligned for best performance:
1958984s % 2048s != 0s
Ignore/Cancel? Ignore   # 提示信息,忽略
-------------------------------
(parted) print      # 查看分区表
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary2      1002MB  2003MB  1000MB  extended               lba5      1003MB  2003MB  1000MB  logical   ext2         lba# 逻辑分区,最大不能超过扩展分区大小。

7.1.3 结论:

 逻辑分区 ———— 最大不能超过扩展分区大小。

7.2 如何删除、恢复分区?

通过实验案例说明:
  sda6是存放重要数据的分区(现拿镜像文件放置在其中),恰巧有一天脑子抽筋使用parted划分空间的时候将sda6分区删除了,那么该如何恢复呢?

7.2.1 实验环境搭建

环境搭建:1.将sda6分区格式化为任意格式:> mkfs.ext2 /dev/sda62.创建[/cs]文件夹,然后将[/dev/sda6]挂在到[/cs]上面[root@ly ~]# mkdir /cs[root@ly ~]# mount /dev/sda6 /cs[root@ly ~]# dfFilesystem            1K-blocks    Used Available Use% Mounted on/dev/sda6               8392928   18744   7947844   1% /cs3.将镜像拷贝到/cs文件夹中[root@ly ~]# cp -r /mnt/* /cs/cp: overwrite '/cs/EULA'? ycp: overwrite '/cs/extra_files.json'? ycp: overwrite '/cs/GPL'? ycp: overwrite '/cs/media.repo'? ycp: overwrite '/cs/RPM-GPG-KEY-redhat-beta'? ycp: overwrite '/cs/RPM-GPG-KEY-redhat-release'? ycp: overwrite '/cs/TRANS.TBL'? y4.查看磁盘使用情况:[root@ly /]# dfFilesystem            1K-blocks    Used Available Use% Mounted on/dev/sda6               8392928 7785960    180628  98% /cs

7.2.2 场景一:稳重,先使用rescue恢复分区

(1)删除分区:    rm 分区序号
(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary2      1002MB  10.7GB  9734MB  extended               lba5      1003MB  2004MB  1000MB  logical6      2005MB  10.7GB  8731MB  logical   ext2
----------------------------------------------- 删除前
(parted) rm 6   # 删除分区
Warning: Partition /dev/sda6 is being used. Are you sure you want to continue?
Yes/No? yes     # 提示分区正在使用,是否继续删除
Error: Partition(s) 6 on /dev/sda have been written, but we have been unable to inform the kernel of the
change, probably because it/they are in use.  As a result, the old partition(s) will remain in use.  You
should reboot now before making further changes.
Ignore/Cancel? Ignore   # 提示重启后生效,ignore 忽视
----------------------------------------------- 删除后
(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary2      1002MB  10.7GB  9734MB  extended               lba5      1003MB  2004MB  1000MB  logical
(2)先恢复分区
(parted) rescue 2005MB -1
Information: A ext2 logical partition was found at 2005MB -> 10.7GB. # 发现一个ext2的逻辑分区Do you want to add it to the partition table?            # 是否添加回分区表中?Yes/No/Cancel? yes   # 是的,添加进行
-------------------------------
(parted) print          # 再次查看分区表
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary2      1002MB  10.7GB  9734MB  extended               lba5      1003MB  2004MB  1000MB  logical6      2005MB  10.7GB  8731MB  logical   ext2   # 成功恢复
(3)实验结果:>>>在parted中,使用rescue命令成功恢复误删分区。

7.2.2 场景二:手忙脚乱,重启后再恢复

(1)删除分区:    rm 分区序号
(parted) print
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary2      1002MB  10.7GB  9734MB  extended               lba5      1003MB  2004MB  1000MB  logical6      2005MB  10.7GB  8731MB  logical   ext2
-------------------------------
(parted) rm 6       # 删除分区
Warning: Partition /dev/sda6 is being used. Are you sure you want to continue?
Yes/No? yes         # 确认删除
-------------------------------
Error: Partition(s) 6 on /dev/sda have been written, \
but we have been unable to inform the kernel of thechange, \
probably because it/they are in use.  As a result, \
the old partition(s) will remain in use.  You \
should reboot now before making further changes.
Ignore/Cancel? Ignore   # 忽略信息
(parted) quit           # 保存退出
Information: You may need to update /etc/fstab.
(2)重启主机后,再进入parted中恢复分区
[root@ly /]# reboot     # 重启主机
-------------------------------
>>> 开机之后
>
[root@ly ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0   10G  0 disk
├─sda1          8:1    0  954M  0 part
├─sda2          8:2    0    1K  0 part
└─sda5          8:5    0  954M  0 part      # 可看到sda6分区不见了
-------------------------------
>>> 尝试进入parted中恢复分区[root@ly ~]# parted /dev/sda
GNU Parted 3.2
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted)
-------------------------------
(parted) rescue 2005MB -1       # 恢复分区
Information: A ext2 logical partition was found at 2005MB -> 10.7GB.  Do you want to add it to the partition table?
Yes/No/Cancel? yes              # 成功找到分区,并确认恢复
-------------------------------
(parted) print                  # 查看分区表
Model: ATA VMware Virtual S (scsi)
Disk /dev/sda: 10.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:Number  Start   End     Size    Type      File system  Flags1      1049kB  1001MB  1000MB  primary2      1002MB  10.7GB  9734MB  extended               lba5      1003MB  2004MB  1000MB  logical6      2005MB  10.7GB  8731MB  logical   ext2           # 分区表又回来了(parted) quit      # 退出pareted,挂载/dev/sda6分区,查看文件是否还存在
Information: You may need to update /etc/fstab.
-------------------------------
>>> 挂载恢复的分区[root@ly ~]# mount /dev/sda6 /cs
[root@ly ~]# df
Filesystem            1K-blocks    Used Available Use% Mounted on
/dev/sda6               8392928 7785960    180628  98% /cs

(3)实验结果:>>> 主机重启后,再使用parted,仍然可以成功恢复!

结语:

  该笔记用于记录交流学习使用,有错误地方,望各位理解。
  如能发现错误并私信指出,更是感谢!

Linux 创建MBR的磁盘的扩展分区、逻辑分区相关问题(parted)相关推荐

  1. vmware中linux使用gparted调整磁盘大小并设置swap分区

    vmware中linux使用gparted调整磁盘大小并设置swap分区 今天使用虚拟机的时候,发现虚拟机快满了,提示磁盘空间小,不得不扩充虚拟机空间. 1首先把vmware中的ubuntu关机,然后 ...

  2. 主分区活动分区扩展分区逻辑分区

    转自:https://jingyan.baidu.com/article/5d368d1ed93bf83f60c05794.html 1.图文解释 大体的意思就如上图所示 主分区: 也叫引导分区,最多 ...

  3. linux 找回gpt分区,linux – 修复graid mini磁盘上损坏的GPT分区

    我正在尝试修复格雷德迷你1TB外置硬盘上的GPT损坏分区表.以下是gdisk的报告: root@philippe-desktop:/home/philippe/thomasdisk# gdisk /d ...

  4. linux创建xfs文件系统命令,通过案例学习xfs文件系统相关命令

    在我们另一篇文章中,我带您领略了一下什么是 xfs,xfs 的相关特性等内容.本文我们来看一些常用的 xfs 管理命令.我们将会通过几个例子来讲解如何创建 xfs 文件系统,如何对 xfs 文件系统进 ...

  5. linux建立系统分区表,Linux系统fdisk创建分区(主分区、扩展分区和逻辑分区)过程详解...

    本节我们实际建立一个主分区,看看过程是什么样子的.命令如下:[root@localhost ~]# fdisk /dev/sdb -省略部分输出- Command (m for help): p #显 ...

  6. Linux的文件系统(磁盘标准分区)

    所谓文件系统是一个组织文件的'系统' file system:文件系统是用来存储文件的 硬盘不能直接存放文件或数据 我们通过格式化之后,指定格式化后的文件系统,才可以存放数据. 不同文件系统存放方式. ...

  7. Linux 磁盘原理与管理 (分区 挂载)

    目前硬盘与主机系统的联系主要有几种传输介面规格: IDE介面:         IDE介面插槽所使用的排线较宽,每条排线上面可以接两个IDE装置,由於可以接两个装置,那为了判别两个装置的主/从架构, ...

  8. Linux主分区,扩展分区,逻辑分区的联系和区别

    基本概念 硬盘分区有三种, 主磁盘分区.扩展 磁盘分区. 逻辑分区. 一个 硬盘 主分区至少有1个,最多4个,扩展分区可以没有,最多1个.且 主分区+扩展分区总共不能超过4个. 逻辑分区可以有若干个. ...

  9. 3章.Linux主机规划和磁盘分区

    选择linux硬件时应该选择经过linux测试的硬件比较好. 安装linux,需要先了解下linux要达成什么任务目的,这样选购硬件时才会知道选择哪个组件是最重要的. 例子:桌面用户,应该显卡比较重要 ...

最新文章

  1. nginx ngx_modules
  2. Django之model模型
  3. ajax post提交数据_JavaEE学习——为什么get请求方式比post请求方式效率高
  4. 20190825:(leetcode习题)最长公共前缀
  5. mogodb集群配置笔记
  6. 2014腾讯实习生笔试题——define与typedef
  7. 一句代码搞定权限请求,从未如此简单
  8. 调用地图JS/API只显示一个省
  9. SQL Server 2012基本介绍
  10. Python开发工具PyCharm的web开发教程:创建并运行 Python 项目
  11. pcb板led正负极图形_晶体二极管正负极判断_晶体二极管图形符号
  12. 优化移动网站的9大窍门(转)
  13. 21碳纤维山地车哪个牌子好全球最贵辐轮王土拨鼠自行车965万
  14. 复制网站zencart模板的方法
  15. 1076: 三位数求解 Python
  16. mysql执行存储过程报错1366_花花蘑菇
  17. 三菱服务器绝对位置,绝对位置控制指令
  18. c++超级简单的计算器
  19. 脑电情绪识别的相关技术综述
  20. IDEA推送本地代码到新远程git地址

热门文章

  1. IBIS模型的那些年这些事(一)
  2. W ndows 10模拟器,手机windows10模拟器
  3. 扑克迷如何在2019-03-28的市场中利用十字星进行跑赢大盘
  4. 从开发转型到项目经理,在初创公司我做了什么
  5. 日本开设无人机专业,打造无人机“人才市场”
  6. C++类的六个特殊成员函数20220226
  7. 【问题记录】ABP框架模板页面样式加载不完全
  8. 微信小游戏Banner广告
  9. 比较好用的CDN加速节点
  10. Oracle 18c新特性-Memoptimized Rowstore(内存优化的行存储)