精华内容
下载资源
问答
  • fdisk分区命令

    2020-03-19 12:26:03
    通过这个命令也可以查看系统中所有可用的分区,但是这个命令只支持MBR的分区表(这句话应该只对某些系统,CentOS7-1810适用,Debian9.5和openSUSE15应该已经支持GPT分区表,下面对fdisk的操作都是在Debian9.5下操作)...

    fdisk是Linux系统中最常用的分区工具,通过这个命令也可以查看系统中所有可用的分区,但是这个命令只支持MBR的分区表(这句话应该只对某些系统,CentOS7-1810适用,Debian9.5和openSUSE15应该已经支持GPT分区表,下面对fdisk的操作都是在Debian9.5下操作),所以这个命令不能对大于2T的硬盘进行分区,大于2T的硬盘我们需要用GPT分区表来进行分区,GPT分区我们就要用gdisk或parted分区工具来进行分区。

    Linux 内核是如何理解硬盘的?
    作为人类,我们可以很轻松地理解一些事情;但是电脑就不是这样了,它们需要合适的命名才能理解这些。

    在 Linux 中,外围设备都位于 /dev 挂载点,内核通过以下的方式理解硬盘:

    /dev/hdX[a-z]:     IDE 硬盘被命名为 hdX
    /dev/sdX[a-z]:      SCSI 硬盘被命名为 sdX
    /dev/xdX[a-z]:      XT 硬盘被命名为 xdX
    /dev/vdX[a-z]:     虚拟硬盘被命名为 vdX
    /dev/fdN:              软盘被命名为 fdN
    /dev/scdN or /dev/srN:         CD-ROM 被命名为 /dev/scdN 或 /dev/srN

    fdisk 允许我们在每块硬盘上创建最多四个主分区。它们中的其中一个可以作为扩展分区,并下设多个逻辑分区。1-4 扇区作为主分区被保留,逻辑分区从扇区 5 开始。

    一、fdisk参数使用方法:

    fdisk [-l] 设备名

    参数
    -l :显示指定磁盘设备的分区表信息,如果没有指定磁盘设备,则显示/proc/partitions 文件中的信息,也就是系统中所有的磁盘设备。

    举例:
    -----------------------------------------------------------
    root@debian:~# fdisk  -l          #没有指定任何磁盘设备

    Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors       #第一块磁盘/dev/sda容量20G
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos                     #分区表的类型为MBR (dos表示MBR分区表,gpt表示GPT分区表)
    Disk identifier: 0xefdc905c

    Device          Boot    Start          End             Sectors   Size  Id       Type         #磁盘/dev/sda下的分区
    /dev/sda1     *          2048        37748735   377466881     8G        83     Linux
    /dev/sda2                37750782      41940991   4190210   2G         5       Extended
    /dev/sda5      37750784     41940991          4190208          2G        82      Linux swap / Solaris

    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors      #第二块磁盘/dev/sdb容量5G
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes

    root@debian:~#
    -----------------------------------------------------------
    使用 "fdisk -l" 查看分区信息,不同的发行版可能显示的信息不同,通过上面的信息能够看到我们添加的两块硬盘(/dev/sda 和 /dev/sdb)的信息。我们解释一下这些信息,其上半部分是硬盘的整体状态,/dev/sda 硬盘的总大小是20GB等信息。

    信息的下半部分是分区的信息,共 7 列,含义如下:

    Device:分区的设备文件名。
    Boot:是否为启动引导分区,在这里 /dev/sda1 为启动引导分区。
    Start:起始柱面,代表分区从哪里开始。
    End:终止柱面,代表分区到哪里结束。
    Sectors:分区的大小,单位是扇区。
    Size:分区的容量
    id:分区内文件系统的 ID。
    Type:分区的文件系统是什么。


    二、fdisk交互模式磁盘分区

    通过命令“fdisk 设备文件名” 就可以进入fdisk程序的交互模式,在交互模式中可以通过输入fdisk程序所提供的指令完成相应的操作,举例如下

    -----------------------------------------------------------
    root@debian:~# fdisk /dev/sdb

    Welcome to fdisk (util-linux 2.29.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.

    Device does not contain a recognized partition table.
    Created a new DOS disklabel with disk identifier 0xe3779e93.

    Command (m for help): m                                                                   #输入m可以获得帮助信息

    Help:

    DOS (MBR)
    a   toggle a bootable flag                                                                        #设置可引导标记
    b   edit nested BSD disklabel                                                                #编辑 bsd 磁盘标签
    c    toggle the dos compatibility flag                                                  #设置 DOS 操作系统兼容标记

    G  eneric
    d  delete a partition                                                                                 #删除一个分区
    F  list free unpartitioned space                                                           #列出空闲的未分区空间
    l    list known partition types                                                                 #显示已知的分区类型。82 为 Linux swap 分区,83 为 Linux 分区
    n    add a new partition                                                                            # 新建分区
    p    print the partition table                                                                    #显示当前磁盘的分区列表
    t    change a partition type                                                                      #改变分区类型
    v    verify the partition table                   #验证分区表
    i    print information about a partition            #打印有关分区的信息

    Misc
    m    print this menu                     #显示帮助菜单
    u    change display/entry units                        #改变显示记录单位
    x    extra functionality (experts only)             #附加功能(仅专家)

    Script
    I    load disk layout from sfdisk script file           #从sfdisk脚本文件加载磁盘布局
    O    dump disk layout to sfdisk script file           #将磁盘布局转储到sfdisk脚本文件

    Save & Exit
    w    write table to disk and exit                 #保存退出
    q    quit without saving changes              #不保存退出

    Create a new label
    g    create a new empty GPT partition table         #新建空白GPT分区表,这个应该就表明fdisk已经支持GPT,还需要进一步的认证。
    G    create a new empty SGI (IRIX) partition table         #新建空白IRIX分区表
    o    create a new empty DOS partition table         #新建空白DOS分区表
    s    create a new empty Sun partition table          #新建空白SUN磁盘标签


    Command (m for help):
    -----------------------------------------------------------

    三、分区管理

    1、新建主分区

    root@debian:~# fdisk    /dev/sdb            #要新建分区的磁盘/dev/sdb不要加数字加数字就变成了分区

    Welcome to fdisk (util-linux 2.29.2).
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.

    Device does not contain a recognized partition table.
    Created a new DOS disklabel with disk identifier 0xd9b1702f.

    Command (m for help):  n              #输入n新建分区,默认直接创建MBR分区表
    Partition type
    p primary (0 primary, 0 extended, 4 free)       #主分区
    e extended (container for logical partitions)       #扩展分区
    Select (default p): p                  #输入p新建主分区
    Partition number (1-4, default 1):           #输入分区号,直接回车就行,默认为1
    First sector (2048-10485759, default 2048):      #输入起始扇区,直接回车就行,默认2048最前面开始
    Last sector, +sectors or +size{K,M,G,T,P} (2048-10485759, default 10485759):  +1G                 #这里输入新增分区的大小可以通过扇区数来增加,也可以通过+size{K,M,G,T,P}方式来增加,这里要增加1G的容量就表示为+1G       

    Created a new partition 1 of type 'Linux' and of size 1 GiB.      #提示创建了1G的分区

    Command (m for help):  p                     #输入p查看创建的分区
    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos                        #分区表类型为MBR
    Disk identifier: 0xd9b1702f

    Device    Boot   Start   End     Sectors   Size   Id   Type
    /dev/sdb1      2048   2099199   2097152   1G   83   Linux

    2、剩余可用的空间

    Command (m for help):  F                     #输入F查看剩余可用的空间
    Unpartitioned space /dev/sdb: 4 GiB, 4293918720 bytes, 8386560 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes

    Start     End     Sectors   Size
    2099200   10485759   8386560    4G                   #可以看到可用空间为4G

    3、创建扩展分区及逻辑分区

    Command (m for help):  n                     #输入n继续创建分区
    Partition type
    p primary (1 primary, 0 extended, 3 free)
    e extended (container for logical partitions)
    Select (default p):  e                          #输入e创建扩展分区
    Partition number (2-4, default 2):                  #输入扩展分区号,直接回车就可以
    First sector (2099200-10485759, default 2099200):          #输入起始扇区数,直接回车就可以
    Last sector, +sectors or +size{K,M,G,T,P} (2099200-10485759, default 10485759): +2G                                    #增加2G的容量

    Created a new partition 2 of type 'Extended' and of size 2 GiB.       #创建扩展分区成功

    Command (m for help):  n                       #输入n继续创建分区
    Partition type
    p primary (1 primary, 1 extended, 2 free)
    l logical (numbered from 5)                      #只有创建了扩展分区才会有这个选项
    Select (default p):  l                         #输入l创建逻辑分区

    Adding logical partition 5                          #扩展分区号从5开始
    First sector (2101248-6293503, default 2101248):
    Last sector, +sectors or +size{K,M,G,T,P} (2101248-6293503, default 6293503): +1G

    Created a new partition 5 of type 'Linux' and of size 1 GiB.

    Command (m for help):  p
    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xd9b1702f

    Device    Boot  Start   End     Sectors   Size   Id   Type
    /dev/sdb1     2048   2099199   2097152   1G   83   Linux           #主分区
    /dev/sdb2      2099200     6293503   4194304    2G    5   Extended               #扩展分区
    /dev/sdb5       2101248    4198399   2097152    1G   83   Linux               #逻辑分区

    4、删除分区

    Command (m for help): d                    #输入d删除分区
    Partition number (1,2,5, default 5): 2               #删除扩增分区2,上面的逻辑分区也会一同删除

    Partition 2 has been deleted.

    Command (m for help): p
    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xd9b1702f

    Device Boot Start End Sectors Size Id Type
    /dev/sdb1 2048 2099199 2097152 1G 83 Linux

    Command (m for help):

    5、修改分区类型

    Command (m for help):  l                      #查看可用分区类型


    #其中82为Linux swap分区、83为Linux分区、8e为LinuxLVM分区、b为Windows FAT32分区、e为Windows FAT16分区。

    Command (m for help): t                  #输入t更改分区类型
    Partition number (1,2,5, default 5): 5        #更改分区5的类型

    Partition type (type L to list all types): 8e            #输入更改分区类型为8e,这里输入l也可以查看分区的类型

    Changed type of partition 'Linux' to 'Linux LVM'.          #提示更改成功

    Command (m for help): p
    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos
    Disk identifier: 0xd9b1702f

    Device   Boot    Start    End     Sectors   Size   Id   Type
    /dev/sdb1       2048   2099199   2097152   1G   83   Linux
    /dev/sdb2       2099200   6293503   4194304    2G   5   Extended
    /dev/sdb5       2101248   4198399   2097152    1G   8e   Linux LVM         #更改后的分区类型

    Command (m for help):

    6、保存修改的结果

    Command (m for help):  w                        #输入w保存配置,如果不想保存可以输入q退出
    The partition table has been altered.
    Calling ioctl() to re-read partition table.
    Syncing disks.


    使用w指令保存后,则在fdisk中所做的所有操作都会生效,且不可回退。如果分区表正忙,则需要重启机器后才能使新的分区表生效。

    四、新建GPT分区

    不是所有的发行版带的fdisk都支持GPT分区这里请注意

    1、新建分区

    Command (m for help): p

    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: dos                  #现在的分区类型为MBR
    Disk identifier: 0xd9b1702f

    Command (m for help): g            #输入g创建GPT分区
    Created a new GPT disklabel (GUID: 8C0F4613-2830-40E1-8D23-596D1B7F5DDB).

    Command (m for help): n            #新建分区
    Partition number (1-128, default 1):         #可以看到这里没有扩展分区的概念了
    First sector (2048-10485726, default 2048):
    Last sector, +sectors or +size{K,M,G,T,P} (2048-10485726, default 10485726): +1G

    Created a new partition 1 of type 'Linux filesystem' and of size 1 GiB.

    Command (m for help): p
    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 8C0F4613-2830-40E1-8D23-596D1B7F5DDB

    Device    Start   End   Sectors   Size   Type                                               #GPT下输入p显示的分区信息和MBR下略有不同,没有分区类型id的选项
    /dev/sdb1   2048       2099199     2097152         1G        Linux filesystem       #成功创建了一个主分区

    Command (m for help):

     

    2、 修改分区的类型

    Command (m for help): l                                #查看分区的类型,GPT下同样的分区类型对应的编号不同了,这里要注意

     上面只是显示了部分按空格显示更多的信息

     

    Command (m for help):  t                                          #输入t更改分区类型,这里输入l也可以查看分区的类型
    Partition number (1,2, default 2):  2                      #输入要更改的分区
    Hex code (type L to list all codes):  31                  #输入分区类型的编号 

     

    Changed type of partition 'Linux filesystem' to 'Linux LVM'.               #更改分区类型成功

     

    Command (m for help): p                                      
    Disk /dev/sdb: 5 GiB, 5368709120 bytes, 10485760 sectors
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disklabel type: gpt
    Disk identifier: 836D334F-D0EE-4AD3-8581-EC9ABFF31F50

     

    Device    Start    End       Sectors   Size   Type
    /dev/sdb1      2048         2099199    2097152        1G          Linux filesystem
    /dev/sdb2    2099200    4196351     2097152      1G          Linux LVM                                #分区类型为已经更改

     

    Command (m for help):

     

    展开全文
  • 使用fdisk 分区

    2009-10-22 16:58:00
    二、使用fdisk 如果您想用fdisk来管理分区,一旦您选择了fdisk,您将看到题为“Partition Disks“的对话框。这里列出了您计算机的所有硬盘。移到您想要分区的硬盘,选择Edit,按 [Space],您将进入fdisk并可以对您...
    展开全文
  • Dos下的Fdisk分区,描述及说明。适用于windows 2000、NT 4.0及部分没有光驱的情况。
  • 文章目录磁盘结构介绍分区类型说明磁盘管理说明fdisk -l 参数详解MBR分区管理图形化分区命令行模式命令格式化硬盘为gpt和mbr说明【了解就行】fdisk命令行分区参数介绍创建分区【含扇区解释】主分区和扩展分区说明...

    磁盘结构介绍

    • 一个磁盘由盘片和磁道组成,磁道有无数个扇区,一个扇区512Byte
      注:硬盘最小单位才是扇区,并不是最小存储单位-block(4k)
      在这里插入图片描述

    分区类型说明

    • 分区的类型为3类:

      • 主分区:从硬盘上直接划分出来的,可以直接格式化使用的分区
      • 扩展分区:直接从硬盘上划分,但是不直接格式化使用,而是在上面创建多个小分区
      • 逻辑分区:逻辑分区就是扩展分区创建的小分区
    • 分区表,只记录 主分区+扩展分区,每记录一个分区消耗16B

    • 主分区扩展分区<=4 且扩展分区<=1

    • 如果想划分多个分区,至少你得留一定的空间作为扩展分区,在上面划分更多个逻辑分区

    • MBR和GPT

      • MBR–>兼容性好,但是不能用于>2T硬盘
      • GPT–>可以有128个主分区,兼容性差一些,但是可以用大大于2T的硬盘
      • 决定使用MBR结构还是GPT结构,这个选择叫做“初始化磁盘标签”
        fdisk–>mbr结构
        gdisg–>gpt结构
        parted–>兼而有之

    磁盘管理说明

    如果输入fdisk -l命令没有找到新的磁盘,按下面步骤操作
    1)进入到cd /sys/class/scsi_host/
    2)echo "---" > host0/scan #接口扫描新加磁盘即可,如果输入命令还是没有找到则将host0改为host1、host2都试试

    fdisk -l 参数详解

    我们执行fdsikl -l的时候,会看到一个硬盘的全部信息如下:

    [root@controll ccx]# fdisk -l
    Disk /dev/sda: 214.7 GB, 214748364800 bytes, 419430400 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x00068e46
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048     2099199     1048576   83  Linux
    /dev/sda2         2099200   419430399   208665600   8e  Linux LVM
    
    • 下面分开讲解前面4行内容:

      • 第一行:
        Disk /dev/sda【硬盘名称】: 214.7 GB【大小】, 214748364800 bytes【字节】, 419430400 sectors【扇区】
        其中一个扇区等于512个字节,我们硬盘的最小单位是扇区。上面的214其实是不准的,真实的硬盘大小为:214748364800/1024/1024/1024=200G【1G=1024M,1M=1024k,1K=1024bytes】
      • 第二行:
        Units = sectors of 1 * 512 = 512 bytes【柱面单元大小 (一个扇区作为一个柱面,一个扇区大小为512 bytes,即0.5KB】
      • 第三行:
        Sector size (logical/physical): 512 bytes / 512 bytes 【扇区大小 ,逻辑/物理都为 512 bytes】
      • 第四行:
        I/O size (minimum/optimal): 512 bytes / 512 bytes 【IO最小/最优 均为 512bytes 】
    • 注:下面boot中系统盘前面会有*,其他无内容
      最后一行 实际大小 是我自己新增的,用来展示换算单位

    设备boot起始柱面结束柱面分区大小分区类型对分区类型的解析实际大小
    /dev/sda1*20482099199104857683Linux1G
    /dev/sda220992004194303992086656008eLinux LVM198.999G

    分区大小转换计算方法

    方式一

    • 以上面的/dev/sda1和/sda2为例
    • 直接以分区大小计算,这个大小显示的是扇区数据【Kb】,所以公式为:分区大小【Blocks】/1024/1024
    • 如上的/dev/sda1为:1048576/1024/1024=1【反过来换算就是:G*1024*1024=扇区大小【最简单的方式就是估算,小数点向前移动6位即为Gb大小】
    • 如上的/dev/sda2为:208665600/1024/1024=198.999【反过来换算就是:G*1024*1024=扇区大小【最简单的方式就是估算,小数点向前移动6位即为Gb大小】

    方式二

    • 以上面的/dev/sda1和/sda2为例
    • 这个是以存储单位【bytes】计算,上面说过,一个扇区为512Bytes,所以公式为:结束扇区【end】-起始扇区【start】/1024/1024/1024*512【这种方式实用于新硬盘分区时硬盘容量大小(Gb)精确计算】
    • 如上的/dev/sda1为:2099199-2048/1024/1024/1024*512=0.99999【反过来换算就是:G*1024*1024*1024/512=Bytes大小【GxMxKxBytes÷扇区】
    • 如上的/dev/sda2为:419430399-2099200/1024/1024/1024*512=198.999【反过来换算就是:G*1024*1024*1024/512=Bytes大小【GxMxKxBytes÷扇区】

    MBR分区管理

    有2种分区方法,图形化和命令行(不建议用图形化分区)

    图形化分区

    点击菜单栏-工具-磁盘-点击新添加磁盘-设置中格式化
    在这里插入图片描述
    分区中-选择格式化为MBR格式还是GPT格式-选好后点击格式化即可;
    在这里插入图片描述

    命令行模式

    命令格式化硬盘为gpt和mbr说明【了解就行】

    • 格式化为gpt格式:parted 硬盘设备名(lsblk查看) mklabel格式(gpt) , 会提示格式化后数据会丢失 输入yes即可:
      在这里插入图片描述

    • 如果不要提示 加上参数-s 即可:
      在这里插入图片描述

    • 取消之前格式化的格式: parted -s 硬盘设备名 mklabel loop:
      在这里插入图片描述

    • 如果要格式化大于2T的文件,参考文档:
      linux大于2T磁盘分区方法(parted分区方法说明)

    • 格式化为mbr格式:parted 硬盘设备名(lsblk查看) mklabel msdos , 会提示格式化后数据会丢失 输入yes即可:
      在这里插入图片描述

    fdisk命令行分区

    • fdisk -l:查看所有磁盘信息
    • fdisk -l 硬盘设备名 :查看单独的磁盘信息 如:fdisk -l /dev/sdb2
    • mbr结构(DOS)创建分区fdisk 分区磁盘设备名, 输入m 获取帮助
      在这里插入图片描述

    参数介绍

    • fdisk 分区磁盘设备名, 输入m回车 即可看到下列字母的详细介绍

      • d:删除一个分区
      • l(L):列出磁盘类型
      • m:显示当前菜单
      • n:新划一个分区
      • p:打印分区表
      • q:不保存退出
      • w:保存提出
      • t:转换类型
    • 如果没有新分区直接p打印分区表是空白的:
      在这里插入图片描述

    创建分区【含扇区解释】

    • fdisk 分区磁盘设备名,如:fdisk /dev/sdb2
    • 开始新化分区 n
      • 选择主分区或逻辑分区,前3个一般选主分区,所以输入:p
      • 起始扇区默认回车即可【默认2048,也可以手动输入2048指定的】
      • 第二次就是容量扇区,直接输入+#G即可
        注:分区大小本身是以扇区来计算的,一个扇区0.5k,所以如果需要划分2G,就要慢慢推算扇区大小:2048(2g大小)+2(2g数量)*1024(M)*1024(k)*2(扇区)-1(起始位)【这仅仅是第一个分区的计算方式】,很麻烦,所以直接 +#G 即可
        在这里插入图片描述

    我们划分区的时候,一般是默认起始扇区的(直接回车就是默认),所以建立多个之间并不会有空隙,如,第一块建了2G,第一块的结尾+1就是第二块的开始,但如果我们手动指定扇区了,就是并不是以第一块结尾+1为起始扇区,这里留了8个扇区(0.5*8=4k),这时候再建第三快分区的时候,如果是默认起始扇区,就是以第一次留下的扇区为起始扇区,在划分2个G,就会提示超出范围,因为这时候的扇区是第一块分区结束和第二块分区起始之间的空间,起始和结尾都直接回车(默认,如果结尾直接回车就是全部空间都给该分区),就会发现 实际只能分4K大小,所以,我们划分区手动指定扇区的时候,一定要注意起始扇区: (图中第一块扇区结尾有误:是4196351)
    所以这时候就需要用p查看第二块的结尾扇区,然后+1 就是新的起始扇区。
    在这里插入图片描述

    主分区和扩展分区说明

    • 假如我们有一个20G的硬盘,我们4块都划分为2G的主分区,那么剩下的12G就没法使用了:
      在这里插入图片描述
      在这里插入图片描述
    • 所以我们需要把最后一块建成扩展分区 e (如果已经创建了4个主分区,d 删除第4个分区),并且全部空间都分给扩展分区(结束扇区直接回车即可),MBR总分区<=4,主分区<=4(就是可以全部分为主分区),扩展分区<=1:
      在这里插入图片描述
    • 从扩展分区中继续建的属于逻辑分区,逻辑分区是不询问输入p或e的,直接从5开始累加:
      在这里插入图片描述
      在这里插入图片描述

    分区类型转换

    • 分区根据用途还可以进行一些分类:有的是普通的linux分区→不管是逻辑分区还是主分区都可以直接格式化使用 , 但有的分区作为交换分区,有的分区用来配置lv(逻辑分区),有的分区用来配置raid,有的分区用来做扩展分分区
    • 输入t 转换类型,L查看所有类型,如:现在把几个linux类型改为lv卷:
      在这里插入图片描述
    • L查看并记录好需要转换的类型id号后再次输入t,即可进入类型转换模式了:
      • 输入分区号,就是要给哪个分区修改类型
      • 然后输入类型id即可修改完成【需要给多个分区修改则重复上面步骤】
        在这里插入图片描述
        在这里插入图片描述

    保存分区

    • 上面功能按需定义完以后输入 w回车即可保存成功
    • 然后输入 partprobe 分区设备名(刷新分区表):
      在这里插入图片描述

    partprobe 分区设备名(刷新分区表)

    • 也可以直接执行 partprobe即可。
    • 在这单独说明,是证明这个很重要,做完分区w保存退出以后必须执行这个命令,不然fdisk -l看不到最新的分区信息。
    • 全部完成以后输入lsblk是看不出主分区或扩展分区等类型的,需要输入 fdisk -l 设备名 ,才能看到刚才定义的类型:
      在这里插入图片描述
      在这里插入图片描述

    完整流程展示

    • 下面我创建了3个主分区和若干逻辑分区,为了更直观看出,我没有用空格,注意看后面解释内容。
    • 其实下面内容是我另外一个脚本中的部分摘抄罢了,更多的可以直接去看这篇博客哈:
      linux脚本用fdisk批量给主机硬盘分区
    [root@controll ccx]# fdisk /dev/sdb  # 分区/dev/sdb这块盘
    Welcome to fdisk (util-linux 2.23.2).
    
    Changes will remain in memory only, until you decide to write them.
    Be careful before using the write command.
    
    
    Command (m for help): n # 开始创建
    Partition type:
       p   primary (0 primary, 0 extended, 4 free)
       e   extended
    Select (default p): p #选择主分区
    Partition number (1-4, default 1): 1 # 第一个主分区
    First sector (2048-41943039, default 2048): 2048 #起始扇区
    Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 6289408 #默认扇区,我是换算的单位,这可以直接+3G的
    Partition 1 of type Linux and of size 3 GiB is set
    
    Command (m for help): n # 创建分区
    Partition type:
       p   primary (1 primary, 0 extended, 3 free)
       e   extended
    Select (default p): p #创建主分区
    Partition number (2-4, default 2): 2 #第二个主分区
    First sector (6289409-41943039, default 6291456): 6289409 #默认扇区,上一个结束扇区+1
    Last sector, +sectors or +size{K,M,G} (6289409-41943039, default 41943039): 14678017
    Partition 2 of type Linux and of size 4 GiB is set
    
    Command (m for help): n
    Partition type:
       p   primary (2 primary, 0 extended, 2 free)
       e   extended
    Select (default p): p
    Partition number (3,4, default 3): 3
    First sector (14678018-41943039, default 14680064): 14678018
    Last sector, +sectors or +size{K,M,G} (14678018-41943039, default 41943039): 25163778
    Partition 3 of type Linux and of size 5 GiB is set
    
    Command (m for help): n
    Partition type:
       p   primary (3 primary, 0 extended, 1 free)
       e   extended
    Select (default e): e
    Selected partition 4
    First sector (25163779-41943039, default 25165824): 25163779
    Last sector, +sectors or +size{K,M,G} (25163779-41943039, default 41943039): +
    Using default value 41943039
    Partition 4 of type Extended and of size 8 GiB is set
    
    Command (m for help): n
    All primary partitions are in use
    Adding logical partition 5
    First sector (25165827-41943039, default 25167872): 25165827
    Last sector, +sectors or +size{K,M,G} (25165827-41943039, default 41943039): 29360131
    Partition 5 of type Linux and of size 2 GiB is set
    
    Command (m for help): n
    All primary partitions are in use
    Adding logical partition 6
    First sector (29362180-41943039, default 29364224): 29362180
    Last sector, +sectors or +size{K,M,G} (29362180-41943039, default 41943039): 33554436
    Partition 6 of type Linux and of size 2 GiB is set
    
    Command (m for help): n
    All primary partitions are in use
    Adding logical partition 7
    First sector (33556485-41943039, default 33558528): 33556485
    Last sector, +sectors or +size{K,M,G} (33556485-41943039, default 41943039): +
    Using default value 41943039
    Partition 7 of type Linux and of size 4 GiB is set
    
    Command (m for help): p
    
    Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk label type: dos
    Disk identifier: 0x0ab2846a
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048     6289408     3143680+  83  Linux
    /dev/sdb2         6289409    14678017     4194304+  83  Linux
    /dev/sdb3        14678018    25163778     5242880+  83  Linux
    /dev/sdb4        25163779    41943039     8389630+   5  Extended
    /dev/sdb5        25165827    29360131     2097152+  83  Linux
    /dev/sdb6        29362180    33554436     2096128+  83  Linux
    /dev/sdb7        33556485    41943039     4193277+  83  Linux
    
    Command (m for help): w
    The partition table has been altered!
    
    Calling ioctl() to re-read partition table.
    Syncing disks.
    [root@controll ccx]# 
    

    分区完成以后 需要格式化后才能正常使用

    分完区以后的硬盘使用流程

    格式化硬盘(指定块大小等)

    • 输入mkfs. 然后tab就可以查看所有支持的类型:(也可以mkfs -t 类型,如mkfs -t xfs…,但建议使用mkfs.**)(-t是指定类型,但一般用mkfs.类型,不用-t指定)
      在这里插入图片描述
    • 定义成什么,直接mkfs.**即可,以xfs为例:mkfs.xfs -f /dev/sdb1 (-f 是强制转换,如果之前已经定义了一次,不输入-f就会报错):
      在这里插入图片描述
      • 不加-f再次定义报错:
        在这里插入图片描述
    • 可以自定义block(默认是4k)mkfs.xfs -f -b size=大小 设备名 ,即可:
      在这里插入图片描述
    • ext4定义block:mkfs.ext4 -b 大小 设备名 ,即可:
      在这里插入图片描述
      格式定义完以后磁盘分区就完成了。

    硬盘挂载(需格式化后)

    • 完成格式化要使用需要挂载呀? 挂载有2种:

      • 一种是临时挂载 mount 设备名 挂载文件(挂载文件可以mkdir新建到任何设备名中)
      • 第二种是永久挂载,把信息写进/etc/fstab中,永久挂载中有一栏需要知道 类型,类型查看有2种方法,第一种先临时挂载磁盘,然后df -Th即可, 第二种 直接blkid,后面有所有分区的类型:
        在这里插入图片描述
    • 如果/etc/fstab文件中类型错误会导致系统无法开机,如何识别是否正确写入,编辑完保存以后,mount -a如果磁盘能自动挂载便成功(如果使用的是网络设备挂载,建议用uuid的方式,因为网络设备有可能会发生磁盘的窜位,导致磁盘无法正常使用):
      在这里插入图片描述

    查看uuid的2种方式

    • 一种是blkid【查看所有分区的uid】
    • 另外一种是xfs_admin -u 设备名 【查看单独一个分区的uuid】

    修改uuid

    uuidgen 生成一个随机id,然后xfs_admin -U 新uuid 设备名即可:
    在这里插入图片描述
    分区已经创建好以后,查看文件系统的属性:xfs_info 挂载设备名

    展开全文
  • linux 使用fdisk分区扩容

    千次阅读 2016-03-17 09:36:35
    标签:fdisk分区 概述  我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,在这个时候我们就需要增加磁盘空间,本章主要介绍如何使用fdisk分区工具创建磁盘分区和挂载分区,介绍两种情况一...
    标签:fdisk分区
    

    概述  

    我们管理的服务器可能会随着业务量的不断增长造成磁盘空间不足的情况,在这个时候我们就需要增加磁盘空间,本章主要介绍如何使用fdisk分区工具创建磁盘分区和挂载分区,介绍两种情况一种是对原有的磁盘的剩余空间增加分区,第二种是对新添加的磁盘进行分区操作。

     

    扩展空间

    查看当前分区信息

    fdisk -l

     上图的红色标记显示当前sda总共有3916个柱面,而目前只使用了2611个柱面,现在就将剩下的柱面创建分区。

    创建分区

    使用:fdisk 磁盘文件
    
    fdisk /dev/sda

     1.输入m查看帮助。

     

    a :设置可引导标记
    b :修改bsd的磁盘标签
    c :设置DOS操作系统兼容标记
    d :删除一个分区
    l :显示已知的分区类型,其中82为Linux swap分区,83为Linux分区
    m :显示帮助信息
    n :增加一个新的分区
    o :创建一个新的空白的DOS分区表
    p :显示磁盘当前的分区表
    q :退出fdisk程序,不保存任何修改
    s :创建一个新的空白的Sun磁盘标签
    t :改变一个分区的系统号码(比如把Linux Swap分区改为Linux分区)
    u :改变显示记录单位
    v :对磁盘分区表进行验证
    w :保存修改结果并退出fdisk程序
    x :特殊功能

    2.输入n创建分区

    询问我们是要创建主分区还是扩展分区,主分区最多只能创建4个,如果创建了扩展分区那么扩展分区需要占用一个主分区。

    这里我们创建扩展分区,输入e

    需要我们输入起始柱面,默认是2611开始,这里可以输入2611也可以直接enter。

    最后输入3916,这样就创建好了扩展分区。

    3.创建逻辑分区

    输入p,查看分区创建情况

     可以发现sda4的文件系统类型是扩展分区,扩展分区是无法使用的,必须在扩展分区的基础上创建逻辑分区

    输入n创建逻辑分区,因为这里只剩下刚才创建的逻辑分区需要创建,所以不需要选择输入开始和结束柱面即可。

     再输入p显示所有分区,可以看到创建了sda5这个逻辑分区

    4.输入w保存

    当然刚才也可以直接创建主分区,不创建逻辑分区。

    5.格式化逻辑分区

    如果是使用虚拟机,需要重启才可以对分区进行格式化,否则会提示找不到分区文件。

    mkfs -t ext3 /dev/sda5

    6.挂载分区

    先创建分区挂载的文件夹

    mkdir /newpar

    将sda5挂载到/newpar文件下

    mount /dev/sda5 /newpar

    7.查看挂载情况

    df -h

     这个挂载只是临时的,重启服务器之后又需要重新挂载,通过修改/etc/fstab文件使挂载永久有效

    8.永久挂载

    在编写的时候可以使用tab键写下一项。

    概念

    通过前面的预热,现在来讲概念理解起来会容易一点。

    磁盘

    在linux系统中所有的设备都会以文件的形式存储。设备一般保存在/dev目录下面,以sda、sda1、sda2 ...,sdb、sdb1...,hda,hdb。现在的设备一般都是sd命名,以前的很老的硬盘是以ha命名。

    sda:第一块硬盘,如果对磁盘进行了分区会有sda1(第一个分区),sda2等。

    sdb:第二个硬盘,同样对硬盘分区后有sdb1,sdb2等。

    分区

    分区的目的就是便于管理,比如在windows系统我们一般会分C盘,D盘,E盘等。

    在讲主分区和扩展分区前先看张图片。

     这是我的当前windows系统的分区情况,从这里可以很好的理解主分区和扩展分区的概念,同时也有柱面的概念,当前主分区是C盘,扩展分区包括D盘、E盘、F盘。同时D盘、E盘、F盘也叫逻辑分区。

    其实我们也可以不创建扩展分区,在windows里面如果不创建扩展分区的话对程序的管理会不方便,只有一个分区。但是在linux中如果刚才在创建分区的是有留言会发现linux只能创建4个主分区,如果需要创建更多的分区那么久必须创建逻辑分区,其中逻辑分区需要占用一个主分区。

    文件系统

    linux中的文件系统也就是分区类型,在windows中有NTEF,FAT32等,linux中常见的有Ext2、Ext3、Ext4、Linux swap、proc、sysfs、tmpfs等,可以通过mount命名查看当前已挂载的文件系统。

    格式化

    在前面创建完分区后有一步是要对分区进行格式化,其实在windows系统中也是一样,在创建好一个分区后也需要将分区格式化,只有格式化成具体的文件类型才能使用。

    挂载

    在windows中分区格式化后就可以使用,但是在linux系统中必须将分区挂载到具体的路径下才可以。

     

    接下来演示增加一个新磁盘的完整过程。 

    新增硬盘

     在当前虚拟机中增加一块20G的硬盘

    1.使用fdisk -l查询当前系统分区情况

     可以看到新增加的sdb磁盘还没有分区

    2.创建主分区

    fdisk /dev/sdb
    
    输入n

    在输入结束柱面的这里如果你不知道该输入多大的数字,你可以输入+然后输入你要设的大小。这里我设置5G的主分区。

    输入p查看分区信息,可以看到刚创建的sdb1主分区,接下来创建逻辑分区。

    3.创建扩展分区

    图片上通过红色标注了操作步骤。可以看到当前已创建了sdb2扩展分区,柱面从655-2610,即将剩下的所有空间创建为扩展分区。

    4.创建逻辑分区

     总共创建了两个逻辑分区,逻辑分区默认从5开始,第一个逻辑分区大小2G,用来做交换分区用,剩下全部给sdb6.

    5.修改文件类型ID

    因为默认分区id都是83即linux文件类型,现在将sdb5的文件类型ID改成82即交换分区。

    6.保存退出

     

    7.格式化分区

    接下来要对sdb的每一个分区进行格式化,

    注意:扩展分区不需要进行格式

    输入mkfs.ext3 /dev/sdb1

    swap分区格式化要使用

    mkswap /dev/sdb5

    加载文件
    swapon /dev/sdb5
    
    查看是否生效
    swapon -s

    可以看到sda3,和sdb5这两个swap分区

     8.挂载分区

     这里直接使用修改文件的方式永久挂载

    创建挂载文件路径
    mkdir sdb1 sdb6

    9.立即生效

    partprobe 

    在我的虚拟机上面无法立即生效,重启机器。

    shutdown -r now

     

     重启之后会发现,sdb1,sdb6都已经生效了,而且swap也变成了6G(sda3+sdb5)

     

    补充

    格式化分区还可以使用带参数的mke2fs命令

    mke2fs [-c|-l filename] [-b block-size] [-f fragment-size]
        [-i bytes-per-inode] [-I inode-size] [-J journal-options]
        [-G meta group size] [-N number-of-inodes]
        [-m reserved-blocks-percentage] [-o creator-os]
        [-g blocks-per-group] [-L volume-label] [-M last-mounted-directory]
        [-O feature[,...]] [-r fs-revision] [-E extended-option[,...]]
        [-T fs-type] [-U UUID] [-jnqvFKSV] device [blocks-count]
    -b:指定区块大小,单位为字节。
    -c:检查是否有损坏的区块。
    -f:指定不连续区段的大小,单位为字节。
    -F:不管指定的设备为何,强制执行mke2fs。
    -i:指定"字节/inode"的比例。
    -N:指定要建立的inode数目。
    -l:从指定的文件中,读取文件西中损坏区块的信息。
    -L:设置文件系统的标签名称。
    -m:指定给管理员保留区块的比例,预设为5%-M:记录最后一次挂入的目录。
    -q:执行时不显示任何信息。
    -r:指定要建立的ext2文件系统版本。
    -R:设置磁盘阵列参数。
    -S:仅写入superblock与group descriptors,而不更改inode able inode bitmap以及block bitmap。
    -v:执行时显示详细信息。
    -V:显示版本信息。
    -T:指定文件系统类型

     dumpe2fs命令

    查看分区的详细信息
    dumpe2fs /dev/sdb1

    图中只截取了一部分信息,该命令可以查看指定分区的详细信息,很详细。

     

    总结

    为了尽可能详细的将分区概念写出来,写这篇文章花了半天的时间,希望能给更多的人提供帮助吧。

     

     

     

    备注:

        作者:pursuer.chen

        博客:http://www.cnblogs.com/chenmh

    本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接,否则保留追究责任的权利。

    《欢迎交流讨论》

     

    ---恢复内容结束---

    展开全文
  • 文件系统管理-fdisk分区-分区过程(图文教程)

    千次阅读 多人点赞 2020-07-03 12:52:01
    这个跟Windows当中的手工分区命令,名字是完全一样的,但是用法是完全不一样的。 1.添加新硬盘 2.查看新的硬盘 命令:fdisk 开始查看: 注释:sdb这个硬盘话没有任何分区存在 3. 使用fdisk命令分区 命令:...
  • fdisk分区与挂载

    千次阅读 2009-06-18 22:22:00
    1 分区 2 格式化 3 挂载 --------------------------------------- 我们先来看下分区指令 fdisk 比如我这里,我的硬盘是挂载在/dev/hda上 1 分区 装系统时可以看到 2 fdisk -l 那么可以 fdisk /dev/hda (注意了,我...
  • 分区创建及挂载示例 1、创建一个10G的分区,并格式化为ext4文件系统。要求: ... 使用fdisk创建10G的分区。 [root@centos ~]# fdisk /dev/sdb Command (m for help): n Partition type: ...
  • fdisk 分区,格式化,挂载。 https://blog.csdn.net/yangzhengquan19/article/details/83788277?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_...
  • 适用于初学着,对于WINDOWS安装时可能会遇到的》Fdisk虚拟分区,教如何分区
  • fdisk 磁盘分区

    2016-06-23 17:01:20
    fdisk -l 查看硬盘及分区信息 通过《合理规划您的硬盘分区》 ,我们知道主分区(包括扩展分区)的总个数不能超过四个;也不能把扩展分区包围在主分区之间;根据这个原则,我们划分硬盘分区就比较容易的多;也能为...
  • fdisk挂载分区

    2019-03-06 21:56:08
    fdisk挂载(mount)分区 @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ =Linux 下的磁盘管理===== === linux启动后,fdisk 工具的使用 =================== fdisk -l 查看系统的磁盘信息(容量,分区类型,柱面) df...
  • 磁盘,fdisk分区,MBR,dd命令

    千次阅读 2017-10-09 09:46:44
    ②# fdisk /dev/sdb(磁盘名) -》分区(交互性的动态分区) ③# mkfs.ext4 /dev/sdb1 –》格式化sdb1(Make FileSystem ext4文件系统) # mkfs.ext4 /dev/sdb2 -》格式化sdb2 ④# mount /dev/sdb1 /music/ –...
  • fdisk 分区步骤
  • 双系统Linux终端访问windows硬盘分区硬盘挂载fdisk命令查看分区mount命令挂载终端访问 安装windows和linux双系统后,由于linux和windos有着不同的文件系统,在windows中无法看到linux分区文件,但是linux默认支持win...
  • 在所有的DOS或Windows启动盘中都有fdisk.exe命令,下面介绍DOS下使用fdisk命令对硬盘进行分区。 安装好新买的硬盘或清空了分区表的硬盘后,用98启动盘启动系统进入DOS后,出现如下图1所示。 图1 上图可见,...
  • 目录 一、检查分区 二、编辑fstab文件 三、查看效果 一、检查分区 1.终端输入 ...3.我们再确认一下分区是否正确,因为Windows系统的分区一般是ntfs形式,我们可以在终端输入如下指令查看类型: ...
  • 1、fdisk分区知识及fdisk深度介绍: fdisk分区工具的介绍: fdisk的问题: fdisk分区的实质: 查看磁盘分区信息: fdisk分区的实现 2、简述parted分区 3、交换分区swap的创建 (1)添加一个交换分区 (2)...
  • 磁盘分区工具fdisk

    2017-03-09 20:39:58
    磁盘分区工具fdisk --- fdisk是一个基于MBR(主引导分区)的分区工具,所以如果需要使用GPT,则无法使用fdisk进行分区。  是IBM设计给PC使用的。   一般情况下,把操作系统所在的分区设置为主分区,其他的都为扩展...
  • Linux的挂载,每个设备都有一个设备名就如同window里面的设备也有个设备名如cdef盘,一样,只不过windows是自动分配的, Linux是需要手动吧设备名跟目录结合到一起的。 Linux里面的盘符就是目录。所有盘符跟设备名的...
  • Unbuntu fdisk -l 无法显示windows分区,只显示了Linux下的分区情况,看不到Windodws分区,导致无法挂载windows硬盘
  • fdisk格式化分区磁盘

    千次阅读 2018-04-14 00:14:17
    格式化分区磁盘fdisk 格式化分区时标准分区只有4个,如需更多个,可以将磁盘格式变成gpt的格式[root@master ~]# parted /dev/vdb mklabel gptInformation: You may need to update /etc/fstab....
  • 想必大家都应该会windows下创建新分区吧(如果不熟悉的话,下面的就不用浪费时间看了) 简单回顾分区的关键步骤 1、指定分区大小 2、分区格式化 3、指定访问入口 为啥分区要经过这几个步骤呢?我们可以用制作练习本...
  • Windows系统分区表修复工具DiskGeniusWindows系统分区表修复工具DiskGeniusWindows系统分区表修复工具DiskGenius
  • Linux和Windows硬盘分区设置

    千次阅读 2018-05-02 09:45:10
    Linux和Windows硬盘分区设置 现在的Linux都带了图形界面的...
  • linux fdisk 命令详解 (磁盘分区

    千次阅读 2019-06-22 23:17:43
    一、什么是分区,linux分区,大概可以比喻类似为windows下的C,D,E,F盘,windows下的分区对应的是每一个分区磁盘号,如(C盘),在linux下的磁盘就不会想windows分区那样简单,在Linux中对应的某个磁盘会对接为一个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,586
精华内容 9,834
关键字:

windowsfdisk分区