» »

Как создать таблицу разделов. Разметка жесткого диска в Linux Ubuntu во время установки. Как именуются разделы в Linux

16.04.2020

Posted by Hrafn

Временами ко мне заходят люди с поисковиком с запросами по поводу fdisk. Где-то в статьях упоминается эта команда. Но толком ничего у меня про нее не было. А я помню, как в свое время мучался с ней Поскольку писать свое собственное что-то мне очень часто посто лень, то я потихоньку перевожу интересные и полезные для меня статьи. Вот и сейчас сделал то же самое. Может, пригодится кому-то. Хотя, как всегда, статья далеко не целиком раскрывает тему, а потому чтение манов никто не отменяет

Итак, очередной перевод. Оригинал, как всегда, на Novell Cool Solutions . Читайте.

Создать разделы через интерфейс командной строки — просто и быстро, также учитывая знание ядра о модифицированной таблице разделов и наличия схемы разделов, позволяет получить нужный эффект без необходимости перезагрузки рабочей станции/сервера и без необходимости использовать утилиты для разделения.

Первым делом необходимо посмотреть, какие жесткие диски доступны, и какой жесткий диск необходимо разделить. Если на вашей машине установлено несколько жестких дисков, fdisk сообщит вам об этом. Два жестких диска показано в следующем листинге как sda и sdb.

Команда fdisk с оператором -l (fdisk -l ) покажет вам текущие таблицы разделов наряду с жесткими дисками, подключенными к вашей рабочей станции или серверу:

linux-1reo:~ # fdisk -l








Disk /dev/sdb: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 9729 78148161 8e Linux LVM

Disk /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Как только вы определили, какой жесткий диск вы хотите разделить, вы можете запустить команду fdisk , завершив ее нужным жестким диском (fdisk /dev/sda ). В этой статье мы будем использовать первый жесткий диск — sda .

linux-1reo:~ # fdisk /dev/sda
The number of cylinders for this disk is set to 9729.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK) Command (m for help):

Как только fdisk будет запущен, ваше приглашение командной строки изменится на «Command (m for help): », и вы будете готовы к проверке и разделению жесткого диска. Команды, которые поддерживает fdisk , можно просмотреть нажав клавишу m , а затем Enter. Команды, которые мы будем использовать:

  • p — для печати таблицы раздела
  • n — для создания нового раздела
  • w — для сохранения изменений и выхода

Отображение текущей таблицы раздела

Перед тем, как мы начнем делить жесткий диск, необходимо узнать какой объем дискового пространства нам доступен и как вообще выгдялит текущая таблица раздела. «p », команда, которую мы будеи использовать, выведет текущую таблицу раздела:

Command (m for help): p

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 1402 11261533+ 7 HPFS/NTFS
/dev/sda2 1403 1415 104422+ 83 Linux
/dev/sda3 1416 1546 1052257+ 82 Linux swap / Solaris
/dev/sda4 1547 9729 65729947+ 5 Extended
/dev/sda5 1547 7920 51199123+ 8e Linux LVM

Вывод, приведенный выше, показывает, что у нас доступно 1809 цилиндров (9729 — 7920 = 1809), и мы можем выполнить вычисление (1809 * 16065 * 512) = 14879531520байтов, что примерно равно 14 гигабайтов.

Создание нового раздела

Следующий шаг — создание нашего нового раздела. Для примера, мы создадим раздел с типом «Linux» и размером 1 гигабайт. Мы используем команду «n » для создания нового раздела. Нас спросят, с какого цилиндра будет начинаться раздел (я советую оставить по умолчанию) и необходимый размер раздела:

Command (m for help): n
First cylinder (7921—9729, default 7921):
Using default value 7921
Last cylinder or +size or +sizeM or +sizeK (7921—9729, default 9729): +1024M

После того, как раздел будет создан, мы, используя команду «p », можем отобразить на экране нашу новую таблицу раздела:

Command (m for help): p

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 1402 11261533+ 7 HPFS/NTFS
/dev/sda2 1403 1415 104422+ 83 Linux
/dev/sda3 1416 1546 1052257+ 82 Linux swap / Solaris
/dev/sda4 1547 9729 65729947+ 5 Extended
/dev/sda5 1547 7920 51199123+ 8e Linux LVM
/dev/sda6 7921 8045 1004031 83 Linux

Запись нового раздела на диск

Теперь, когда раздел был успешно создан, вы можете записать изменения на диск, нажав клавишу «w », а затем Enter:

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.

Активирование вновь созданного раздела

Как только новая таблица раздела записана на жесткий диск, ядро имеет возможность читать новую таблицу раздела без необходимости перезагрузки. Первый шаг — создание точки монтирования для нового раздела, в нашем примере мы будем использовать /media/newpart , а также использование команды «partprobe » для того, чтобы ядро имело возможность перечитать таблицу раздела:

Linux-1reo:~ # mkdir /media/newpart
linux-1reo:~ # partprobe

Теперь, когда новая точка монтирования создана и ядро перечитало таблицу раздела, вы можете отформатировать раздел и разместить на нем файловую систему на ваш выбор (ext2, ext3, reiserfs и т.д.). В нашем примере, мы выбрали reiserfs:

linux-1reo:~ # mkfs.reiserfs /dev/sda6
mkfs.reiserfs 3.6.19 (2003 www.namesys.com)

A pair of credits:
The Defense Advanced Research Projects Agency (DARPA, www.darpa.mil) is the
primary sponsor of Reiser4. DARPA does not endorse this project; it merely
sponsors it.

Alexander Lyamin keeps our hardware running, and was very generous to our
project in many little ways.

Guessing about desired format... Kernel 2.6.16.21−0.8-default is running.
Format 3.6 with standard journal
Count of blocks on the device: 126496
Number of blocks consumed by mkreiserfs formatting process: 8215
Blocksize: 4096
Hash function used to sort names: "r5″
Journal Size 8193 blocks (first block 18)
Journal Max transaction length 1024
inode generation number: 0
UUID: e20e2dc1−7277−4ab1−930c-038e54548540
ATTENTION: YOU SHOULD REBOOT AFTER FDISK!
ALL DATA WILL BE LOST ON ‘/dev/sda3′!
Continue (y/n):y
Initializing journal — 0%….20%….40%….60%….80%….100%
Syncing...ok
ReiserFS is successfully created on /dev/sda3.
linux-1reo:~ #

Как только размер будет отформатирован, вы можете примонтировать и использовать ваш вновь созданный раздел:

linux-1reo:~ # mount /dev/sda6 /media/partnew

Заключение

После монтирования созданного и отформатированного раздела вы можете хранить ваши файлы на этом разделе безо всяких пробле, вы можете также добавить ваш новый раздел в файл /etc/fstab для того, чтобы ваш раздел монтировался после каждой перезагрузки.

Протестировано на:

Для установки Windows достаточно просто выбрать раздел диска. Система сама его отформатирует и установит туда все файлы. Но Linux позволяет намного гибче настроить расположение системы и ее файлов. Во время установки вы можете разместить различные папки с системными или пользовательскими файлами на разных разделах.

Это очень интересная функция, повышающая надежность системы, а также удобство ее использования. Наша сегодняшняя статья ориентирована на новичков, мы рассмотрим как нужно выполнять разбивку диска для установки linux. Поговорим зачем это нужно, какие размеры для разделов выбирать и так далее.

Начнем с того, что в Linux не существует дисков, таких какими мы их знаем в Windows. Здесь все намного более прозрачно. Есть разделы диска, а также существует одна корневая файловая система.

В качестве корневой файловой системы подключается выбранный вами для этого раздел, а уже к нему, в подкаталоги подключаются другие разделы. Сюда же подключаются флешки, DVD диски и другие внешние носители. Например, раздел загрузчика подключается в /boot, в качестве /sys, /proc, /dev подключаются виртуальные файловые системы ядра, а в качестве /tmp присоединяется оперативная память.

Но для пользователя все это выглядит как единая файловая система. Складывается впечатление, что все файлы находятся на корневом разделе, а не раскиданы по нескольким. Вообще говоря, можно установить Linux на один раздел, не разбивая файловую систему, но так делать не рекомендуется, ниже мы рассмотрим почему.

Зачем так делать?

У каждого из разделов своя задача. Разбивка диска для linux между несколькими разделами изолирует их один от другого. Если на одном разделе, например, домашнем закончится место, то система все еще сможет нормально работать, потому что это никак не касается корневого раздела.

Вынесение домашнего раздела также очень полезно при переустановках. Так вы сможете переустановить систему но сохранить все свои данные. Или же еще можно использовать одного пользователя в нескольких системах.

Загрузчик выносится на отдельный раздел, если файловая система вашего корневого раздела не поддерживается Grub, например, если вы используете Btrfs, xfs и т д. Также такая разбивка диска на разделы linux нужна если вы применяете технологию LVM или шифрование. Кроме того, загрузчик быстрее обнаружит свои файлы, если они будут на небольшом разделе в начале диска, а не где-то в дебрях много - гигабайтовой файловой системы.

На серверах иногда выделяются разделы /var и /usr. Это нужно опять же для изоляции и безопасности, например, вы можете запретить с помощью опции монтирования выполнение файлов с раздела /var.

Разбивка диска для Linux

В стандартной разбивке диска для Linux используется четыре раздела:

  • / - корень, основной раздел для файловой системы;
  • /boot - файлы загрузчика;
  • /home - раздел для файлов пользователя;
  • swap - раздел подкачки, для выгрузки страниц из оперативной памяти, если она будет переполнена.

Все что здесь перечислено кроме swap - это точки монтирования в файловой системе. Это значит, что указанные разделы, будут подключены в соответствующие папки в файловой системе.

Сейчас мы не будем рассматривать как выполняется разбивка диска для установки linux на практике. Все это делается в установщике в пару кликов. Но более детально остановимся на файловых системах и их размерах, чтобы вы точно знали какие значения выбирать.

Раздел /boot

Разбивка жесткого диска linux начинается с создания этого раздела. Здесь все очень просто. На этом разделе размещаются файлы настройки и модули загрузчика, которые считываются при старте Grub, а также ядро и initrd образ. Эти файлы занимают не так много пространства, около 100 Мегабайт, но в некоторых дистрибутивах здесь могут размещаться еще и темы Grub, а также со временем будут накапливаться старые версии ядер, так что лучше запастись местом и выделить 300 Мегабайт. Этого будет вполне достаточно.

Что касается файловой системы, то нам нужна самая быстрая и простая. Задача этого раздела сводится к тому, чтобы как можно быстрее выдать файлы во время загрузки. Журналирование здесь не нужно, поскольку оно только замедлит загрузку, а файлы изменяются очень редко. Поэтому наш выбор ext2.

Раздел /

Это главный раздел вашей системы. На нем будут находиться все системные файлы, и к нему будут подключаться другие разделы. Сюда же мы будем устанавливать все свои программы и игры.

Учитывая все это нужно выделить достаточное количество места. Минимальные требования, чтобы вместились все файлы из установочного диска - 8 Гигабайт. Но когда вы установите все нужные вам программы система начнет занимать около 20 Гигабайт (это без игр). С каждым обновлением размер системы будет еще увеличиваться на 200-500 мегабайт. А теперь добавьте сюда игры. Если возьмете 50 Гигабайт под корень - не ошибетесь.

Файловая система должна быть стабильной, потому что в инном случае вы рискуете потерять всю систему при неудачном выключении компьютера. А поэтому нам нужна журналируемая файловая система. Можно брать ext4, resierfs или btrfs. Сейчас последняя стала заметно стабильнее. Но строго не рекомендуется брать что-то вроде XFS, потому что она очень чувствительна к сбоям.

Но нельзя использовать ntfs или fat. Дело в том, что ядро использует некоторые особенности файловых систем для правильной работы, например, жесткие ссылки на конфигурационные файлы или система inotify для уведомления об изменениях в файловой системе. А эти файловые системы таких функций не поддерживают.

Раздел swap

Это раздел подкачки, куда будут отправляться неиспользуемые страницы памяти, если она переполнена. Также сюда записывается все содержимое памяти когда компьютер уходит в режим сна или гибернации. Конечно, раздел swap может быть размещен в виде файла на диске, как и в WIndows, но так будет работать быстрее. Размер рассчитывается очень просто, он должен быть равным количеству оперативной памяти. Файловая система специальная - swap.

Домашний раздел - /home

Это раздел для ваших файлов. Здесь будут ваши загрузки, документы, видео, музыка, а также настройки программ. Тут мало места быть не может поэтому берем все оставшееся. Файловая система так же как и для корня нужна стабильная и быстрая. Можно брать ту же ext4 или btrfs, или даже xfs, если вы уверенны что неожиданных сбоев и отключений питания быть не должно. разметка диска для linux для этого раздела выполняется в последнюю очередь.

Динамическое изменение размера разделов

Очень часто бывает, что разметка диска для установки linux уже выполнена система установлена и нормально работает, а через некоторое время мы понимаем, что места под тот или иной раздел было выделено мало. В таких случаях нас ждет долгая переразметка или даже полное удаление разделов, если вы сразу не предвидели такой вариант.

Во-первых, можно создать резервный раздел, после того, для которого в будущем может потребоваться много места, оставить 10 Гб про запас, чтобы потом не было проблем, не такая уж плохая идея.

Во-вторых, можно использовать . Это виртуальная прослойка для работы с дисками в Linux, позволяющая динамически изменять размер разделов независимо от свободного места после и до них.

Выводы

Теперь вы знаете как выполняется разбивка диска linux и сможете справиться этой задачей. Правильная разбивка сэкономит вам потом очень много времени. Если у вас остались вопросы, спрашивайте в комментариях!

В этой небольшой заметке я покажу на практическом примере, как работать с дисками в Linux.

Активация диска в Linux

Предположим вы подключили новый диск, на котором ещё нет файловой системы. Система его не видит и нам нужно выполнить команды для его подключения.

Скажу сразу, все описанные здесь действия можно выполнять в командах с графическим интерфейсом. Я же буду размечать и форматировать диски в командной строке — это более универсальный способ, так как позволяет настроить диски и разделы даже в операционных системах, на которых нет графического окружения.

При подключении нового диска нам нужно:

  • разметить его на разделы
  • отформатировать каждый раздел для создания файловой системы
  • смонтировать диск для возможности записи и чтения данных
  • настроить автоматическое монтирование при включении компьютера

Как узнать имена дисков, как просмотреть все диски в системе

Начать нужно с того, чтобы узнать имя диска, который мы будем изменять. В Linux совсем непохожая на Windows система обозначения дисков. Вместо привычных дисков C, D, E и так далее, в Linux диски это устройства в папке /dev/ . В dev вообще все возможные устройства, даже весьма экзотические, не существующие в Windows.

Чтобы посмотреть доступные диски, выполните команду:

Sudo fdisk -l

Как видно из скриншота, имеется диск /dev/nvme0n1 . Затем перечислены два устройства /dev/nvme0n1p1 и /dev/nvme0n1p2 . По совпадающему части названия nvme0n1 можно понять, что это разделы, на которые разделён диск /dev/nvme0n1 .

Также имеется диск /dev/sda , который не разделён ни на какие разделы — именно его я и буду подключать.

Разметка дисков (разделение на разделы) в Linux

В консоли диск можно разбить на разделы командой cfdisk . После неё укажите имя диска, с которым вы хотите выполнить действия:

Sudo cfdisk /dev/sda

Диск может быть GPT или MBR (показывается как dos ). Вы без труда найдёте множество информации об этих таблицах разделов в Интернете. Только отмечу, что GPT является более современной и имеет больше возможностей. Поэтому если не нужно работать со старым железом, которое понимает только MBR, то выбираем GPT.

Для создания диска выберите Новый :

Введите его размер.

Если нужно, поменяйте тип раздела:

Затем переместитесь вниз на свободное место и повторяйте эти действия по созданию разделов. Когда закончите, выберите Запись .

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

Для форматирования в ext4 :

Sudo mkfs.ext4 /dev/имя_раздела

Для форматирования в ext3 :

Sudo mkfs.ext3 /dev/имя_раздела

Для форматирования в ext2 :

Sudo mkfs.ext2 /dev/имя_раздела

Для форматирования в FAT32 :

Sudo mkfs.fat -F32 /dev/имя_раздела

Мой пример (я не стал разбивать диск на разделы):

Sudo mkfs.ext4 /dev/sda

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

Монтирование и размонтирование дисков

С дисками в /dev/ нельзя работать напрямую, то есть нельзя на них записывать файлы или копировать с них файлы. Для работы с ними их нужно смонтировать. Это делается командой mount .

Диск подключается к точке монтирования и уже в этой папке можно работать с содержимом диска.

Эта концепция может показаться непривычной пользователям Windows, но это очень удобно! Диск можно смонтировать в любую папку. Например, домашняя папка может быть на другом диске — удобно при переустановке системы — данные не нужно копировать в безопасное место, поскольку они уже на другом диске.

Для монтирования используется команда вида:

Sudo mount /dev/имя_раздела /точка/монтирования/

Допустим, я хочу, чтобы новый диск был подключён (смонтирован) к папке /mnt/disk_d . Название можно выбрать любое и точка монтирования необязательно должна быть в директории /mnt/ – можно сделать в домашней папке или в любой другой.

Начинаем с создания директории, в которую будет смонтирован диск:

Sudo mkdir /mnt/disk_d

Монтируем:

Sudo mount /dev/sda /mnt/disk_d

Разрешаем доступ всем в этот диск, чтобы обычный пользователь также мог смотреть и записывать туда файлы:

Sudo chmod 0777 /mnt/disk_d

На самом деле, права доступа можно настроить более тонко — без полного разрешения для всех.

Для размонтирования диска используется любая из двух команд:

Sudo umount /dev/имя_раздела

Sudo umount /точка/монтирования/

Автоматическое монтирование диска при загрузке Linux

Диски для монтирования при запуске Linux прописаны в файле /etc/fstab .

Допустим, я хочу при загрузке монтировать диск /dev/sda в директорию /mnt/disk_d/ . При этом я хочу чтобы диск был доступен для чтения и записи пользователем. Тогда я создаю каталог — точку монтирования:

Sudo mkdir /mnt/disk_d

Открываю файл /etc/fstab :

Sudo gedit /etc/fstab

и дописываю туда следующую строчку:

/dev/sda /mnt/disk_d ext4 rw,relatime 0 0

В этой строке вам нужно заменить

  • /dev/sda — на диск, который вы желаете смонтировать
  • mial — на имя вашего пользователя
  • /mnt/disk_d — на вашу точку монтирования, которую вы выбрали для своего диска.
  • ext4 — на файловую систему вашего диска

Если вы не уверены в файловой системе или её обозначении, то выполните команду:

Lsblk -f

В результате диск будет автоматически монтироваться при каждом старте системы.

Чтобы ваш пользователь имел доступ к этой папке без необходимости повышать свои привилегии, выполните команду:

Sudo chown -R $USER /mnt/disk_d

Можно более тонко настроить права доступа — например, создав группу, только члены которой будут иметь доступ к диску.

Обратите внимание, что если вы что-то неправильно сделали в файле /etc/fsta , то система не сможет загрузиться в графический интерфейс и вам придётся всё исправлять из консоли. Ссылка на дополнительную инструкцию в конце этой статьи.

Подключение съёмного носителя (флешки, внешнего диска) в Linux

Между прочим, многие дистрибутивы Linux при подключении USB флешки или внешнего диска автоматически их монтируют. Автоматическое монтирование обычно является функцией окружения рабочего стола. То есть на одном и том же дистрибутиве Linux, но с разными рабочими столами (версии Linux Mint как пример) автомонтирование может иметься или отсутствовать.

Если этого не произошло, значит нужно смонтировать вручную. Этот процесс ничем не отличается от обычного монтирования дисков: также создайте точку монтирования и используйте команду mount .

Съёмные носители можно монтировать через /etc/fstab , для этого даже есть специальная опция nofail — игнорировать ошибки, если диск отсутствует.

Как просмотреть все диски и точки монтирования

Для этого используйте уже знакомую нам команду:

Как удалить разделы диска

Если вы хотите удалить всё содержимое диска, в том числе его разбивку на разделы, то это делается так:

Откройте диск в gdisk :

Gdisk /dev/диск

Для перехода в экспертный режим там введите

Затем для удаления GPT введите

Дважды согласитесь, чтобы полностью очистить диск.

Перемонтирование диска с правами записи

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

Sudo mount -rw -o remount /dev/sdb1

В ней /dev/sdb1 замените на имя вашего раздела.

Если вы столкнулись с ошибкой:

Mount: /run/media/mial/Новый том: /dev/sdb1 is write-protected but explicit read-write mode requested.

То нужно выполнить команду (замените /dev/sdb1 на ваш раздел):

Sudo hdparm -r0 /dev/sdb1

Пример вывода:

/dev/sdb1: setting readonly to 0 (off) readonly = 0 (off)

После этого перемонтируйте диск.

Обратите внимание , что если вы монтируете диск с файловой системой NTFS, то у вас должен быть установлен пакет ntfs-3g, иначе что бы вы не делали, диск будет только для чтения.

Заключение

Если у вас ещё остались вопросы, то задавайте их в комментариях.

Ещё несколько советов и проблемных случаев рассмотрено в статье «Работа с дисками в BlackArch (монтирование, решение проблем) » – эта статья подходит для всех дистрибутивов, не только BlackArch.

fdisk - общее название системных утилит для управления разделами жёсткого диска. Широко распространены и имеются практически в любой операционной системе, но работают по-разному. Используют текстовый интерфейс пользователя.

Предупреждение : Не создавайте, не удаляйте и не изменяйте разделы, если вы не знаете, что вы делаете!

Утилита FDISK в Unix/Linux

С FDISK утилитой можно просматривать, создавать, изменять размер, удалять, копировать и перемещать разделы на жестком диске. И я приведу наглядные примеры по использованию.

Просмотр разделов в Unix/Linux

Начнем с самого легкого — просмотра разделов. Используйте опцию «-l» с командой FDISK, для просмотра доступных разделов в Linux (в Unix системах — данная опция может не сработать. Проверялось на Mac OS X). Все имеющиеся разделы в линукс отображаются по имени их устройства. Например: /dev/sda, /dev/sdb или /dev/sdc.

И так, запустим команду:

Вывод получаем следующий:

Можно узнать некоторую полезную информацию по конкретному блочному устройству. Например, следующая команда отобразит все разделы для /dev/sda:

Если у Вас есть разные названия устройств, простое имя устройства записи как /dev/sdb или /dev/sdc и так далее.

Вывод доступных команд по FDISK

Если вы хотели бы просмотреть все команды, которые доступны для FDISK, то просто используйте следующую команду, упомянув название жесткого диска, например /dev/sda, как показано ниже:

вывод все доступных команд для FDISK например для /dev/sda

Введите ‘m’, чтобы увидеть список всех доступных команд по FDISK, которые помогут с работой по жесткому диску /dev/sda. После, ввода ‘m’ на экране, вы увидите все доступные параметры для FDISK которые можете использовать для устройства /dev/sda (данное устройство взято как пример):

ПРЕДУПРЕЖДЕНИЕ: DOS-совместимый режим не рекомендуется. Настоятельно рекомендуется
выключить режим (команда ‘c’) и изменить units для сектора (команда ‘u’).

Допустимые опции при работы с fdisk

  • a:- Данная опция служит для переключение загрузочного флага.
  • b:- Данная опция служит для редактирования BSD метки диска.
  • c:- Данная опция служит для переключения флага совместимости дос.
  • d:- Данная опция служит для удаления раздела.
  • g:- Данная опция служит для создания новой, пустой таблицы разделов GPT.
  • G:- Данная опция служит для создание таблицы разделов IRIX (SGI).
  • l:- Данная опция служит для вывода известных типов разделов (Linux swap, Linux, GPT, Solaris и так далее).
  • m:- Данная опция служит для вывода доступных команд (меню).
  • n:- Данная опция служит для добавления нового раздела.
  • o:- Данная опция служит для создание новой пустой таблицы разделов DOS.
  • p:- Данная опция служит для вывода таблиц разделов.
  • q:- Данная опция служит для выхода из меню но без какого-либо сохранения изменений.
  • s:- Данная опция служит для создания новой и пустой Sun метки диска (disklabel).
  • t:- Данная опция служит для изменения типа «System ID» раздела (взять можно с вывода «l» опции).
  • u:- Данная опция служит для изменения блоков отображения/ввода.
  • v:- Данная опция служит для проверка таблиц разделов.
  • w:- Данная опция служит для записи всего измененного и потом выйти.
  • x:- Данная опция служит для вызова дополнительной функциональности (только для экспертов).

Вывод всех партиций (разделов) в Unix/Linux

Чтобы вывести таблицу разделов вашего блочного устройства, используйте:

# fdisk /dev/sda

После чего, вы попадаете в меню (в нем можно проводить различные операции с разделами), нас интересует только просмотр, по этому — вводим «p» опцию:

Создать таблицу разделов (disklabel) в Unix/Linux

Если имеется пустое блочное устройство и вы хотите на нем сделать разметку для установки будущей ОС, то для начала, стоит выбрать будущую разметку.

Приеду основные таблицы для разметки:

  • MBR (msdos)

Чтобы создать таблицу разделов вашего блочного устройства, используйте:

# fdisk /dev/sda

Данным действием было выбрано блочное устройство /dev/sda и чтобы создать на нем новую таблицу разделов, используем одну из опций:

  • g — Чтобы создать новую, пустую таблицу GPT разделов.
  • o — Чтобы создать новую, пустую таблицу DOS разделов.

И переходим к созданию разделов.

Создать новый раздел в Unix/Linux

И так, допустим у вас есть свободное место на одном из устройств (у меня это /dev/sda) и вам необходимо создать новый раздел (например для установки ОС). Тогда вы должны запустить утилиту следующим образом (Введите следующую команду, чтобы войти в режим управления конкретного блочного устройства):

# fdisk /dev/sda

После входа в командный режим нажмите «n», чтобы создать новый раздел в /dev/sda с определенным размером.

После нажатия «n», вас просят выбрать тип будущего раздела:

  • p — Для «primary», т.е создать первичный раздел.
  • e — Для «extended», т.е создать расширенный раздел.

Хочу отметить следующее, что «primary» разделов можно создать до 4-х штук, а все остальные будут «extended» (т.е расширенными разделами). Т.к у меня — это всего лишь 1-й раздел, то я выбираю опцию «p». Как я сказал ранее, это мой первый, первичный раздел и для него, я должен указать номер (номер партиции), логично указать 1 (Но можно выбрать 1-4, т.к всего 4). Для создания полноценного раздела, необходимо указать сектор (начало позиции цилиндра для создаваемого раздела), мне подсказывают что это будет — 2048 (выбрал стандартное значение), а так же, нужно указать где будет заканчиваться данный сектор (конец позиции цилиндра для создаваемого раздела) — мне предлагают указать стандартное значение, но оно мне не подходит, т.к оно создаст 1 раздел максимальной длины (у меня это 21 Гб — тестовая машина). На данном этапе, можно указывать конец сектора в килобайтах (K), мегабайтах (M), гигабайтах (G). Предположим, я хочу создать 1-й раздел 5Гб, тогда я должен прописать «+5G» (или «+5000M» и так далее).

Можно еще создать несколько разделов. Действия будут какие же.

Пожалуйста, имейте в виду, что после создания нового раздела, вы должны запустить (выполнить) команду ‘w’, чтобы все действия сохранились. Ну а после чего, выполнить перезапуск ОС, чтобы убедиться что создался раздел.

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

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

Я буду использовать утилиту «mkfs для форматирования раздела. Данная утилита поддерживает следующие ФС:

  • ext2: # mkfs.ext2 /dev/sda1
  • ext3: # mkfs.ext3 /dev/sda4
  • ext4: # mkfs.ext4 /dev/sda4
  • fat: # mkfs.fat /dev/sda4
  • minix: # mkfs.minix /dev/sda4
  • msdos: # mkfs.msdos /dev/sda4
  • vfat: # mkfs.vfat /dev/sda4
  • xfs: # mkfs.xfs /dev/sda4

Выбираем тип ФС и переходим к фармотированию.

Проверить размер раздела в Unix/Linux

После форматирования нового раздела, проверить размер раздела можно с помощью флага «s» и команды FDISK. Таким образом, вы можете проверить размер любого конкретного устройства. Например:

# fdisk -s / dev/sda3 5285413

Размер отображается в блоках.

Для вывода в гигабайтах (Гб), используйте:

# echo "`fdisk -s /dev/sda2`/(2^20)" | bc # echo "`fdisk -s /dev/sda1`/(2^20)" | bc # echo "`fdisk -s /dev/sda`/(2^20)" | bc

Выглядит юзабельно.

Включение/Выключение загрузки флага (*) из раздела в Unix/Linux

При разметке, я обычно выделяю 100мб для раздела, в котором будет хранится загрузчик. И для этой цели, необходимо указать что именно с него будет выполнятся загрузка. И по этому, нужно указать нужный из разделов. Начнем:

# fdisk /dev/sda

Первым шагом, будет просмотр имеющихся разделов, чтобы увидеть текущую таблицу разделов. Как вы помните — это «p» опция. У меня на скриншоте ниже, видно что загрузочный раздел на / dev/sda1 диске (вы видите, что это флаг загрузки — звездочка ‘*’), как показано ниже:

Затем введите ‘а’ опцию, чтобы отключить флаг загрузки. Нам предлагают выбрать номер раздела где будет убрана загрузка (я выбираю ‘1 ‘ т.е. / dev/sda1). Это отключит флаг загрузки на разделе / ​​dev/sda1:

Чтобы включить флаг с загрузки, используем «a» опцию. После того как нажали, необходимо будет ввести номер раздела который будет загружаться (например 1-й) и сново вернули все на места.

Удалить раздел в Unix/Linux

Если вы хотели бы удалить определенный раздел (т.е. /dev/sda4) от конкретного блочного устройства (например — /dev/sda). Вы должны выполнить:

# fdisk /dev/sda

Затем, введите ‘d’ — чтобы войти в меню удаления разделов. После ввода, просят ввести номер раздела, который я хочу удалить. Предположим, мне нужно удалить 4-й раздел, то я ввожу «4». Все, раздел был удален. Вводим ‘w’ для записи всех изменений! Новые изменения будут работать только после следующей перезагрузки системы. Это можно легко понять из приведенного ниже вывода.

Предупреждение: Будьте осторожны, выполняя этот шаг, потому что с помощью опции ‘d’ полностью удалит раздел из системы и вы можете потерять все данные с разделе!

Использование fdisk в bash скриптах

Если хорошо знаешь команды, то можно написать небольшой баш-скрипт или просто использовать данную конструкцию в шеле оболочки, который эмулировал бы работу пользователя:

Fdisk /dev/hda << EOF n p 1 a 1 t c w EOF

Я не буду объяснять что делает данные буквы, т.к я описывал все опции выше.

Тема «Как использовать команду FDISK на Linux», я старался изо всех сил рассказать почти о всех основных командах fdisk, но все еще FDISK содержит множество других команд вы можете использовать их, введя «х». Для получения более подробной информации, введите команду ‘man Fdisk «в терминала.

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

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

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

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

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

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

new_home

по опыту в повседневной работе система не требует более 1Гб оперативной памяти, значит если у вас установлено 4 и более Гб оперативной памяти, то для целей подкачки SWAP не нужен