龙空技术网

linux分区命令-fdisk与parted

linux运维菜 85

前言:

眼前兄弟们对“为什么分区1000显示成999”大体比较着重,我们都需要了解一些“为什么分区1000显示成999”的相关内容。那么小编在网络上收集了一些关于“为什么分区1000显示成999””的相关文章,希望朋友们能喜欢,大家一起来了解一下吧!

磁盘分区形式

msdos分区

Linux系统为了兼容Windows的磁盘,使用支持windows的MBR的方式来处理开机管理程序与分区表,这些记录在第一个扇区,这个扇区通常为512bytes大小,所以第一个扇区会有两个数据:主要启动记录区(MBR):可以按照开机管理程序的地方,有446bytes;分区表(partition table):记录整个硬盘分区的状态,有64bytes。由于分区表所在区块仅有64bytes容量,因此最多仅能有四组记录区,每组记录区记录了该区段的起始与结束的磁柱号码。

由于第一个扇区的大小只支持四个主分区,为了容纳更多的分区,就有了扩展分区,可以将四个主分区扩展成多个扩展分区,然后就可以分区更多的分区。

GPT分区

为了兼容与所有的磁盘,在扇区的定义上面,大多会使用所谓的逻辑区块地址(LBA)来处理,GPT将磁盘所有区块以LBA来规划,而第一个LBA称为LBA0,与MBR仅使有一个区块不同,GPT除了前面的34个LBA之外,整个磁盘的最后33个LBA也拿来作为另一个备份。

LBA0(MBR相容区块)与MBR模式相似;

LBA1(GPT表头记录) 记录分区本身位置与大小,同时记录了备份用的GPT分区放置位置以及分区表的检验机制码(CRC32);

LBA2-33(实际记录分区信息);

从LBA2区块开时,每个LBA都可以记录4笔分区记录,所以默认情况下可以有4×32=128笔分区记录,因为每个LBA有512bytes,因此每个记录用到128bytes的空间,除了每个记录所需要的标识符和相关记录外,GPT在每个记录中分别提供64bits来记录开始/结束的扇区号码,因此,GPT分区表对于单一分区来说,他的最大容量限制就是8ZB。

分区工具:fdisk与parted

fdisk只支持msdos分区,如果磁盘容量大于2T,需要分区,fdisk就不支持了;如果是直接使用整块磁盘比如(/dev/sda)不需要分区的话是支持大于2T的。

parted支持msdos和gpt,可以支持大硬盘,也支持小硬盘。不区分主分区,扩展分区,逻辑分区,也没有4个分区数量的限制。

注:使用dd命令创建可以file文件进行模拟分区操作

dd if=/dev/zero of=file bs=5M count=500

fdisk:

fdisk file欢迎使用 fdisk (util-linux 2.33.2)。更改将停留在内存中,直到您决定将更改写入磁盘。使用写入命令前请三思。命令(输入 m 获取帮助):pDisk file:2.5 GiB,2621440000 字节,5120000 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x92459b64命令(输入 m 获取帮助):n分区类型 p 主分区 (0个主分区,0个扩展分区,4空闲) e 扩展分区 (逻辑分区容器)选择 (默认 p):p分区号 (1-4, 默认 1): 第一个扇区 (2048-5119999, 默认 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-5119999, 默认 5119999): 创建了一个新分区 1,类型为“Linux”,大小为 2.5 GiB。命令(输入 m 获取帮助):printDisk file:2.5 GiB,2621440000 字节,5120000 个扇区单元:扇区 / 1 * 512 = 512 字节扇区大小(逻辑/物理):512 字节 / 512 字节I/O 大小(最小/最佳):512 字节 / 512 字节磁盘标签类型:dos磁盘标识符:0x92459b64设备 启动 起点 末尾 扇区 大小 Id 类型file1 2048 5119999 5117952 2.5G 83 Linux命令(输入 m 获取帮助):w分区表已调整。正在同步磁盘。

parted:

parted file WARNING: You are not superuser. Watch out for permissions.GNU Parted 3.2使用 /tmp/fileWelcome to GNU Parted! Type 'help' to view a list of commands.(parted) print错误: /tmp/file: unrecognised disk labelModel: (file) Disk /tmp/file: 2621MBSector size (logical/physical): 512B/512BPartition Table: unknownDisk Flags: (parted) mklabel msdos #修改分区类型(parted) print Model: (file)Disk /tmp/file: 2621MBSector size (logical/physical): 512B/512BPartition Table: msdosDisk Flags: Number Start End Size Type File system 标志(parted) mkpart #创建分区分区类型? primary/主分区/extended/扩展分区? primary #指定为主分区 文件系统类型? [ext2]? ext4 #指定文件系统起始点? 1 结束点? 1G (parted) print Model: (file)Disk /tmp/file: 2621MBSector size (logical/physical): 512B/512BPartition Table: msdosDisk Flags: Number Start End Size Type File system 标志 1 1049kB 1000MB 999MB primary ext4 lba

注:如果需要格式化成gpt分区,只要执行maklabe gpt ,注意数据会没掉哦。

总结

目前磁盘容量都是比较大,因此一般都是使用parted命令进行分区。

标签: #为什么分区1000显示成999