Разделение жёсткого диска с GPT gdisk - обзор

GPT-(Globally Unique Identifier [GUID] Partition Table)- gdisk представляет собой приложение для того, чтобы разделить диски любого размера. Оно является абсолютно необходим для дисков размером больше 2 Тб. По умолчанию, применеие gdisk обеспечивает, что Ваши разделы четко привязаны для SSD (или жестких дисков, которые на самом деле не имеют 512 секторов байт).

Решающее преимущество применения GPT состоит в том, что GPT избавляет Вас от ограничения MBR, с которого зависит количество первичных и расширенных разделов. GPT может поддерживать практически неограниченное количество разделов. GPT ограничен только памятью носителя данных GPT. Обратите внимание, что приложение gdisk установлено для 128 разделов по умолчанию.

Однако, используя GPT на маленьких USB/SSD-дисках (например, на SSD-диске с 8 Гб), может иметь и обратный эффект, если Вам нужно передать данные с одного компьютера на другой, или, с одной ОС на другую ОС.

Важные примечания

Терними UEFI и EFI являются взаимозаменяемыми и означают то же самое понятие.

GPT-диски данныех

Некоторые операционные системы не поддерживают GPT-диски. Пожалуйста, пожалуйста обратитесь к соответствующей документации по операционной системе.

GPT-носители данных могут применяться под Linux на 32-битовых и 64 битовых компьютерах.

Загрузка GPT-дисков

Двойные и тройные загрузки GPT-дисков с Linux, BSD и Apple поддерживаются с помощью EFI в 64-битовым режиме.

Двойная загрузка GPT-дисков с Linux и с MS Windows является возможной при условии, что Ваша операционная система MS Windows может загружать GPT-диски в UEFI -режиме с 64-бит.

Графические программы для разделения жёсткого диска с GPT

Наряду с программой командных строк gdisk графические приложения как 'gparted' и 'менеджеры раздела' поддерживают носитель данных GPT. Все же мы рекомендуем gdisk, чтобы предотвращать нежелательные аномалии. Не смотря того, gparted и partitionmanager - это, тем не менее, великолепные вспомогательные средства, чтобы дать Вам визуальной информации, как Вы действуете в gdisk.

Прочитайте обязательно перед применением gdisk:

Разделение жёсткого Диска с помощью gdisk для системы Linux

Понятие ключевых команд как 'm' (назад к главному меню), d, n, p and t - это предпосылка для Partitionierung с gdisk. Мы рекомендуем испытывать gdisk на испытательном носителе данных, чтобы знакомить себя с программой.
ВАЖНОЕ ПРИМЕЧАНИЕ о команде 'n':

Используя команду 'n', Вы нажимаете <Enter>, чтобы дать разделению следующий свободный номер, и тогда Вы должны нажать <Enter> снова, чтобы принять сектор начала по умолчанию для следующего разделения прежде, чем установить размер, в котором Вы нуждаетесь для последнего сектора. Например:

Command (? for help):  n  
Partition number (2-128, default 2):  2 
First sector (34-15728606, default = 411648) or {+-}size{KMGTP}: 
Last sector (411648-15728606, default = 15728606) or {+-}size{KMGTP}: +6144M

Пример разделения GPT-диска

Пожалуйста, измените пример на собственные требования.:

  1. Создание раздела загрузчика (предполагая, что диск не является диском для данных и он должен быть загружаемым);
  2. Создание раздела swap, (предполагая, что диск не является диском для данных и он должен быть загружаемым);
  3. Создание разделов Linux;
  4. Создание других разделов данных.

Примечание: Следующий пример использует только USB-флешку, чтобы демонстрировать требуемые шаги и, таким образом, это не является исчерпывающим.

Шаги

Если вы не уверены в название диска, используйте fdisk дле определения имени (root привилегии требуются для всех команд разделов и форматирования):

fdisk -l

Выдача fdisk показывает необходимый путь и, возможно, другие названия разделов перечислены. В дальнейшем, путем носителя данных не требуется (независимо от возможных существующих разделов). В примере, мы исходим из пути sdb и пускаем gfdisk с путем этого диска:

gdisk /dev/sdb

Если носитель данных не нов или годится уже GPT, первая выдача является предупреждением:

GPT fdisk (gdisk) version 0.7.2
Partition table scan:
  MBR: MBR only
  BSD: not present
  APM: not present
  GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************
Command (? for help):

When starting gdisk on a disk with existing MBR partitions and no GPT, the program displays a message surrounded by asterisks about converting the existing partitions to GPT. This is intended to scare you away if you launch gdisk on the wrong disk by accident or if you don't know what you're doing. You must explicitly respond to this warning before proceeding. This is a deliberate message to keep you from accidentally damaging your boot disks.

Type ? and you will see a list of available commands, (the coloured commands are for documentation purposes):

Command (? for help):  ? 
b	back up GPT data to a file
c	change a partition's name
d	delete a partition
i	show detailed information on a partition
l	list known partition types
n	add a new partition
o	create a new empty GUID partition table (GPT)
p	print the partition table
q	quit without saving changes
r	recovery and transformation options (experts only)
s	sort partitions
t	change a partition's type code
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

To verify that you're working on the disk you think you're working type p .

Command (? for help):  p 
Disk /dev/sdb: 16547840 sectors, 7.9 GiB This example is using an 8GB stck
Logical sector size: 512 bytes
Disk identifier (GUID): 0267952D-9B06-4B10-A648-B83684786910
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 16547806
Partitions will be aligned on 2048-sector boundaries
Total free space is 16547773 sectors (7.9 GiB)
Number  Start (sector)    End (sector)  Size       Code  Name

The Code column of the output shows the partition type code and the Name column displays a free-form text string that you can modify.

Удаление таблицы разделов

You now need to delete the entire partition table on the disk to be able to set up GPT partitioning:

command (? for help):  d 

Загрузки по GPT-EFI или по GPT-BIOS

Should booting a GPT disk be a requirement, there are 2 options to format the boot sector of a GPT disk.

The options are:

or

EFI-загрузка

The BIOS needs to be EFI capable, and turned on, and selected to be bootable.

If you are going to boot using EFI you must have a FAT formatted EFI System Partition (type EF00 ) as the first partition. This partition will contain your bootloader(s). When you install it will ignore any "where to boot from" choices in install-gui and an aptosid bootloader will be installed on the EFI System Partition under /efi/aptosid . The EFI System partition will also be mounted as /boot/efi as long as you leave the "mount other partitions" option selected, you do not need to tell the installer to mount this partition.

Создание раздела EFI-загрузчика

Type n to add a new partition and +200M to give the bootloader a size.

Command (? for help):  n 
Partition number (1-128, default 1):  1 
First sector (34-16547806, default = 34) or {+-}size{KMGTP}: 
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-16547806, default = 16547806) or {+-}size{KMGTP}:  +200M 
Current type is 'Linux filesystem'

By typing L a list of codes will be presented:

Hex code or GUID (L to show codes, Enter = 8300):  L 
0700 Microsoft basic data  0c01 Microsoft reserved    2700 Windows RE          
4200 Windows LDM data      4201 Windows LDM metadata  7501 IBM GPFS            
7f00 ChromeOS kernel       7f01 ChromeOS root         7f02 ChromeOS reserved   
8200 Linux swap            8300 Linux filesystem      8301 Linux reserved      
8e00 Linux LVM             a500 FreeBSD disklabel     a501 FreeBSD boot        
a502 FreeBSD swap          a503 FreeBSD UFS           a504 FreeBSD ZFS         
a505 FreeBSD Vinum/RAID    a800 Apple UFS             a901 NetBSD swap         
a902 NetBSD FFS            a903 NetBSD LFS            a904 NetBSD concatenated 
a905 NetBSD encrypted      a906 NetBSD RAID           ab00 Apple boot          
af00 Apple HFS/HFS+        af01 Apple RAID            af02 Apple RAID offline  
af03 Apple label           af04 AppleTV recovery      be00 Solaris boot        
bf00 Solaris root          bf01 Solaris /usr & Mac Z  bf02 Solaris swap        
bf03 Solaris backup        bf04 Solaris /var          bf05 Solaris /home       
bf06 Solaris alternate se  bf07 Solaris Reserved 1    bf08 Solaris Reserved 2  
bf09 Solaris Reserved 3    bf0a Solaris Reserved 4    bf0b Solaris Reserved 5  
c001 HP-UX data            c002 HP-UX service         ef00 EFI System          
ef01 MBR partition scheme  ef02 BIOS boot partition   fd00 Linux RAID

Enter ef00 to make it a UEFI partition:

Hex code or GUID (L to show codes, Enter = 8300): ef00
Changed system type of partition to 'EFI System'

BIOS-загрузка

Создание раздела BIOS-загрузчика

If your system does not suppert UEFI, you can make a BIOS boot partition, as it replaces the sector of disk on a DOS partitioned drive that lives between the partition table and the first partition where grub is written directly.

Type n to add a new partition and +200M to give the bootloader a size. (The reason to make it +200M,compared with conventional thinking of +32M, is to have in place an EFI sized partition should you ever need to change the disk to EFI booting).

Command (? for help):  n 
Partition number (1-128, default 1):  1 
First sector (34-16547806, default = 34) or {+-}size{KMGTP}: 
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-16547806, default = 16547806) or {+-}size{KMGTP}:  +200M 
Current type is 'Linux filesystem'

Enter ef02 to make it a BIOS boot partition:

Hex code or GUID (L to show codes, Enter = 8300): ef02
Changed system type of partition to 'BIOS boot'

Important Note: The Boot BIOS partition is not to be formatted

Создание раздела swap

The allocation of a swap partition should never be underestimated, particularly for laptops and notebooks, as laptops and notebooks need to have the ability to suspend to disk, if required. It should at least equal your RAM.

Type n to add a new partition and +2G, (or, +2048M) to give the swap partition a size witha type code of 8200 . An example of this would look like this:

Command (? for help):  n  
Partition number (2-128, default 2):  2 
First sector (34-15728606, default = 411648) or {+-}size{KMGTP}: 
Last sector (411648-15728606, default = 15728606) or {+-}size{KMGTP}: +2048M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):  8200 
Changed type of partition to 'Linux swap

Создание раздела данных

Type n to add a new partition and XXXG to give the partition a size. In this example +4G:

Partition number (3-128, default 3):  3 
First sector (34-15728606, default = 4605952) or {+-}size{KMGTP}: 
Last sector (4605952-15728606, default = 15728606) or {+-}size{KMGTP}: +4G
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8300
Changed type of partition to 'Linux filesystem

Repeat the same process for the other partitions according to your requirements.

As this example is a stick it may be wise to make an Any OS Data partition, witha type code of 0700, otherwise give it the code for a Linux filesystem (8300):

Command (? for help):  n 
Partition number (4-128, default 4):  4 
First sector (34-15728606, default = 12994560) or {+-}size{KMGTP}: 
Last sector (12994560-15728606, default = 15728606) or {+-}size{KMGTP}: +1300M
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300):  0700 
Changed type of partition to 'Microsoft basic data'

To examine the partitions you have created:

Command (? for help):  p 
Disk /dev/sdx: 15728640 sectors, 7.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): F409CFD3-6DDC-4551-BBC5-85DC218C1352
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 15728606
Partitions will be aligned on 2048-sector boundaries
Total free space is 73661 sectors (36.0 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          411647   200.0 MiB   EF00  Boot
   2          411648         4605951   2.0 GiB     8200  Swap
   3         4605952        12994559   4.0 GiB     8300  Linux File System
   4        12994560        15656959   1.3 GiB     0700  Any OS Data

To add a description of each partition use the c command to describe each partitions purpose. For example:

Command (? for help):  c 
Partition number (1-4):  4 
Enter name:  Descriptive name of your choosing

The w writes your changes to disk whilst q command exits without saving your changes:

Command (? for help):  w 

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N):  y 
OK; writing new GUID partition table (GPT).
The operation has completed successfully.

Форматирование разделов

As gdisk creates partitions not filesystems, you will need to format each of your partions via the terminal. However you will need to know the names of the partitions so you can format each one correctly, therefore run:

fdisk -l

fdisk will give you the path required. Assuming that it is sdb :

gdisk /dev/sdb
Command (? for help):  p 

Now do q to exit gdisk and be back at the # root prompt, allowing you to enter the path for each partition number:

For the UEFI partition, (Do not format a BIOS Boot partition):

 mkfs -t vfat /dev/sdb1

For the Linux partition, (The syntax for any other Linux partitions will of course change for each additiional Linux File System partitions, that is sdb4, sdb5, and counting:

 mkfs -t ext4 /dev/sdb3

For the 'Any OS Partition', (possibly only required if a USB stick is required for cross platform interoperability):

 mkfs -t vfat /dev/sdb4

Format the swap partition:

mkswap /dev/sdb2

Затем:

swapon /dev/sdb2

Проверьте, если swap-раздел признается, введя в консоли:

swapon -s

Если swap-раздел правильно признал, введите

swapoff -a

Эти команды работают так же, как они были бы на MBR разделах.

It is absolutely imperative to reboot so that the new partitioning and format scheme can be read by the kernel.

После перезагрузки Вы теперь готовы для установки или использования GPT диска.

Расширенные команды для gdisk

Before saving your changes, you may want to verify that there are no glaring problems with the GPT data structures. You can do this with the v command:

Command (? for help):  v 
No problems found. 0 free sectors (0 bytes) available in 0
segments, the largest of which is 0 sectors (0 bytes) in size

In this case, every available byte on the disk is allocated to partitions and no problems were found. If free space were available for partition creation, you'd see how much was available. If gdisk found problems, such as overlapping partitions or mismatched main and backup partition tables, it would report them here. Of course, gdisk includes safeguards to ensure that you can't create such problems yourself. The v option's sanity checks are intended to help you spot problems that might result from data corruption.

Если проблемы были обнаружены, существует возможность, что они устраняются с различными опциями в меню recovery & transformation. Это - субменю, к которому с командой r достигают:

Command (? for help):  r 

recovery/transformation command (? for help): ?
b	use backup GPT header (rebuilding main)
c	load backup partition table from disk (rebuilding main)
d	use main GPT header (rebuilding backup)
e	load main partition table from disk (rebuilding backup)
f	load MBR and build fresh GPT from it
g	convert GPT into MBR and exit
h	make hybrid MBR
i	show detailed information on a partition
l	load partition data from a backup file
m	return to main menu
o	print protective MBR data
p	print the partition table
q	quit without saving changes
t	transform BSD disklabel partition
v	verify disk
w	write table to disk and exit
x	extra functionality (experts only)
?	print this menu

Третьего меню 'experts' достигают с x либо с меню 'main' либо с меню 'recovery & transformation'.

recovery/transformation command (? for help): x

Expert command (? for help): ?
a       set attributes
c       change partition GUID
d       display the sector alignment value
e       relocate backup data structures to the end of the disk
g       change disk GUID
i       show detailed information on a partition
l       set the sector alignment value
m       return to main menu
n       create a new protective MBR
o       print protective MBR data
p       print the partition table
q       quit without saving changes
r       recovery and transformation options (experts only)
s       resize partition table
v       verify disk
w       write table to disk and exit
z       zap (destroy) GPT data structures and exit
?       print this menu

You can do some low-level editing, such as changing partition or disk GUIDs ( c and g , respectively). The z option immediately destroys the GPT data structures, which you should do if you want to re-use a GPT disk using some other partitioning scheme. If these structures aren't erased, some partitioning tools can become confused by the apparent presence of two partitioning systems.

Несмотря ни на что: Опции меню recovery & transformation и experts должны бы только использоваться, если Вы очень хорошо разбираетесь в GPT. Пользователям, которые не являются экспертами, рекомендуется использовать эти меню только тогда, когда носитель данных поврежден. Перед каждым радикальным действиям опция b должна бы использоваться в главном меню, чтобы размещать резервную копию в файле и сохранять ее на отдельном носителе данных. Вследствие этого, оригинальная конфигурация может восстанавливаться, если акция не работает по желанию.

Источники:

GPT fdisk руководство с Roderick W. Smith

Центр разработчика аппаратных средств Windows

Содержание, последний раз пересмотрено 15/08/2011 1155 UTC