分区表,磁盘概念和parted的使用

分区表,磁盘概念和parted的使用

登录陌生系统首先要做的事:

个人认为,首先得知道Linux版本的什么:cat /etc/issue

  • df:查看磁盘的分区和数据的分配情况,类型(NFS,ext4..),可用内存
    有时候,当有的应用程序无法正确执行的时候,可能是磁盘空间利用率达到100了,比如/根分区

  • ps: 查看当前有无程序挂了,或者其他异常的程序在运行

  • free: 查看内存的情况

磁盘的3D参数

  • 磁盘两种不同的类型:

    • CHS:比较老基本不用,c:cylinder柱面数,h:head磁头,s:sector扇区
      fdisk -l 看到的就是按照柱面的形式来分的

          [root@server3 ~]# fdisk -l
          
          Disk /dev/sda: 6442 MB, 6442450944 bytes
          255 heads, 63 sectors/track, 783 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: 0x0005013e
          
          Device Boot      Start         End      Blocks   Id  System
          /dev/sda1   *           1          39      307200   83  Linux
      
      
    • LBA:硬盘所有的扇区均从0开始编号,通过扇区数来指定扇区位置
      扇区号与物理扇区位置之间的对应,是由内置的磁盘控制器来计算,通常扇区号越小,其对应的物理扇区就越位于磁盘的外侧
      fdisk -lu 查看

      [root@server3 ~]# fdisk -lu
      
      Disk /dev/sda: 6442 MB, 6442450944 bytes
      255 heads, 63 sectors/track, 783 cylinders, total 12582912 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 identifier: 0x0005013e
      
         Device Boot      Start         End      Blocks   Id  System
      /dev/sda1   *        2048      616447      307200   83  Linux
      
      
    • Partition 1 does not end on cylinder boundary.
      由于fdisk默认是以柱面的形式来表示磁盘分区的情况,但是现在一般都是LBA的方式,所以找不到结束柱面。

分区表

存储分区的起始和结束的位置

  • 传统分区表
    一个扇区512的字节
    分区表存放在第0号扇区MBR的446~509(64)字节的部分
    MBR的0~445字节中,存放引导加载程序,当服务器启动时用来引导BIOS的加电自检以及GRUB的加载
    剩余的510~511一般为0xAA55,如果不是,说明此时MBR已经被破坏

      hexdump -s 446 -n66 -e '8/1 "%02x" 2/4 "%10d" "
    "' /dev/sda
      #查看当前的分区表情况
    

    缺点 :只能支持到2TB,因为表示开始位置的扇区号和全体扇区的扇区数字总共是4字节的,表示的范围0x00000000~0xFFFFFFFF.

  • GPT
    GPT写在第1扇区到第33扇区,而且还有一份副本
    如果使用GPT的硬盘启动操作系统,需要UEFI的支持,
    可支持128个分区
    UEFI扩展了以前BIOS的功能,以前的BIOS的可用内存只有1M,所以功能简单,但是UEFI可以通过图形界面来操作设定硬件
    另外,调用引导加载程序的方法也发生了改变,以前都需要想GRUB这样分阶段启动引导加载程序,而改进后,在以GPT方式创建的"EFI分区"中,引导加载程序存储就可以直接被调用了
    对于这种大的磁盘的分区操作,必须使用parted进行

parted

  • parted可以划分单个分区大于2T的GPT格式的分区,也可以划分普通的MBR分区

  • 两种模式操作:命令parted [option] device [command]、交互式

  • 创建分区 parted /dev/sda mkpart primary [fs-type] 10.0G 20.0G

  • 打印 parted /dev/sdb print

  • 选择 select (交互常用)

  • 删除 rm NUMBER

  • 修改使用GPT来分区,mklabel gpt。修改会普通MBR,mklabel msdos

  • 一般使用mkfs.fs_type进行格式化,确定分区名称使用fdisk -l,blkid查看设备UUID

原文地址:https://www.cnblogs.com/wxl-dede/p/5106623.html