Handbook:SPARC/Blocks/Disks/ru
Таблица разделов
Although it is theoretically possible to use a raw, unpartitioned disk to house a Linux system (when creating a btrfs RAID for example), this is almost never done in practice. Instead, disk block devices are split up into smaller, more manageable block devices. On sparc systems, these are called partitions. There are currently two standard partitioning technologies in use: Sun and GPT; the latter is supported only on more recent systems with a sufficiently recent firmware.
GUID Partition Table (GPT)
GUID Partition Table (GPT, таблица разделов GUID, также может называться GPT disklabel) использует 64-битные идентификаторы разделов. Место, в котором хранится информация о разделах, также гораздо больше, чем 512 байт таблицы разделов MBR (DOS disklabel), что означает, что нет почти никаких ограничений на количество разделов для диска с GPT. Также максимальный размер раздела был значительно увеличен (почти 8 ЗиБ — да, зебибайт).
Также GPT использует контрольные суммы и избыточность. Он содержит контрольные суммы CRC32 для обнаружения ошибок в заголовке и таблице разделов. У GPT есть резервная таблица в конце диска. Её можно использовать для восстановления первичной таблицы GPT, которая располагается в начале диска.
GPT is only supported on Oracle SPARC machines of the T4 generation or newer. Additionally, only certain more recent firmware includes GPT support. There are several methods to check whether GPT support is available.
From the OBP prompt, execute:
{0} ok
cd /packages/disk-label
{0} ok
.properties
supported-labels gpt
sun mbrname disk-label
If gpt is included in the output, then GPT support is available. Alternatively, this can be determined from the installation media without entering OBP. Use the prtconf command from sys-apps/sparc-utils to access this information from userspace:
root #
prtconf -pv | grep -c gpt
Or, check if the file /sys/firmware/devicetree/base/packages/disk-label/gpt exists. If none of these methods succeeds, then a firmware update is required in order to support GPT.
Sun partition table
Systems not manufactured by Oracle, T3 or earlier systems, or systems running an earlier firmware must use the Sun partition table type.
На системах Sun третий раздел выделен отдельно и используется как специальный слайс «whole disk». Этот раздел не должен содержать какой-либо файловой системы.
Пользователи, привыкшие к схеме разделов в стиле DOS, должны отметить, что метки дисков Sun не имеют «основных» или «расширенных» разделов. Вместо этого на каждом устройстве может располагаться до восьми разделов, при этом третий зарезервирован.
Авторы Руководства при установке Gentoo рекомендуют использовать GPT везде, где это возможно.
Схема разделов по умолчанию
Due to the differences in required partition layout between GPT and Sun partition tables, a single partitioning scheme is not sufficient to support all possible system requirements. Some example schemes are provided below.
GPT partition scheme
The following partitioning scheme will be used as an example for GPT-formatted disks:
Раздел | Файловая система | Размер | Точка монтирования | Описание |
---|---|---|---|---|
/dev/sda1 | (нет) | 2 Мб | нет | BIOS boot partition |
/dev/sda2 | (swap) | Размер ОЗУ * 2 | нет | Раздел подкачки |
/dev/sda3 | ext4 | Оставшаяся часть диска | / | Корневой раздел |
Sun formatted partition scheme
The following partitioning scheme will be used as an example for Sun-formatted disks:
Раздел | Файловая система | Размер | Точка монтирования | Описание |
---|---|---|---|---|
/dev/sda1 | ext4 | Размер диска минус размер раздела подкачки | / | Корневой раздел |
/dev/sda2 | (swap) | Размер ОЗУ * 2 | нет | Раздел подкачки |
/dev/sda3 | (none) | Весь диск | нет | Раздел всего диска. Нужен для дисков с использованием таблицы разделов Sun. |
SPARC systems using OBP version 3 or older have additional restrictions on their partitioning scheme. The root partition must be the first partition on the disk, and it may be no larger than 2 GiB. For this reason, such systems will require additional sufficiently-sized partitions for top-level directories, such as /usr, /var, /home, and other directories which would likely cause the root partition to exceed this limit. These systems are also likely to require the Sun partition table type, so do not forget to include the whole disk partition.
Создание разделов на диске с GPT
Следующие части объяснят, как создать структуру разделов из примера для установки с GPT с использованием fdisk (пример структуры разделов приводился выше):
Раздел | Описание |
---|---|
/dev/sda1 | Загрузочный раздел |
/dev/sda2 | Раздел подкачки |
/dev/sda3 | Корневой раздел |
Change the partition layout according the system's needs.
Просмотр текущей разметки разделов
fdisk является популярным и мощным инструментом для создания разделов на диске. Запустите fdisk, передав в качестве параметра имя диска (в нашем примере мы используем /dev/sda):
root #
fdisk /dev/sda
Нажмите на клавишу p для отображения текущей конфигурации разделов:
Command (m for help):
p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors Disk model: USB Flash Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 9850A2C2-76C4-FC47-9F0B-DA60449D2413 Device Start End Sectors Size Type /dev/sda1 2048 30547967 30545920 14.6G Linux filesystem
Creating a new disklabel and removing all existing partitions
Нажмите g, чтобы создать новую разметку GPT на диске; это удалит все существующие разделы.
Command (m for help):
g
Created a new GPT disklabel (GUID: 9850A2C2-76C4-FC47-9F0B-DA60449D2413).
Для диска с существующей разметкой GPT (смотрите вывод p выше), вы также можете удалять существующие разделы на диске. Нажмите d для удаления раздела. Например, чтобы удалить существующий /dev/sda1:
Command (m for help):
d
Selected partition 1 Partition 1 has been deleted.
Теперь раздел отмечен для удаления. Он больше не будет отображаться в списке разделов при вводе p, но не будет удален, пока не будут сохранены изменения. Это даёт возможность пользователю прервать операцию, если была допущена ошибка — в этом случае сразу нажмите q и Enter, и раздел не будет удален.
Удалите все разделы, поочерёдно нажимая на p для вывода списка разделов, d и номер раздела — для удаления. В конечном счете, таблица разделов будет пуста:
Command (m for help):
p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors Disk model: USB Flash Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 9850A2C2-76C4-FC47-9F0B-DA60449D2413
Теперь, когда запомненная в памяти таблица разделов пуста, мы готовы создавать разделы.
Создание загрузочного раздела BIOS
First, create the BIOS boot partition. Type n to create a new partition, followed by 1 to select the first partition. When prompted for the first sector, make sure it starts from 2048 (which may be needed for the boot loader) and hit Enter. When prompted for the last sector, type +2M to create a partition 2 Mbyte in size:
Command (m for help):
n
Partition number (1-128, default 1): First sector (2048-30548062, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-30548062, default 30547967): +2M Created a new partition 1 of type 'Linux filesystem' and of size 2 MiB.
Mark the partition as a BIOS boot partition:
Command (m for help):
t
Selected partition 1 Partition type or alias (type L to list all): 4 Changed type of partition 'Linux filesystem' to 'BIOS boot'.
Создание раздела подкачки
Для создания раздела подкачки введите n, чтобы создать новый раздел, затем введите 2 для создания второго основного раздела, /dev/sda2. При появлении запроса первого сектора, введите Enter. При появлении запроса последнего сектора, наберите +4G (или любой другой размер, необходимый для подкачки) для создания раздела размером 4 ГиБ.
Command (m for help):
n
Partition number (2-128, default 2): First sector (6144-30548062, default 6144): Last sector, +/-sectors or +/-size{K,M,G,T,P} (6144-30548062, default 30547967): +4G Created a new partition 2 of type 'Linux filesystem' and of size 4 GiB.
После этого введите t для выбора типа раздела, 2 для выбора только что созданного раздела и введите 19, чтобы установить тип раздела как «Linux Swap».
Command (m for help):
t
Partition number (1,2, default 2): 2 Partition type (type L to list all types): 19 Changed type of partition 'Linux filesystem' to 'Linux swap'.
Создание корневого раздела
Наконец, чтобы создать корневой раздел, введите n, чтобы создать новый раздел. Затем введите 3, чтобы создать третий основной раздел, /dev/sda3. При запросе последнего сектора нажмите Enter, чтобы создать раздел, занимающий всё оставшееся доступное пространство диска. После завершения этих шагов введите p для вывода на экран таблицы разделов, которая должна выглядеть примерно так:
Command (m for help):
p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors Disk model: USB Flash Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt Disk identifier: 9850A2C2-76C4-FC47-9F0B-DA60449D2413 Device Start End Sectors Size Type /dev/sda1 2048 6143 4096 2M BIOS boot /dev/sda2 6144 8394751 8388608 4G Linux swap /dev/sda3 8394752 30547967 22153216 10.6G Linux filesystem
Сохранение разметки разделов
Для сохранения разметки разделов и выхода из fdisk введите w.
Command (m for help):
w
Разделы созданы, теперь настало время создать на них файловые системы.
Partitioning the disk with a Sun partition table
The following parts explain how to create the example partition layout for a Sun partition table installation using fdisk. The example partition layout was mentioned earlier:
Раздел | Описание |
---|---|
/dev/sda1 | Корневой раздел |
/dev/sda2 | Раздел подкачки |
/dev/sda3 | Раздел всего диска |
Change the partition layout according to personal preference. If partitioning for a system using OBP version 3 or earlier, ensure that the root partition is less than 2G in size, and additionally create partitions /dev/sda4 and onward for additional filesystems.
Просмотр текущей разметки разделов
fdisk является популярным и мощным инструментом для создания разделов на диске. Запустите fdisk, передав в качестве параметра имя диска (в нашем примере мы используем /dev/sda):
root #
fdisk /dev/sda
Нажмите на клавишу p для отображения текущей конфигурации разделов:
Command (m for help):
p
Disk model: USB Flash Disk Geometry: 64 heads, 32 sectors/track, 14916 cylinders Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: sun Device Start End Sectors Size Id Type Flags /dev/sda1 0 30445567 30445568 14.5G 83 Linux native /dev/sda2 30445568 30547967 102400 50M 82 Linux swap u /dev/sda3 0 30547967 30547968 14.6G 5 Whole disk
Создание нового disklabel / удаление всех разделов
Type s to create a new Sun disklabel on the disk; this will remove all existing partitions.
Command (m for help):
s
Created a new partition 1 of type 'Linux native' and of size 14.5 GiB. Created a new partition 2 of type 'Linux swap' and of size 50 MiB. Created a new partition 3 of type 'Whole disk' and of size 14.6 GiB. Created a new Sun disklabel.
For an existing Sun disklabel (see the output of p above), alternatively consider removing the existing partitions one by one from the disk. Type d to delete a partition. For instance, to delete an existing /dev/sda1:
Command (m for help):
d
Partition number (1-3, default 3): 1 Partition 1 has been deleted.
Теперь раздел отмечен для удаления. Он больше не будет отображаться в списке разделов при вводе p, но не будет удален, пока не будут сохранены изменения. Это даёт возможность пользователю прервать операцию, если была допущена ошибка — в этом случае сразу нажмите q и Enter, и раздел не будет удален.
Удалите все разделы, поочерёдно нажимая на p для вывода списка разделов, d и номер раздела — для удаления. В конечном счете, таблица разделов будет пуста:
Command (m for help):
p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors Disk model: USB Flash Disk Geometry: 64 heads, 32 sectors/track, 14916 cylinders Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: sun
Теперь, когда запомненная в памяти таблица разделов пуста, мы готовы создавать разделы.
Creating the whole disk partition
First, create the whole disk partition. Type n to create a new partition, followed by 3 to select the third partition. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to create a partition that takes up all of the space on the disk.
Command (m for help):
n
Partition number (1-8, default 1): 3 It is highly recommended that the third partition covers the whole disk and is of type `Whole disk' First sector (0-30547968, default 0): Last sector or +/-sectors or +/-size{K,M,G,T,P} (0-30547968, default 30547968): Created a new partition 3 of type 'Whole disk' and of size 14.6 GiB.
fdisk will automatically set the type of such a partition to 'Whole disk', so there is no need to explicitly set the type.
Создание корневого раздела
Next, to create the root partition, type n to create a new partition. Then type 1 to create the third partition, /dev/sda1. When prompted for the first sector, hit Enter. When prompted for the last sector, type -4G (or whatever space is required for non-root partitions). After completing these steps, typing p should display a partition table that looks similar to this:
Command (m for help):
p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors Disk model: USB Flash Disk Geometry: 64 heads, 32 sectors/track, 14916 cylinders Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: sun Device Start End Sectors Size Id Type Flags /dev/sda1 0 22159359 22159360 10.6G 83 Linux native /dev/sda3 0 30547967 30547968 14.6G 5 Whole disk
Создание раздела подкачки
Finally, to create the swap partition, type n to create a new partition, then type 2 to create the second partition, /dev/sda2. When prompted for the first sector, hit Enter. When prompted for the last sector, hit Enter to take up the remaining space on the disk.
Command (m for help):
n
Partition number (2,4-8, default 2): First sector (22159360-30547968, default 22159360): Last sector or +/-sectors or +/-size{K,M,G,T,P} (22159360-30547968, default 30547968): Created a new partition 2 of type 'Linux native' and of size 4 GiB.
После этого введите t для выбора типа раздела, 3 для выбора только что созданного раздела и введите 82, чтобы установить тип раздела как «Linux Swap».
Command (m for help):
t
Partition number (1-3, default 3): 2 Hex code (type L to list all codes): 82 Changed type of partition 'Linux native' to 'Linux swap'.
After completing these steps, typing p should display a partition table that looks similar to this:
Command (m for help):
p
Disk /dev/sda: 14.57 GiB, 15640625152 bytes, 30548096 sectors Disk model: USB Flash Disk Geometry: 64 heads, 32 sectors/track, 14916 cylinders Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: sun Device Start End Sectors Size Id Type Flags /dev/sda1 0 22159359 22159360 10.6G 83 Linux native /dev/sda2 22159360 30547967 8388608 4G 82 Linux swap u /dev/sda3 0 30547967 30547968 14.6G 5 Whole disk
Сохранение разметки разделов
Для сохранения разметки разделов и выхода из fdisk введите w.
Command (m for help):
w
Разделы созданы, теперь настало время создать на них файловые системы.