分区表,磁盘概念和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

分区表,磁盘概念和parted的使用的更多相关文章

  1. 磁盘管理 之 parted命令添加swap,文件系统

    第1章 磁盘管理 1.1 必须要了解的. 1.1.1 ps aux 命令中 RSS 与VSZ的含义 rss 进程占用的物理内存的大小 单位:kb : vsz 进程占用的虚拟的内存大小(物理内存+swa ...

  2. Linux磁盘概念及其管理工具fdisk

    Linux磁盘概念及其管理工具fdisk [日期:2016-08-27] 来源:Linux社区  作者:chawan [字体:大 中 小]   引言:冯诺依曼体系中的数据存储器就是我们常说的磁盘或硬盘 ...

  3. linux 大容量磁盘分区工具parted

    1. Msdos和Gpt的区别 fdisk  :只能分msdos分区parted :可以分msdos和gpt分区 2. MSDOS特点最大支持2TB卷大小.每个磁盘最多只能有4个主分区(或3个主分区, ...

  4. Linux学习笔记(5)磁盘分区(parted)

    Linux学习笔记(5)磁盘分区(parted) .演示: ()parted /dev/sdb :进入parted 分区命令(可以使用help来查看命令详细描述)(2)p :列出当前磁盘分区信息,可以 ...

  5. [转]linux系统磁盘分区之parted

    转自:http://blog.csdn.net/h249059945/article/details/12668793 对于linux的分区通常可以使用fdisk命令工具和parted工具对于分区表通 ...

  6. linux系统磁盘分区之parted

    对于linux的分区通常可以使用fdisk命令工具和parted工具 对于分区表通常有MBR分区表和GPT分区表 对于磁盘大小小于2T的磁盘,我们可以使用fdisk和parted命令工具进行分区 对于 ...

  7. parted对大容量磁盘进行分区

    Linux系统中MBR与GPT的区别 主引导记录(Master Boot Record , MBR)是指一个存储设备的开头 512 字节.它包含操作系统的引导器和存储设备的分区表. 全局唯一标识分区表 ...

  8. Parted:2T以上磁盘分区工具(LINUX挂载2T以上磁盘)

    支持大于2T的磁盘,2T以下的最好还是用Fdisk来分区. [root@centos57 aixi]# parted /dev/hda print Model: VMware Virtual IDE ...

  9. 使用 parted 命令可以查看系统采用什么类型的分区表 gpt/mbr/msdos/ext/ext/ext2/ext3/ext4

      Linux磁盘表示方式 Linux以字母标识磁盘的个数 a:第一块 b:第二块 Linux用数字标识分区:1-4标识主分区或扩展分区 逻辑分区从5开始 例如:sda.sda1.sda2 低级格式化 ...

随机推荐

  1. Space for commit to queue couldn't be acquired

    18/07/27 16:53:53 ERROR source.ExecSource: Failed while running command: tail -F /home/MyBgJavaLan/p ...

  2. kafka 和 zookeeper 常用命令记录

    启动zookeeper zkServer.sh start 启动kafka服务器 kafka-server-start.sh /software/kafka_2.10-0.10.2.1/config/ ...

  3. (28)java web的hibernate使用

    Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,它将POJO与数据库表建立映射关系,是一个全自动的orm框架,hibernate可以自动生成SQL语句,自 ...

  4. linux shell 突破

    targetDate=$(cat maxdayid); targartMonth=${targetDate::}; targartYear=${targetDate::}; echo $targart ...

  5. iOS 中代码获取当前版本号

    [1]概念 iOS的版本号,一个叫做Version,一个叫做Build,这两个值都可以在Xcode 中选中target,点击“Summary”后看到. Version在plist文件中的key是“CF ...

  6. redis11----监控工具 sentinel

    当master宕机了要把slave1变为master,并把slave2指向slave1. 可以运行时更改master-slave,config set/get,修改一台slave(设为A)为new m ...

  7. git apply、git am打补丁.diff 和 .patch【转】

    本文转载自:https://www.jianshu.com/p/e5d801b936b6 前提: 生成patch: git format-patch -M master 生成指定patch,0163b ...

  8. Scanner、String(java基础知识十二)

    1.Scanner的概述和方法介绍 * A:Scanner的概述 * 是一个从键盘输入的类,有final修饰,不能被子类继承 * Scanner sc = new Scanner(System.in) ...

  9. codeforces B. Balls Game 解题报告

    题目链接:http://codeforces.com/problemset/problem/430/B 题目意思:给出用不多于k种颜色对n个球的染色情况,以及手中的唯一一个球的颜色.初始时,连续的相同 ...

  10. jetty源码剖析

    最近使用jetty自己写了一个web server,现在闲了花了一天的时间看了一jetty的源代码,主要以server的启动为主线,进行了剖析,经过阅读对jetty的源码大赞,写的简洁.清晰,架构也不 ...