Различия

Показаны различия между двумя версиями страницы.


Предыдущая версия
fdisk [2023/10/15 14:54] (текущий) darkfire
Строка 1: Строка 1:
 +====== Команды fdisk ======
 +
 +~~Title: Использование fdisk ~~
 +{{htmlmetatags>
 +metatag-description=(fdisk — общее название системных утилит для управления разделами жёсткого диска. Использование FDISK в Linux.)
 +}}
 +
 +{{ :hdd-cloak-01.jpg?nolink |}}
 +
 +**fdisk** — общее название системных утилит (sfdisk) для управления разделами жёсткого диска. Широко распространены и имеются практически в любой операционной системе, но работают по-разному. Используют текстовый интерфейс пользователя. В системе [[Linux]] можно запускать fdisk в интерактивном или командном режиме. При запуске нужно обязательно указывать устройство диска, например: /dev/hdb, /dev/sda и т. п. В отдельных случаях (при изменении раздела в командном режиме), потребуется указать раздел диска (например /dev/hda1).
 +|Команда|ОС|Описание|
 +^fdisk -l|Linux|Выведет информацию о всех подключееных HDD, в числе и Flash USB|
 +<code>
 +# fdisk -l
 +
 +Диск /dev/sda: 160.0 ГБ, 160041885696 байт
 +255 heads, 63 sectors/track, 19457 cylinders
 +Units = цилиндры of 16065 * 512 = 8225280 bytes
 +Disk identifier: 0xea89ea89
 +
 +Устр-во Загр     Начало       Конец       Блоки   Id  Система
 +/dev/sda1                    1216     9767488+  83  Linux
 +/dev/sda2            1217       19457   146520832+    Расширенный
 +/dev/sda5            1217        1459     1951866   82  Linux своп / Solaris
 +/dev/sda6            1460        2675     9767488+  83  Linux
 +/dev/sda7            2676        3891     9767488+  83  Linux
 +/dev/sda8            3892       19457   125033863+  83  Linux
 +
 +Диск /dev/sdb: 4026 МБ, 4026531840 байт
 +136 heads, 30 sectors/track, 1927 cylinders
 +Units = цилиндры of 4080 * 512 = 2088960 bytes
 +Disk identifier: 0x00081047
 +
 +Устр-во Загр     Начало       Конец       Блоки   Id  Система
 +/dev/sdb1                    1928     3932159+    W95 FAT32
 +</code>
 +
 +===== Использование fdisk =====
 +Обычно разбиение диска производится с помощью программы fdisk для [[Linux]], которая запускается на одном из этапов установки. Кроме этого, в современных дистрибутивах, пользователь может столкнуться со специальными мастерами(wizard), являющимися надстройками fdisk, и позволяющими графически представлять разбиение диска на разделы. Программа fdisk имеет интерфейс командной строки.
 +
 +После загрузки средств инсталляции выполните команду fdisk, напечатав
 +<code>
 +  fdisk <drive>
 +</code>
 +где <drive> имя устройства в Linux, которому вы хотите выделить раздел. Например, если вы хотите выполнить fdisk для первого IDE-диска, используйте команду fdisk /dev/hda. /dev/hda (первый IDE-диск) берется по умолчанию, если вы не описали другого.
 +<note important>Для современных [[HDD]] может понадобиться запуск с ключом -u, например fdisk -u /dev/sdb. Чтобы избежать ошибки "Partition 1 does not start on physical sector boundary."</note>
 +
 +Если вы создаете разделы для Linux более, чем на одном диске, выполните fdisk отдельно для каждого диска.
 +<code>
 +    # fdisk /dev/hda
 +    Command (m for help):
 +</code>
 +
 +В этот момент fdisk ждет команды; вы можете ввести m, чтобы получить перечень опций.
 +
 +<code>
 +    Команда (m для справки):  m
 +    Действия
 +    a установить признак загрузочного раздела
 +    d удалить раздел
 +    l показать список известных типов раздела
 +    m вывести это меню
 +    n добавить раздел
 +    p вывести таблицу разделов
 +    q выйти без сохранения изменений
 +    t сменить системный идентификатор раздела
 +    v проверить таблицу разделов
 +    w записать таблицу разделов на диск и выйти
 +    x дополнительные возможности(для опытных пользователей)
 +    Команда (m для справки):
 +</code>
 +
 +Для создания нового раздела используется команда n. О большинстве других опций вы можете не вспоминать. Выйти из программы fdisk, без сохранения произведенных изменений, можно командой q. Выйти из программы fdisk с записью изменений в таблице разделов можно командой w.
 +
 +Первое, что вы должны сделать, это получить и записать текущее состояние таблицы разделов. Используйте команду p.
 +<code>
 +    Command (m for help):  p
 +    Disk /dev/hda:  16 heads, 38 sectors, 683 cylinders
 +    Units = cylinders of 608 * 512 bytes
 +       Device Boot Begin Start End Blocks Id  System
 +    /dev/hda1          1   203  61693  6  DOS  16-bit >=32M
 +    Command (m for help):
 +</code>
 +Это пример, когда у нас один MS-DOS-раздел на /dev/hda1, который имеет 61693 блоков (около 60M - блок в Linux - 1024bytes). Этот раздел начинается на цилиндре 1 и заканчивается на цилиндре 203. Всего у нас на диске 683 цилиндров. Так что остается 480 цилиндров для создания раздела Linux.
 +
 +Для создания нового раздела используйте команду n. В этом примере мы создадим два новых первичных раздела (/dev/hda2 and /dev/hda3) для Linux.
 +<code>
 +    Command (m for help):  n
 +    Command action
 +    e extended
 +    p primary partition (1-4)
 +    p
 +</code>
 +Здесь fdisk спрашивает тип создаваемого раздела: extended (расширенный) или primary (первичный). В нашем примере мы создаем только первичный раздел, так что выбираем p.
 +
 +    Partition number (1-4):
 +
 +Затем fdisk спросит число создаваемых разделов; поскольку раздел 1 уже использован, наш первый раздел Linux получит номер 2.
 +
 +    Partition number (1-4):  2
 +    First cylinder (204-683):
 +
 +Теперь введите номер первого цилиндра раздела. Поскольку цилиндры с 204 по 683 не используются, мы используем первый свободный (номер 204). Нет смысла оставлять пустые места между разделами.
 +
 +    First cylinder (204-683):  204
 +    Last cylinder or +size or +sizeM or +sizeK (204-683):
 +
 +Программа fdisk запрашивает размер создаваемого раздела. Мы можем указать последний номер свободных цилиндров или размер в байтах, килобайтах или мегабайтах. Поскольку мы хотим, чтобы наш раздел был размером в 80M, мы укажем +80M. При указании размера раздела таким способом fdisk округлит действительный размер раздела до ближайшего числа цилиндров.
 +
 +    Last cylinder or +size or +sizeM or +sizeK (204-683):  +80M
 +    Warning:  Linux  cannot currently  use 33090  sectors of this
 +    partition
 +
 +Если вы увидите предупреждение, вроде этого, его можно проигнорировать. Программа fdisk выдает сообщение, поскольку это старая программа, написанная еще до того, когда в Linux были разрешены разделы более, чем 64M. Теперь мы готовы создать второй раздел для Linux. С целью демонстрации мы создадим его размером в 10M.
 +<code>
 +    Command (m for help):  n
 +    Command action
 +    e extended
 +    p primary partition (1-4)
 +    p
 +    Partition number (1-4):  3
 +    First cylinder (474-683):  474
 +    Last cylinder or +size or +sizeM or +sizeK (474-683):  +10M
 +</code>
 +Наконец, мы выдадим таблицу разделов. Вновь запишите всю информацию, особенно размеры в блоках ваших новых разделов. Вам потребуется знать размер разделов позже при создании файловой системы. Попутно проверьте, что разделы не накладываются друг на друга.
 +
 +    Command (m for help):  p
 +    Disk /dev/hda:  16 heads, 38 sectors, 683 cylinders
 +    Units = cylinders of 608 * 512 bytes
 +     Device Boot Begin Start  End  Blocks  Id  System
 +  /dev/hda1          1    203  61693    6  DOS  16-bit >=32M
 +  /dev/hda2      204   204    473  82080   81  Linux/MINIX
 +  /dev/hda3      474   474    507  10336   81  Linux/MINIX
 +
 +Как вы видите, теперь есть /dev/hda2 - раздел размером в 82080 блоков (что соответствует приблизительно 80M), и /dev/hda3 - 10336 блоков (около 10M).
 +
 +Имейте в виду, что много дистрибутивов требуют использования команды t в программе fdisk для изменения области своппинга "Linux swap", которая обычно имеет номер 82. Вы можете воспользоваться командой l для печати кодов типов известных разделов, а затем использовать t, чтобы установить тип области своппинга, соответствующий "Linux swap".
 +
 +При этом программы инсталляции смогут автоматически найти ваши разделы своппинга, основываясь на типе. Если ваши программы инсталляции не распознают области своппинга, вы можете снова запустить программу fdisk и использовать команду t в режиме вопросов.
 +
 +В вышеприведенном примере оставшиеся цилиндры диска (номера с 508 по 683) не использованы. Вы можете позже создать дополнительные разделы.
 +
 +Наконец, мы используем команду w, чтобы записать изменения и выйти из fdisk
 +
 +    Command (m for help):  w
 +    #
 +
 +Имейте в виду, что ни одно из сделанных изменений не даст эффекта то тех пор, пока вы не дадите команду w. Так что вы можете играть с различными конфигурациями и сохранить их, когда закончите. Кроме того, если вы захотите выйти из fdisk в любое время без сохранения изменений, используйте команду q.
 +
 +Не забывайте также, что вы не сможете загружать Linux с разделов, использующих номера цилиндров, превышающие 1023. Поэтому, вы должны попытаться создать корневой раздел Linux на цилиндрах до 1023-го. Но если это невозможно - загружайтесь с дискеты.
 +
 +Некоторые дистрибутивы Linux требуют перезагрузки системы после окончания работы fdisk. Это позволяет изменениям в таблице разделов оказать свое влияние на последующую инсталляцию. Новые версии fdisk автоматически изменяют соответствующую информацию в ядре, так что перезагрузка не требуется. Чтобы обезопасить себя, после выполнения fdisk вам следует снова загрузить средства инсталляции как и раньше - перед продолжением инсталляции.
 +
 +**Далее нужно отформатировать партиции** командой [[mkfs|mkfs]], например так:
 +<file bash>
 +mkfs -t ext3 /dev/hdb1
 +</file>
 +===== Расширение диска в Linux без потери данных при помощи fdisk =====
 +До внесения изменений, обязательно сделайте резервную копию (backup) всех данных сервера!
 +
 +Расширение будет выполнено без потери данных, инструкция пригодна для Debian, CentOS, Ubuntu и других ОС. Алгоритм увеличения диска подразумевает удаление раздела - не нужно этого бояться, данные будут сохранены.
 +
 +В нашем примере устройство называется vda и находится в каталоге /dev
 +
 +  - Необходимо узнать название устройства жесткого диска который мы хотим расширить. Делается это командой fdisk -l
 +  - Чтобы увеличить размер раздела (партиции, слайса) на диске, нам необходимо выполнить: fdisk /dev/vda
 +  - Затем внутри командной строки приложения fdisk выполнить p (print), чтобы увидеть таблицу разделов на диске.
 +  - Выполним d для удаления существующего раздела. Затем n – для создания нового, p – для primary, 1 – это номер раздела; и укажем начало и конец раздела в секторах. Начальный сектор должен соответствовать начальному сектору раздела, который был удален. Последний сектор раздела выбираем максимально возможным.
 +  - Еще раз p – чтобы убедиться, что раздел теперь увеличился до необходимого нам размера. И w – для записи и выхода из fdisk. После этого мы получим предупреждение, что устройство подмонтировано и суперблок недоступен, и что объем раздела будет изменен после перезапуска ОС.
 +  - Перезагружаем ОС — reboot
 +  - После перезагрузки нам необходимо расширить ФС на весь раздел. Сделаем это командой resize2fs /dev/vda1
 +
 +
 +<panel type="primary" title="Читайте также">
 +  * [[rasshirenie_diska_ili_razdela]]
 +</panel>
  

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!