Лекция №18 - команда fdisk

Прошлая лекция была посвящена жестким дискам в целом и в Linux в частности. Сегодня мы поговорим о том как разбить жесткий диск на разделы, как отформатировать раздел и какие есть файловые системы. Для того чтобы создать разделы на новом диске нам вполне подойдет команда fdisk. Команда fdisk существует во всех дистрибутивах Linux, поэтому является в этом смысле универсальным инструментом. Команда fdisk умеет создавать и удалять разделы диска, но не умеет изменять размеры существующих разделов. Если есть раздел А и Б одинакового размера и необходимо увеличить раздел А за счет раздела Б, то команда fdisk не сможет сделать это “на лету”. Придется сохранить всю информацию, удалить разделы А и Б, и затем создать новые разделы А и Б с нужными размерами.

Пусть у нас есть чистый неотформатированный жесткий диск /dev/sdc, который нам нужно разбить для установки системы Linux. Запустим программу fdisk с параметром /dev/sdc. Работать в программе fdisk необходимо от имени суперпользователя.

igor@adm-ubuntu:~/linux$ sudo fdisk /dev/sdc

Количество цилиндров для этого диска установлено в 19457.
С этим все в порядке, но значение больше, чем 1024,
и в отдельных установках могут возникнуть проблемы с:
1) программами, запускаемым при загрузке (напр., старые версии LILO)
2) загрузкой и программами разметки из других ОС
(напр., DOS FDISK, OS/2 FDISK)

Команда (m для справки):

По этой команде мы начинаем работу с нашим жестким диском в интерактивном режиме. Подсказка сообщает нам, что необходимо нажать m для справки. Нажимаем клавишу m и видим перечень основных команд:

Действие команды
a переключение флага загрузки
b редактирование метки диска bsd
c переключение флага dos-совместимости
d удаление раздела
l список известных типов файловых систем
m вывод этого меню
n добавление нового раздела
o создание новой пустой таблицы разделов DOS
p вывод таблицы разделов
q выход без сохранения изменений
s создание новой чистой метки диска Sun
t изменение id системы раздела
u изменение единиц измерения экрана/содержимого
v проверка таблицы разделов
w запись таблицы разделов на диск и выход
x дополнительная функциональность (только для экспертов)

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

Диск /dev/sdc: 160.0 ГБ, 160041885696 байт
255 heads, 63 sectors/track, 19457 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0×28f12a69

Устр-во Загр Начало Конец Блоки Id Система

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

5 - расширенный
82 - Linux swap
83 - Linux (ext2/ext3/ext4)

Начнем создавать разделы. Пусть у нас будет 5 разделов. Первый раздел будем размером 200 Мб, и на нем будет храниться каталог /boot. Далее будет идти раздел куда будет установлена остальная часть операционной системы Linux (выделим 20 Гб), далее раздел swap (2 Гб), далее расширенный раздел, который будет разделен на два одинаковых раздела.

Для того чтобы создать раздел необходимо нажать на клавишу n:

Команда (m для справки): n
Действие команды
e расширенный
p основной раздел (1-4)

fdisk спрашивает какой раздел мы хотим создать: расширенный или основной. Нам нужен основной раздел, поэтому нажимаем p и Enter

Номер раздела (1-4):

Далее необходимо указать номер раздела, чтобы программа fdisk знала в какой раздел таблицы разделом MBR записать информацию о разделе. Вариантом может быть всего четыре (по количеству разделов). Будем указывать по порядку, поэтому нажимаем 1 и Enter

Первый цилиндр (1-19457, по умолчанию 1):

Далее fdisk просит указать с какого цилиндра будет начинаться раздел и предлагает по умолчанию первый цилиндр, то есть самое начало нашего диска. Соглашаемся и ничего не вводя, нажимаем Enter

Last цилиндр, +цилиндры or +size{K,M,G} (1-19457, по умолчанию 19457):

Далее нам необходимо указать какой размер будет у раздела. Размер можно указывать либо в цилиндрах (что для нас не очень удобно), либо в кило-, мега-, гигабайтах, что гораздо удобнее. Наш первый раздел будет 200 Мб, поэтому набираем +200M и нажимаем Enter. Создание раздела закончено, нажмем p, чтобы проверить это:

Команда (m для справки): p

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdc1 1 26 208813+ 83 Linux

Видим, что раздел создан. Создаем таким же образом еще два основных раздела. После этого нажимаем p, чтобы проверить разделы:

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdc1 1 26 208813+ 83 Linux
/dev/sdc2 27 2638 20980890 83 Linux
/dev/sdc3 2639 2900 2104515 83 Linux

Четвертый раздел создаем расширенный. После того как выберем нажав на e - тип расширенный далее нажимаем Enter принимая все значения по умолчанию. Таким образом мы выделим под расширенный раздел все оставшееся пространство:

Команда (m для справки): n
Действие команды
e расширенный
p основной раздел (1-4)
e
Выбранный раздел 4
Первый цилиндр (2901-19457, по умолчанию 2901):
Используется значение по умолчанию 2901
Last цилиндр, +цилиндры or +size{K,M,G} (2901-19457, по умолчанию 19457):
Используется значение по умолчанию 19457

Теперь начнем создавать логические разделы на нашем расширенном разделе. Снова нажимаем n и видим, что теперь уже программа fdisk работает только с расширенным разделом:

Первый цилиндр (2901-19457, по умолчанию 2901):

Процесс создания логических разделов ничем не отличается от процесса создания основных разделов. В итоге получаем следующую картину по разделам:

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdc1 1 26 208813+ 83 Linux
/dev/sdc2 27 2638 20980890 83 Linux
/dev/sdc3 2639 2900 2104515 83 Linux
/dev/sdc4 2901 19457 132994102+ 5 Расширенный
/dev/sdc5 2901 11179 66501036 83 Linux
/dev/sdc6 11180 19457 66493003+ 83 Linux

Раздел /dev/sdc3 у нас должен быть отформатирован как swap-раздел. Поэтому нам необходимо внести изменения в тип файловой системы раздела /dev/sdc3. Дла этого нажимаем t, затем выбираем раздел и указываем идентификатор нового типа раздела (для swap - это 82):

Команда (m для справки): t
Номер раздела (1-6): 3
Шестнадцатеричный код (введите L для получения списка кодов): 82
Системный тип раздела 3 изменен на 82 (Linux своп / Solaris)

Точно таким же образом можно изменить типы файловых систем на других разделах. Проверяем разделы командой p :

Устр-во Загр Начало Конец Блоки Id Система
/dev/sdc1 1 26 208813+ 83 Linux
/dev/sdc2 27 2638 20980890 83 Linux
/dev/sdc3 2639 2900 2104515 82 Linux своп / Solaris
/dev/sdc4 2901 19457 132994102+ 5 Расширенный
/dev/sdc5 2901 11179 66501036 83 Linux
/dev/sdc6 11180 19457 66493003+ 83 Linux

Разделы созданы. Теперь внимание! Все манипуляции с жестким диском которые мы только, что делали пока сохранены в оперативной памяти и никаких изменений в жесткий диск внесено не было. Для того чтобы внести эти изменения нужно нажать на клавишу w (write). После этого изменения будут необратимыми. Если сейчас нажать вместо w на клавишу q, то утилита fdisk завершит свою работу и никакие изменения не будут применены.

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

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

igor@adm-ubuntu:~$ mkfs -t ext4 /dev/sda

Для наиболее часто используемых файловых систем есть команды вида mkfs.ext4, mkfs.ext3, mkfs.vfat и другие. То есть отформатировать раздел /dev/sda8 можно было бы командой: sudo mkfs.ext4 /dev/sda8.

Для того чтобы отформатировать раздел под swap-область нужно воспользоваться командой mkswap: mkswap /dev/sdc3. Для того чтобы подключит swap-раздел используется команда swapon. Для отключения swap-области существует команда swapoff. Чтобы swap-раздел подключался автоматически при загрузке системы, необходимо в файле /etc/fstab прописать соответствующую строку монтирования. Для того чтобы посмотреть используется ли в системе область подкачки (swap) можно использовать команду free:

igor@adm-ubuntu:~$ free
total used free shared buffers cached
Mem: 1024752 581616 443136 0 16888 158100
-/+ buffers/cache: 406628 618124
Swap: 1140544 1792 1138752

Видим, что в системе под область подкачки используется 1 Гб дискового пространства.

Для более сложных манипуляций с разделами диска (изменение размера разделов диска без потери информации), можно воспользоваться командой parted, которая также по умолчанию входит в большинство дистрибутивов. Есть и графическая версия утилиты, которая называется gparted. На этом с разделами жесткого диска пока все. Полученной информации должно хватить для самостоятельной разбивки жесткого диска на нужное количество разделов.

Читать другие лекции по курсу Администратор ПК с Linux

Статьи и новости схожей тематики:

Комментариев: 2

  1. vladimir:

    а где же глава 17?

    Ответить

    Igorka Reply:

    Если речь идет о лекции № 17 то вот она http://igorka.com.ua/2009-11-21/lekciya-17-zhestkie-diski-v-linux/

    Ответить

Оставьте свой отзыв