parted对大容量磁盘进行分区

Linux系统中MBR与GPT的区别

主引导记录(Master Boot Record , MBR)是指一个存储设备的开头 512 字节。它包含操作系统的引导器和存储设备的分区表。

  全局唯一标识分区表(GUID Partition Table,缩写:GPT)是一个实体硬盘的分区表的结构布局的标准。它是统一可扩展固件接口标准的一部分,它使用全局唯一标识来标识设备。它是新一代分区表格式,用以替代 MBR 分区表。它用来解决 MBR 分区表的缺点,同时带来了一些优点。

  MBR 导致的问题

  只能有四个主分区或者三个主分区加一个扩展分区 (以及在扩展分区中的任意数量的逻辑分区). 如果你有三个主分区加一个扩展分区以及除此之外的空闲空间,在空闲空间之上你无法创立分区。
  在扩展分区里,逻辑分区的元数据被存储在一个链表结构中。如果一个环节丢失,该元数据之后的逻辑分区全部丢失。
  MBR 只支持1个字节的分区类型编码,导致许多冲突。
  MBR 使用32位的 LBA 值来存储分区扇区信息。LBA 的大小以及512B的扇区大小共同限制了硬盘可寻址大小最大为2TB. 如果使用 MBR, 2TB以外的空间无法使用。

  GPT 的优点

  使用 GUID (UUID) 来表明分区类型 - 无冲突。
  为每个分区提供了一个唯一硬盘 GUID 和一个唯一分区 GUID - 一个好的不依赖文件系统的引用分区和硬盘的方式。
  任意分区数 - 取决于给分区表分配的空间 - 不需要扩展和逻辑分区。GPT ,默认包含了定义128个分区的空间。当用户想要更多分区时,他可以给分区表分配更多空间 (目前只有 gdisk 支持这一特性)。
  使用64位 LBA 存储扇区数 - 最大硬盘可寻址大小为 2 ZB.
  存储了备份头和分区表可于主要部分损坏时进行急救。
  CRC32 校验值用于检测头和分区表的错误与损坏。

  GUID Partition Table (GPT)是一种更灵活的分区方式。它正在逐步取代Master Boot Record (MBR)系统。GPT相对于诞生于MS-DOS时代的MBR而言,有许多优点。新版的fdisk(MBR)和gdisk(GPT)使得使用GPT或者MBR在可靠性和性能最大化上都非常容易。

  在做出选择前,需要考虑如下内容:

  如果使用GRUB legacy作为bootloader,必须使用MBR。
  如果使用传统的BIOS,并且双启动中包含 Windows (无论是32位版还是64位版),必须使用MBR。
  如果使用 UEFI 而不是BIOS,并且双启动中包含 Windows 64位版,必须使用GPT。
  非常老的机器需要使用 MBR,因为 BIOS 可能不支持 GPT.
  如果不属于上述任何一种情况,可以随意选择使用 GPT 还是 MBR。由于 GPT 更先进,建议选择 GPT。
  建议在使用 UEFI 的情况下选择 GPT,因为有些 UEFI firmware 不支持从 MBR 启动

parted工具介绍

    parted命令可以划分单个分区大于2T的GPT格式的分区,也可以划分普通的MBR分区,fdisk命令对于大于2T的分区无法划分(大于2.2TB的存储空间用fdisk不支持,需要采用parted来分区),所以用fdisk无法看到parted划分的GPT格式的分区。

    parted是一个可以分区并进行分区调整的工具,他可以创建,破坏,移动,复制,调整ext2 Linux-swap fat fat32 reiserfs类型的分区,可以创建,调整,移动Macintosh的HFS分区,检测jfs,ntfs,ufs,xfs分区。

使用方法

使用方法:parted [options] [device [command [options...]...]]

options

-h 显示帮助信息

-l 显示所有块设备上的分区

device

对哪个块设备进行操作,如果没有指定则使用第一个块设备

command [options...]
check partition

对分区做一个简单的检测

cp [source-device] source dest

复制source-device设备上的source分区到当前设备的dest分区

mklabel label-type

创建新分区表类型,label-type可以是:"bsd", "dvh", "gpt", "loop","mac", "msdos", "pc98", or "sun" 一般的pc机都是msdos格式,如果分区大于2T则需要选用gpt格式的分区表。

mkfs partition fs-type

在partition分区上创建一个fs-type文件系统,fs-type可以是:"fat16", "fat32", "ext2", "linux-swap","reiserfs" 注意不支持ext3格式的文件系统,只能先分区然后用专有命令进行格式化。

mkpart part-type [fs-type] start end

创建一个part-type类型的分区,part-type可以是:"primary", "logical", or "extended" 如果指定fs-type则在创建分区的同时进行格式化。start和end指的是分区的起始位置,单位默认是M。

eg:mkpart primary 0 -1 0表示分区的开始 -1表示分区的结尾 意思是划分整个硬盘空间为主分区

mkpartfs part-type fs-type start end

创建一个fs-type类型的part-type分区,不推荐使用,最好是使用mkpart分区完成后使用mke2fs进行格式化。

name partition name

给分区设置一个名字,这种设置只能用在Mac, PC98, and GPT类型的分区表,设置时名字用引号括起来

select device

在机器上有多个硬盘时,选择操作那个硬盘

resize partition start end

调整分区大小

rm partition

删除一个分区

rescue start end

拯救一个位于stat和end之间的分区

unit unit

在前面分区时,默认分区时数值的单位是M,这个参数卡伊改变默认单位,"kB", "MB", "GB", "TB"

move partition start end

移动partition分区

print

分区表信息 quit 退出parted

实例

parted /dev/sdb

可以输入p打印磁盘信息,查看分区的情况,找到起始和结束位置。

mklabel gpt

设置分区类型为gpt

mkpart primary 0% 100%

primary指分区类型为主分区,0是分区开始位置,100%是分区结束位置。相同的命令为:mkpart primary 0-1 或者是:mkpart primary 0 XXXXXX结束的空间

print

打印当前分区,查看分区设置是否正确

quit

完成后用quit命令退出。

mkfs.ext4 /dev/sdb1

格式化磁盘。如果支持EXT4可选择格式化为EXT4,格式化成ext3的时候又出现问题。Ext3默认的block size的大小为4k,最大只能支持8T的空间。格式化时指定block size的大小为8K这样最大可以支持16T的空间。相应命令:mkfs.ext3 -b 8192 /dev/sdb2

挂载硬盘,加入rc.local文件,开机自动mount

猜你喜欢

转载自www.cnblogs.com/LuckWJL/p/11004545.html