分区表,磁盘概念和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" "\n"' /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

最新文章

  1. HTML5窗口间同域和跨域的通信
  2. 图像相似度算法的C#实现及测评
  3. 【转】如何修改Chrome缓存目录的地址
  4. python_ftplib实现通过FTP下载文件
  5. IntelliJ IDEA 15 显示工具栏及底部周边工具栏
  6. kafka.common.FailedToSendMessageException: Failed to send messages after 3 tries.
  7. 表达式:使用API创建表达式树(5)
  8. C#必须掌握的系统类
  9. RSA加密解密和读取公钥、私钥
  10. 第四题 (List)写一个函数reverseList,该函数能够接受一个List,然后把该List 倒序排列。 例如:  List list = new ArrayList();  list.add(“Hello”);  list.add(“World”);  list.add(“Learn”); //此时list 为Hello World Learn  r
  11. 讲一下Asp.net core MVC2.1 里面的 ApiControllerAttribute
  12. CentOS 7下使用Gitolite搭建Git私服
  13. SQL 数据开发(经典)转贴
  14. 洗礼灵魂,修炼python(44)--巩固篇—反射之重新认识hasattr,gettattr,setattr,delattr
  15. 10.scrapy入门
  16. Java入门系列(九)Java API
  17. jar包冲突常用的解决方法
  18. 客户端使用less方法
  19. coursera课程Text Retrieval and Search Engines之Week 1 Overview
  20. 【LibreOJ】#6259. 「CodePlus 2017 12 月赛」白金元首与独舞

热门文章

  1. 浅谈 React、Flux 与 Redux
  2. oracle中的exists和not exists和in用法详解
  3. 成本函数计算方法J
  4. 利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G)
  5. bzoj3957: [WF2011]To Add or to Multiply
  6. 通过powershell操作eventlog
  7. vue开发购物车,解决全选单选问题
  8. html5--6-4 CSS选择器
  9. HDU - 1874 畅通工程续(最短路径)
  10. CodeForces161D: Distance in Tree(树分治)