Так же, как и при установке новой копии Windows, о разбиении винчестера на разделы нужно продумать заранее. Есть несколько вещей, которые вы должны знать о разделах, которые требуются при установке Ubuntu Linux. Установка Ubuntu требует как минимум двух разделов: один для самой операционной системы - обозначается «/» и называется «root» (корневой раздел), а второй для виртуальной памяти (для файлов подкачки) - называется «swap». Есть еще третий раздел - Home, создается по желанию, на нем будут храниться основные настройки приложений и файлы пользователя.

Разделы жесткого диска

Раздел — часть долговременной памяти жёсткого диска или флеш-накопителя, выделенная для удобства работы, и состоящая из смежных блоков. На одном устройстве хранения может быть несколько разделов.

Создание разделов на различных видах современных накопителей почти всегда предусмотрено (хотя, к примеру, на, ныне уже не используемых, флоппи-дисках было невозможно создать несколько разделов). Однако в Windows, с флешки с несколькими разделами будет доступен только первый из них (в Windows принято считать флешки аналогом флоппи-диска, а не жесткого диска).

Преимущества использования нескольких разделов

Выделение на одном жёстком диске нескольких разделов даёт следующие преимущества:

  • на одном физическом жёстком диске можно хранить информацию в разных файловых системах, или в одинаковых файловых системах, но с разным размером кластера (например, выгодно хранить файлы большого размера — например, видео — отдельно от маленьких, и задавать больший размер кластера для хранилища больших файлов);
  • можно отделить информацию пользователя от файлов операционной системы;
  • на одном жёстком диске можно установить несколько операционных систем;
  • манипуляции с одной файловой системой не сказываются на других файловых системах.

Таблица разделов жесткого диска

Существует несколько типов таблиц разделов жестких дисков. Наиболее распространенной на данным момент являемся IBM-PC совместимая таблица разделов, являющаяся частью главной загрузочной записи (MBR). MBR располагается в первом(нулевом) физическом секторе жесткого диска. Однако в последнее время начинает все чаще использоваться таблица GPT (GUID Partition Table). Если ваш диск имеет таблицу разбиения GPT, то вам не нужно заботится о количестве разделов (в GPT по умолчанию зарезервировано место под 128 разделов) и разбираться с типами разделов (в GPT - все разделы первичные). Если у вас MBR разбивка - то в данной статье приводится детальное описание такого разбиения диска.

Структура диска, разбитого на разделы (MBR)

  • Информация о размещении разделов на жёстком диске хранится в таблице разделов, которая является частью главной загрузочной записи (MBR).
  • Раздел может быть либо первичным, либо расширенным.
  • В первом секторе каждого первичного раздела находится загрузочный сектор, отвечающий за загрузку операционной системы с этого раздела. Информация о том, какой раздел будет использован для загрузки операционной системы, тоже записана в главной загрузочной записи.
  • В MBR под таблицу разделов выделено 64 байта. Каждая запись занимает 16 байт. Таким образом, всего на жестком диске может быть создано не более 4 разделов. Когда разрабатывалась структура MBR, это считалось достаточным. Однако, позднее был введён расширенный раздел, в котором можно прописать несколько логических разделов.
  • По правилам расширенный раздел может быть только один. Таким образом, в максимальной конфигурации на жёстком диске может быть сформировано три первичных и один расширенный раздел, содержащий несколько логических.

Виды разделов

Первичный (основной) раздел

Первичный раздел обязательно должен быть на физическом диске. Этот раздел всегда содержит либо одну файловую систему, либо другие логические разделы. На физическом диске может быть до четырёх первичных разделов. Некоторые старые операционные системы — например, MS-DOS и Windows — могли быть установлены только на первичный раздел.

Расширенный и Логические разделы

Таблица разделов может содержать не более 4 первичных разделов, поэтому были изобретёны расширенный разделы. В расширенном разделе можно создать несколько логических разделов. Логические разделы выстраиваются в цепочку где информация о первом логическом разделе храниться в MBR, а информация о последующем хранится в первом секторе логического раздела. Такая цепочка позволяет (в теории) создавать неограниченное количество разделов, но (на практике) число логических разделов ограничивается утилитами и, обычно, больше 10 логических разделов не создать.

Важно отметить что некоторые версии Windows не могут загрузиться с логического раздела (нужен обязательно первичный раздел), тогда как для Linux никакой разницы в виде разделов - нет, Linux загружается и работает с разделами совершенно независимо от их вида (первичный или логический).

Выбор файловой системы

Подобно Windows, Linux за свою жизнь повидала несколько разных файловых систем. Ubuntu «понимает» файловые системы Windows, но не установится на них. Ubuntu может сразу же записывать и считывать из разделов FAT16, FAT32 и VFAT и NTFS. Однако Windows не может работать с файловыми системами Linux, и вам придётся передавать файлы в и из Windows из-под операционной системы Ubuntu.

Помимо знакомых файловых систем Windows, вы можете выбрать несколько таких, которые вы, возможно, не знаете. Среди таких файловых систем - ext4. Ext4 в настоящий момент является одной из самых подходящих файловых систем для настольной системы. Файловые системы ext3 и ext2 сейчас используются редко: ext3 - чуть более старая версия ext4, и не имеет никаких преимуществ перед ext4, а ext2 не имеет журналирования, без него при, системном сбое будет трудно восстановить данные. Файловые системы BTRFS, XFS, ReiserFS, Reiser4, JFS и т.д. также можно использовать, однако их стоит выбирать исходя из понимания особенностей этих ФС (стоит почитать немного о разных ФС, что бы сделать правильный выбор). Раздел «swap» предназначен только для виртуальной памяти и в отличие от других файловых систем ему не требуется точка монтирования.

Точки монтирования

Linux не назначает буквы каждому диску и разделу, как в Windows и DOS. Вместо этого вы должны задать точку монтирования для каждого диска и раздела. Linux работает по принципу иерархического дерева каталогов, где корневой каталог ( / ) является основной точкой монтирования, в которую по умолчанию входят все остальные. В отличии от Windows в Linux все используемые разделы дисков монтируются в подкаталоги корня, а не как отдельные устройства (C:, D: …).

К примеру, в /home хранятся все ваши персональные файлы. Если вы хотите разместить эти данные в отдельном от корня разделе, то создадите новый раздел и установите точку монтирования на /home. Это можно сделать для любого подкаталога. Во время установки Ubuntu предоставляет возможность задать следующие точки монтирования: /boot (начальный загрузчик и заголовки ядра), /dev (драйверы и устройства), /home (пользовательские файлы), /opt (дополнительное программное обеспечение), /srv (системные сервисы) /tmp (временные файлы), /usr (приложения), /usr/local (данные, доступные всем пользователям) и /var (server spool и логи). Также при установке можно создать и свои точки монтирования с произвольными именами.

Для типичной настольной системы нет никакого смысла выделять собственные разделы для /dev, /opt, /srv, /tmp, /usr/local и /var. Если вы планируете запускать более двух операционных систем или использовать шифрование корневого раздела, то возможно потребуется отдельный раздел для /boot. Иногда стоит также создать раздел для /usr, но только если вы уже имеете чёткое представление о том, сколько места займут приложения. Желательно создать отдельный раздел для /home. Это предоставит вам дополнительные удобства при обновлении и переустановке системы.

Минимально можно ограничится только двумя разделами: «root» и «swap», тогда /boot, /home, /usr и все остальные будут просто храниться в корневом разделе ( / ).

Структура файловой системы

Ubuntu поддерживает стандарт FHS1), описывающий какая информация должна находится в том или ином месте «дерева». Ниже приведена таблица с кратким описанием основных директорий.

Директория Описание
/ Корневая директория, содержащая всю файловую иерархию.
/bin/ Основные системные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp).
/boot/ Загрузочные файлы (в том числе файлы загрузчика, ядро и т.д.). Часто выносится на отдельный раздел.
/dev/ Основные файлы устройств системы (например физические устройства sata винчестеры /dev/sda, видео камеры или TV-тюнеры /dev/video или псевдоустройства, например «чёрные дыры» /dev/null, /dev/zero ).
/etc/ Общесистемные конфигурационные файлы, лежат в корне директории и файлы конфигурации установленных программ (имя происходит от et cetera).
/etc/X11/ Файлы конфигурации X Window System версии 11.
/etc/apt/ Файлы конфигурации пакетного менеджера Apt.
/etc/samba/ Файлы конфигурации сервера Samba, расшаривающего файлы по сети с windows машинами.
/home/ Содержит домашние директории пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе.
/lib/ Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/.
/media/ Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM, flash дисков.
/opt/ Дополнительное программное обеспечение.
/proc/ Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде каталогов файлов.
/root/ Домашняя директория пользователя root.
/sbin/ Основные системные программы для администрирования и настройки системы, например, init, iptables, ifconfig.
/srv/ Данные, специфичные для окружения системы.
/tmp/ Временные файлы (см. также /var/tmp).
/usr/ Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин.
/usr/bin/ Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме.
/usr/include/ Стандартные заголовочные файлы.
/usr/lib/ Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/.
/usr/sbin/ Дополнительные системные программы (такие как демоны различных сетевых сервисов).
/usr/share/ Архитектурно-независимые общие данные.
/usr/src/ Исходные коды (например, здесь располагаются исходные коды ядра).
/usr/local/ Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/. Она пригодится, когда /usr/ используется по сети.
/var/ Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров.
/var/cache/ Данные кэша приложений. Сюда скачиваются пакеты перед их установкой в систему, здесь же они какое-то время и хранятся
/var/lib/ Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.).
/var/lock/ Lock-файлы, указывающие на занятость некоторого ресурса.
/var/log/ Различные файлы регистрации (log-файлы).
/var/mail/ Почтовые ящики пользователей.
/var/run/ Информация о запущенных программах (в основном, о демонах).
/var/spool/ Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма).
/var/tmp/ Временные файлы, которые должны быть сохранены между перезагрузками.
/var/www/ Директория веб-сервера Apache, всё что находится внутри транслируется им в интернет (конфигурация по-умолчанию)

Дисковые файловые системы, применяемые в Ubuntu

  • Ext4 - журналируемая файловая система, используемая в ОС на ядре Linux. Основана на файловой системе Ext3, но отличается тем, что в ней представлен механизм записи файлов в непрерывные участки блоков (екстенты), уменьшающий фрагментацию и повышающий производительность. В Ubuntu, начиная с версии 9.10, эта файловая система используется по умолчанию при автоматическом разбиении диска инсталлятором.
  • Ext3 - журналируемая файловая система, используемая в ОС на ядре Linux. Является файловой системой по умолчанию во многих дистрибутивах. Основана на Ext2, но отличается тем, что в ней есть журналирование, то есть в ней предусмотрена запись некоторых данных, позволяющих восстановить файловую систему при сбоях в работе компьютера.
  • Ext2 - файловая система, используемая в операционных системах на ядре Linux. Достаточно быстра для того, чтобы служить эталоном в тестах производительности файловых систем. Она не является журналируемой файловой системой и это её главный недостаток.
  • BTRFS - Достаточно новая универсальная ФС, используемая в операционных системах на ядре Linux. Ее особенностями являются: индексное хранение структур данных (в В-деревьях), возможность создания снепшотов, и многие другие интересные вещи.
  • XFS - высокопроизводительная журналируемая файловая система. Распределение дискового пространства - екстентами, храниение каталогов в B-деревьях. Автоматическая аллокация и высвобождение I-node. Дефрагментируется «на лету». Невозможно уменьшить размер существующей файловой системы. При сбое питания во время записи возможна потеря данных (хотя этот недостаток нельзя относить к одной только XFS, он свойственен любой журналируемой ФС, но, вместе с тем, XFS, по умолчанию, достаточно активно использует буферы в памяти).
  • Fat16 - файловая система, сейчас широко используемая в картах памяти фотоаппаратов и других устройств.
  • Fat32 - файловая система основанная на Fat16. Cоздана, чтобы преодолеть ограничения на размер тома в Fat16.
  • NTFS - файловая система для семейства операционных систем Microsoft Windows. Поддержка в Ubuntu осуществляется специальным драйвером - NTFS-3G.
  • HFS - файловая система, разработанная Apple Inc. для использования на компьютерах, работающих под управлением операционной системы Mac OS.
  • HSF+ - файловая система, разработанная Apple Inc. для замены HFS. Является улучшенной версией HFS, с поддержкой файлов большого размера и использует кодировку Unicode для имён файлов и папок.
  • JFS - журналируемая файловая система. В отличие от Ext3, в которую добавили поддержку журналирования, JFS изначально была журналируемой. На момент выхода в свет JFS была самой производительной из существовавших файловых систем. На текущий момент сохраняет за собой одно из лидирующих мест по этому показателю.
  • SWAP - раздел жёсткого диска, предназначенная для виртуальной памяти (файла/раздела подкачки).
  • ReiserFS - журналируемая файловая система, разработанная специально для Linux. Обычно под словом ReiserFS понимают третью версию (последняя — 3.6.21), а четвёртую называют Reiser4. В настоящий момент разработка Reiser3 прекращена.
  • Reiser4 - журналируемая файловая система ReiserFS (4-я версия), разработанная специально для Linux. Одна из самых быстрых файловых систем для Linux (с включённым плагином-архиватором - самая быстрая).
  • UFS - файловая система, созданная для операционных систем семейства BSD. Linux поддерживает UFS на уровне чтения, но не имеет полной поддержки для записи UFS. Родной Linux ext2 создан по подобию UFS.
О всех существующих файловых системах можно прочитать в этой статье.

Как разбить жесткий диск для установки Ubuntu

Настоятельно рекомендуется при установке разбивать жесткий диск вручную, создавая как минимум 2 раздела (для корня файловой системы и для /home), что в последствии облегчает процессы обновления, переустановки, восстановления системы или переход на другой дистрибутив.

Для разбития жесткого диска можно воспользоваться программой GParted, входящей в состав LiveCD Ubuntu или же любой другой программой поддерживающей необходимые вам файловые системы.

Расположение разделов на жестком диске

Есть мнение, что физическое место положения раздела (в начале или конце диска, соответственно ближе или дальше к\от шпинделя диска) определяет скорость обращения к разделу. Возможно это и так, но на современных компьютерах разница почти не заметна. Если же вы всё таки хотите разбить жесткий диск правильно расположив разделы, то ближе к шпинделю диска (первым) необходимо создавать swap, так как в него чаще всего будет записываться информация и головка диска будет часто обращаться именно к этому месту2), далее раздел для корня системы и в конце- раздел для /home.

Нужен ли SWAP?

Раздел SWAP используется системой при нехватке оперативной памяти и для спящего режима, поэтому его необходимость определяется двумя факторами: размером оперативной памяти3) и намерением использовать спящий режим.

Более подробную информацию о SWAP вы можете прочитать в статье SWAP.

Объем раздела для корня файловой системы

Свежеустановленная система Ubuntu занимает 4-6 Гб дискового пространства, однако при активном использовании (установке большого количества программ, увеличении кэша программ, и т.д.) или возникновении сбоев в работе, что приводит к росту объема папок с логами системы (/var/log) может понадобиться большее количество дискового пространства, поэтому для корня файловой системы необходимо выделять раздел 10-15Гб.

Объем раздела для /home

Разделу с папкой /home обычно отдают всё оставшееся пространство, если Ubuntu будет единственной системой на ПК и все мультимедиа данные будут храниться в ней, или, в случае установки рядом с Windows, выделяют отдельный раздел в формате NTFS для мультимедиа данных, а раздел для /home делают минимальным только для хранения файлов конфигурации.

Перенос папки /home на новый раздел после установки

Часто возникает желание привести в порядок неправильно разбитый жесткий диск при установке Ubuntu. При этом возникает необходимость перенести папку /home на отдельный раздел жесткого диска. Ниже приведена краткое руководство действий для выполнения этой задачи.

Создание отдельного раздела

  1. Загрузите компьютер с LiveCD(LiveUSB);

  2. Создайте новый раздел в неразмеченной области или отделив необходимое количество свободного пространства от уже существующего. Отформатируйте его в выбранную вами файловую систему.

Перенос данных на новый раздел

  1. загрузитесь с LiveCD(LiveUSB)

  2. примонтируйте раздел c корнем системы и раздел с будущим расположением /home к текущей файловой системе (заменив sda1 и sda2 своими значениями)

    sudo mkdir /mnt/root
    sudo mkdir /mnt/new_home
    sudo mount /dev/sda1 /mnt/root
    sudo mount /dev/sda2 /mnt/new_home
  3. переместите папку /home на новый раздел

    sudo mv /mnt/root/home/имя_пользьвателя /mnt/new_home
  4. посмотрите UUID нового раздела

    sudo blkid
  5. добавьте в файл

    /mnt/root/etc/fstab

    (fstab файл установленной на жестком диске системы) строку (заменив UUID на свой, естественно):

    UUID=7bb7f568-4da5-4112-873c-788b0e3ed807 /home           ext4    defaults,user_xattr        0       2
  6. перезагрузите компьютер.

Смотрите также

Ссылки

1)
Filesystem Hierarchy Standard (FHS) - стандарт иерархии файловой системы, официальная страница стандарта FHS, перевод устаревшей редакции FHS.
2)
здесь опять встает вопрос о размере оперативной памяти, потому что если памяти достаточно для работы системы(более 1Гб), то раздел swap активно использоваться не будет(только для режима гибернации) и его целесообразно расположить вторым в списке разделов жесткого диска
3)
по опыту в повседневной работе система не требует более 1Гб оперативной памяти, значит если у вас установлено 4 и более Гб оперативной памяти, то для целей подкачки SWAP не нужен