parted对大容量磁盘进行分区

Linux系统中MBR与GPT的区别

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

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

  MBR 致使的问题

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

  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在可靠性和性能最大化上都很是容易。性能

  在作出选择前,须要考虑以下内容:ui

  若是使用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格式的分区。spa

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

使用方法

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

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

相关文章
相关标签/搜索