- Ubuntu Documentation
- Overview
- Root partition (always required)
- Swap (very recommended)
- Separate /boot (sometimes required)
- BIOS-Boot or EFI partition (required on GPT disks)
- Optional partitions
- Partition for sharing data with Windows, MacOS. (optional)
- Separate /home (optional)
- More Complex Schemes
- Note about /sbin
- Sizes For Alternative Schemes
- Space Requirements
- Absolute Requirements
- Installation on a small disk
- Команда parted в Linux
- Синтаксис parted
- Опции и команды parted
- Разметка диска в Linux
- Выводы
Ubuntu Documentation
The goal of this page is to offer advice and strategy on partitioning a Linux system.
Overview
The easiest partitioning scheme, on a non-GPT disk, is simply a root partition and a swap partition.
Name
Size
size of RAM
the rest of the disk
If the disk is GPT type (this can be checked via the «sudo parted -l» command), you must also add a BIOS-Boot or an EFI partition depending on the boot mode of your BIOS.
Name
Size
BIOS-boot or EFI
see below
size of RAM
the rest of the disk
On some computers, a separate /boot partition may also be required.
See paragraphs below.
Root partition (always required)
- Mount point: /
- Type: Linux type (generally EXT4)
- Description: the root partition contains by default all your system files, program settings and documents.
- Size: minimum is 8 GB. It is recommended to make it at least 15 GB. Warning: your system will be blocked if the root partition is full.
Swap (very recommended)
Description: see SwapFaq.
Separate /boot (sometimes required)
Some computers can’t see boot files (/boot) if located far (>100GB) from the start of the disk. This is why it is sometimes necessary to create a separate /boot partition at the start of the disk. Remark: don’t use the same /boot for several Linux distributions, as it may mix up their kernels. See this tutorial if you want to create a separate /boot after installing Ubuntu.
Name
Size
at least size of RAM
minimum 8 GB, at least 15 GB recommended
BIOS-Boot or EFI partition (required on GPT disks)
If you want to install Ubuntu on a GPT disk (you can check it via the ‘sudo parted -l’ command), you will need either an EFI partition (if your BIOS is set up in EFI mode) or a BIOS-Boot partition (if your BIOS is set up in Legacy mode).
BIOS-Boot partition:
- Mount point: none
- Type: no filesystem
- Description: the BIOS-boot partition contains GRUB 2’s core. It is necessary if you install Ubuntu on a GPT disk, and if the firmware (BIOS) is set up in Legacy (not EFI) mode. It must be located at the start of a GPT disk, and have a «bios_grub» flag.
- Size: 1MB.
EFI partition:
- Mount point: /boot/efi (no need to set up this mount point as the installer will do it automatically)
- Type: FAT (generally FAT32)
Description: the EFI partition (also called ESP) contains some boot files. It is necessary if the firmware (BIOS) is set up to boot the HDD in EFI mode (which is default on more and more modern, > year 2011 computers). It must be located at the start of a GPT disk, and have a «boot» flag.
Size: 100
Optional partitions
Optionally, some other partitions can be created for specific usages. Be careful, these partitions reduce the flexibility of your disk space, they must be considered only if you are sure not to fill completely your root partition (which would block your system).
Partition for sharing data with Windows, MacOS. (optional)
- Mount point: /media/thenameyouwish
- Type: to share data with Windows, choose NTFS. To share data with MacOS, choose HFS+. To share data with another Linux system, choose EXT4.
- Description: other operating systems (Windows, MacOS..) cannot read nor write in the Ubuntu partitions, but Ubuntu can read and write in any partition. If you want to share files between Ubuntu and the other systems, it is recommended to create a data partition. It is not recommended to share files directly into the Windows system partition (eg files may be overwritten by hibernation).
- Size: as you wish
Separate /home (optional)
- Mount point: /home
- Type: Linux type (generally EXT4)
Description: see HomeFolder. When your hard disk is big enough, a separate /home allows to separate your settings (and also your data if you don’t use a data partition, see previous paragraph) from the rest of the system. A separate /home does not allow to share data with Windows nor MacOS (see previous paragraph).
More Complex Schemes
For more information on what various directories are used for, see The Linux Filesystem Hierarchy.
More complex schemes could involve creating a separate partition for any number of the default folders used by Ubuntu. System critical folders are important to protect, and since drives, and / or partitions do fail, it is often useful to have your file system broken down into as many small parts as possible. This can be over done however. Installing every core directory to its own partition could cause a noticeable degradation of performance.
Bearing that in mind, the following directories should NEVER be placed in their own separate partitions:
Name
Description
This directory stores the system wide executables that are accessible by most users.
This directory holds the executables used for core system functions, and used by the system administrator
to maintain the system. See Note Below
This is a system use directory containing process information. Almost never accessed by a user.
This directory contains system created links to your installed hardware, and like /proc is almost never accessed directly.
Note about /sbin
It can be argued, and reasonably so, that moving this directory to its own partition is a wise choice. If any of your partitions or drives should fail, then this directory / partition will be the one that most likely contains the tools you will need to repair it. So while moving this would decrease performance marginally, it could also be considered a wise move.
Sizes For Alternative Schemes
On a six month old installation of Ubuntu 10.04.3 LTS the disk usage could resemble something like this: (examples taken from my own system with many extra packages installed)
Actual
Name
Size
Recommended Partition Size
Everything not used elsewhere, or separate drive.
500 MB to 5 GB This directory is not used by mainline software packages, but mostly from packages coming from the universe repositories. If you do not use the universe repositories often, you probably will not need much space here.
DO NOT PARTITION
Unless you plan on installing web served data here, or are using a Server version of Ubuntu, this will not often need to be larger than 100 MB. If you are running a server, or plan to expand it yourself, plan ahead when sizing this.
This can get fairly large, but not larger than your swap space as a rule, so size this to match /swap
8 kB (do not partition)
This is just an empty directory that serves as a mount point for temporary file systems, e.g. a rarely used network filesystem.
8 kB (do not partition)
This contains subdirectories that are mount points for removable media like CDs and USB flash drives.
The above recommendations assume you are using large modern hard drives and can afford the space.
Space Requirements
Absolute Requirements
The required disk space for an out-of-the-box Ubuntu installation is said to be 15 GB. However, that does not take into account the space needed for a file-system or a swap partition.
It is more realistic to give yourself a little bit more than 15 GB of space. Give yourself 15-25 GB to have some space left for actually doing things. If your file-system is full to the brim, you will feel some performance loss.
A certain percentage of an ext3 file-system is dedicated to root, as a way of preventing a rogue process from filling the disk to the point that the system is unusable. This dedicated portion is 5% by default. Also, the anti-fragmentation strategies used by Linux file-systems require that the disk is not close to full. A rule of thumb is to keep them less than 90% full.
Installation on a small disk
(This section is out-of-date & may need research for sizes) During a normal install, the installer copies the packages from the CD to the hard drive (in addition to actually installing them). If you are short on disk space before you install, you can tell the installer not to use extra disk space. The packages take up about xxx Mb. You will be able to install a full Ubuntu system with less than xx GB of hard drive space.
At the installation prompt (just after you boot from CD) type:
DiskSpace (последним исправлял пользователь ckimes 2017-09-02 19:35:04)
The material on this wiki is available under a free license, see Copyright / License for details
You can contribute to this wiki, see Wiki Guide for details
Источник
Команда parted в Linux
При переустановке системы, установке нового дистрибутива или просто реорганизации файловых систем мы часто имеем дело с жесткими дисками. Часто нужно добавлять, удалять или изменять размер разделов, управлять их флагами или конвертировать файловые системы. Для этого в Linux есть достаточно различных инструментов как с графическим интерфейсом, так и консольных. Разобраться в графическом интерфейсе Gparted, я думаю вам не составит труда, но в некоторых случаях бывает нужна разбивка жесткого диска на разделы linux в терминале, без доступа к Х серверу, а это может стать серьезной проблемой.
В этой статье мы разберем как выполнять основные операции, которые мы привыкли делать в Gparted, такие как разметка диска, удаление и создание раздела, в терминале, а поможет в этом команда parted Linux. Сначала рассмотрим саму команду parted.
Синтаксис parted
Синтаксис parted выглядит следующим образом:
$ parted [опции] устройство [команда]
В квадратных скобках указанны необязательные аргументы.
- опции указывают как будет работать программа, например, интерактивный режим работы или скриптовый, или нужно просто вывести справку.
- устройство — жесткий диск с которым будет работать программа.
- команда — действие которое нужно выполнить над жестким диском.
Опции и команды parted
У parted всего несколько опций и огромное количество команд.
- -h — вывести справку о программе
- -v — вывести версию программы
- -s — скриптовый режим, программа работает без запросов к пользователю
- -i — интерактивный режим, пользователь вводит команды в интерактивном режиме. По умолчанию программа работает в этом режиме.
Команд не очень много, но даже помнить их все вовсе не обязательно. Рассмотрим только те, которые нам пригодятся в сегодняшних примерах:
- help команда — помощь по выбранной команде;
- mkpart тип раздела файловая система начало конец — создание раздела linux с файловой системой начиная с позиции начало заканчивая конец, два последних параметра задаются в мегабайтах по умолчанию;
- mktable тип — создать таблицу разделов;
- print — отобразить таблицу разделов;
- quit — выйти;
- resizepart раздел конец — изменить размер раздела;
- rm раздел — удалить раздел;
- select раздел — установить раздел как текущий;
- set раздел флаг состояние — установить флаг для раздела. Состояние может быть on (включен) или off(выключен).
Раньше поддерживались также опции работы с файловой системой mkfs, check, mkpartfs но начиная с версии 2.4 они были удаленны. Но программа не стала хуже.
Я понимаю что сейчас разметка дисков в linux для вас непонятна и расплывчата, но с примерами станет намного яснее. Больше не будем о теории, перейдем к примерам.
Разметка диска в Linux
Во всем, что вы изучаете нужна практика и работа с жесткими дисками linux не исключение. Но практиковаться на реальном диске, рискуя повредить файловую систему не совсем правильно, а создавать виртуальную машину для таких целей слишком непрактично. Но есть решение. В Linux все считается файлами, и жесткий диск в том числе представлен в виде файла. Из этого выплывает интересная возможность. Мы можем использовать обычный файл вместо жесткого диска для своих экспериментов.
Создадим себе тестовый полигон командой:
sudo dd if=/dev/zero of=/disk.img count=2000 bs=1M
Таким образом, мы получим файл размером 2000 мегабайт, заполненный нулями, с которым можно спокойно работать. Запустим parted, передав ему вместо устройства наш файл:
sudo parted /disk.img
Когда надо будет работать с реальным диском, просто передайте путь к файлу его устройства утилите:
sudo parted /dev/sda
Программа запустится в интерактивном режиме и вы сможете выполнять нужные команды. Сначала попытаемся посмотреть список разделов на устройстве:
Он пуст потому что даже нет таблицы разделов. Пока её нет, разметка дисков в Linux не может быть выполнена, нам предстоит ее создать. Для этого воспользуйтесь командой mktable:
(parted) mktable gpt
Будем мы создали таблицу разделов типа gpt, но можно выбрать одну из этих: aix, amiga, bsd, dvh, gpt_sync_mbr, gpt, mac, msdos, pc98, sun, loop
Теперь давайте создадим новый раздел с файловой системой ext2 размером 100 мегабайт. Для этого есть команда mkpart, как вы помните ей нужно передать три параметра: тип раздела, файловую систему и координаты. Тип раздела может быть: primary, logical, extended (первичный, логический и расширенный).
В gpt можно создавать нужное количество первичных разделов и не задумываться об их типе. Это все было создано для MBR, в этой таблице есть ограничение на количество первичных разделов — только четыре. Поэтому приходилось создавать три первичных и один расширенный, в который вкладывались уже сколько нужно логических.
Ну так вот, создаем первичный:
(parted) mkpart primary ext2 0 400М
Поскольку это первый раздел, начинаем мы с нуля, а заканчиваем нужным нам размером — 400 мегабайт.
Смотрим список разделов еще раз:
Создадим еще несколько разделов, например для корня системы и для домашней папки:
(parted) mkpart primary ext4 400 1000M
(parted) mkpart primary ext4 1000M -0M
Параметр -0 означает вести отсчет от конца раздела, таким образом будет занято все доступное пространство под третий раздел. Смотрим что получилось:
Работа с диском в Linux осуществляется по их номерам. Давайте уменьшим последний раздел и создадим после него ещё один:
(parted) resizepart 3 1600M
Также можно указать нужный размер в процентах:
(parted) resizepart 3 60%
А теперь создание раздела parted:
mkpart primary ext4 1600M -0M
Удалим только что созданный четвертый раздел:
Зададим метки для существующих разделов с помощью команды name:
(parted) name 1 boot
(parted) name 2 root
(parted) name 3 home
Сделаем первый раздел загрузочным командой set:
Можно устанавливать следующие флаги: boot, root, swap, hidden, raid, lvm, lba, hp-service, palo, prep, msftres, bios_grub, atvrecv, diag, legacy_boot, type, irst.
Вот в принципе и все. Разбивка диска на разделы Linux завершена. Работу с файловыми системами мы в этой статье опустим, так как для этого используются уже другие команды, которые мы рассмотрим в одной из следующих статей.
Выводы
Теперь вы знаете как пользоваться parted Linux и этой информации достаточно чтобы не потеряться в случае, если окажетесь без доступа к графическому интерфейсу и вам понадобится разбивка жесткого диска в консоли Linux.
Источник