Программа fdisk была разработана для операционной системы. Утилиты разметки. fdisk. Использование fdisk в bash скриптах

Для Symbian 25.03.2019

За перевод этой части благодарим . Продолжение следует...

Об авторах

Daniel Robbins

Дэниэль Роббинс - основатель сообщества Gentoo и создатель операционной системы Gentoo Linux. Дэниэль проживает в Нью-Мехико со свой женой Мэри и двумя энергичными дочерьми. Он также основатель и глава Funtoo , написал множество технических статей для IBM developerWorks , Intel Developer Services и C/C++ Users Journal.

Chris Houser

Крис Хаусер был сторонником UNIX c 1994 года, когда присоединился к команде администраторов университета Тэйлора (Индиана, США), где получил степень бакалавра в компьютерных науках и математике. После он работал во множестве областей, включая веб-приложения, редактирование видео, драйвера для UNIX и криптографическую защиту. В настоящий момент работает в Sentry Data Systems. Крис также сделал вклад во множество свободных проектов, таких как Gentoo Linux и Clojure, стал соавтором книги The Joy of Clojure

  • блочные устройства
  • Добавить метки fdisk [-BIaipstu] [ -b загрузчик ] [-1234] [ диск ] fdisk -f файл_конфигурации [-itv] [ диск ]

    ПРОЛОГ Чтобы BIOS смог загрузить ядро, необходимо придерживаться определённых соглашений. Нулевой сектор диска должен содержать загрузочный код, таблицу слайсов и магическое число. Используя слайсы BIOS , диск может быть разбит на несколько частей. BIOS считывает нулевой сектор и проверяет магическое число. Затем загрузочный код из нулевого сектора проверяет таблицу слайсов, чтобы найти слайс, помеченный как "активный"". Затем он считывает программу начальной загрузки из активного слайса, и если слайс помечен как загрузочный, запускает её. В DOS может быть несколько слайсов, один из которых будет активным. Утилита fdisk для DOS позволяет разделить дисковое пространство на слайсы и пометить один из них как активный. ОПИСАНИЕ Утилита fdisk для служит тем же целям, что и аналогичная ей утилита для DOS. Первая форма вызова используется для вывода информации о параметрах слайсов или для её редактирования в интерактивном режиме. Вторая - для записи таблицы слайсов c использованием файла конфигурации файл_конфигурации ; она предназначена для использования другими сценариями или программами. fdisk поддерживает следующие опции: -a Только изменить активный слайс. Игнорируется в сочетании с опцией -f . -b загрузчик Использовать код загрузки из файла загрузчика. По умолчанию используется /boot/mbr . -B Изменить код загрузки в нулевом секторе диска. Игнорируется в сочетании с опцией -f . -f файл_конфигурации Установить параметры слайсов из файла файл_конфигурации . С помощью файла конфигурации меняются параметры только явно указанных слайсов, но если также указана опция -i, то перед чтением файла конфигурации все существующие слайсы удаляются (помечаются как неиспользуемые, "unused "). При указании "- " (знак минус) в качестве файла конфигурации будет использоваться стандартный ввод. Описание формата файла конфигурации смотрите ниже в секции ФАЙЛ КОНФИГУРАЦИИ .

    ПРЕДУПРЕЖДЕНИЕ: в отличие от интерактивного режима, при использовании опции -f изменения вносятся без запроса на подтверждение. Соблюдайте осторожность!
    -i Инициализировать нулевой сектор диска. Перед редактированием, существующие слайсы будут помечены как неиспользуемые ("unused "). (Сравните с опцией -u ). -I Инициализировать таблицу слайсов в секторе 0 одним слайсом FreeBSD на весь диск. -p Вывести таблицу слайсов в формате конфигурационного файла fdisk и выйти; см. ФАЙЛ КОНФИГУРАЦИИ ниже. -s Вывести краткую информацию и выйти. -t Режим тестирования: изменения на диск записываться не будут. Как правило, используется совместно с опцией -f чтобы узнать, что было бы записано в таблицу слайсов. Включает опцию -v . -u Редактировать таблицу слайсов диска в секторе 0. Игнорируется в сочетании с опцией -f . -v Выводить подробные сообщения. В сочетании с -f , fdisk печатает записываемую таблицу слайсов. -1234 Оперировать только с одним слайсом. Игнорируется в сочетании с опцией -f . В качестве аргумента диск допустимо указание как просто имени диска (например, da0 ), так и полного пути к нему. Если аргумент не указан, fdisk пытается определить имя диска по умолчанию по имени устройства, на котором находится корневая файловая система. При вызове без аргументов печатается таблица слайсов из сектора 0 . Выглядит примерно следующим образом: ******* Working on device /dev/ad0 ******* parameters extracted from in-core disklabel are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) parameters to be used for BIOS calculations are: cylinders=769 heads=15 sectors/track=33 (495 blks/cyl) Warning: BIOS sector numbering starts with sector 1 Information from DOS bootblock is: The data for partition 1 is: sysid 165,(FreeBSD/NetBSD/386BSD) start 495, size 380160 (185 Meg), flag 0 beg: cyl 1/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 2 is: sysid 164,(unknown) start 378180, size 2475 (1 Meg), flag 0 beg: cyl 764/ sector 1/ head 0; end: cyl 768/ sector 33/ head 14 The data for partition 3 is: The data for partition 4 is: sysid 99,(ISC UNIX, other System V/386, GNU HURD or Mach) start 380656, size 224234 (109 Meg), flag 80 beg: cyl 769/ sector 2/ head 0; end: cyl 197/ sector 33/ head 14 Диск поделён на три слайса, которые полностью его охватывают. Второй слайс частично перекрывается с концом первого. (Используется в целях отладки). sysid используется для маркировки слайсов. FreeBSD резервирует для себя магическое число 165 в десятичной системе счисления (A5 в шестнадцатеричной). start и size поля, содержащие начальный адрес и размер слайса в секторах. flag 80 указывает на то, что это активный слайс. cyl, sector и head поля используются для указания начального и конечного адресов слайса (цилиндр, сектор и головка соответственно). Замечание: эти числа вычисляются исходя из геометрии диска, предполагаемой BIOS, и хранятся в загрузочном секторе. Флаги -i и -u указывают программе на то, что таблица слайсов должна быть изменена. Если флаг -f не был указан, работа с утилитой будет происходить в диалоговом режиме. В этом случае никакие изменения на диск записываться не будут, пока вы явно не потребуете этого. Fdisk покажет каждый слайс и спросит, хотите ли вы его отредактировать. В случае утвердительного ответа, fdisk будет последовательно переходить от поля к полю, отображая старое значение и запрашивая новое. Когда вы закончите редактировать слайс, fdisk выведет информацию о нём и спросит, согласны ли вы с введёнными значениями, и если ответ будет утвердительным, перейдёт к следующему слайсу. Правильно вычислить значения cyl , sector , и head бывает сложно, поэтому по умолчанию они вычисляются автоматически. Тем не менее, при необходимости вы можете задать их самостоятельно. После того, как все слайсы были обработаны, вам будет предложено изменить "активный" слайс. Наконец, когда все новые данные будут собраны, программа запросит подтверждение на запись в нулевой сектор. Разница между флагами -u и -i заключается в том, что -u редактирует (обновляет) параметры существующих слайсов, тогда как -i используется для их "инициализации" (старые значения игнорируются). Если редактируется первый слайс, то -i настроит его так, чтобы он охватывал весь диск, и сделает его активным. ЗАМЕЧАНИЯ При автоматическом вычислении начального цилиндра, головки и т.д. используется набор значений, отражающих геометрию диска на основе данных BIOS . По умолчанию эти значения берутся из метки диска в ядре (in-core disk label ), но fdisk предоставляет возможность изменить их. Это позволяет создать загрузочный блок, который может работать с дисками, использующими трансляцию адресов через BIOS . Размечая диск вручную убедитесь, что слайсы FreeBSD начинаются на границе цилиндра. Изменение параметров существующего слайса с большой вероятностью может привести к потере данных, хранящихся на этом слайсе. Имеет смысл несколько раз запустить fdisk в интерактивном режиме, чтобы просмотреть все изменения, которые она произведёт. Это безопасно при условии, что вы ответите отрицательно на последний вопрос, "Should we write new partition table? ". Имеется ряд тонкостей конфигурации, которые утилита fdisk обнаруживает, но которые не описываются подробно в этой странице справочника. ФАЙЛ КОНФИГУРАЦИИ При использовании опции -f таблица слайсов диска может быть записана с помощью значений, указанных в файле файл_конфигурации . Формат этого файла достаточно прост, каждая строка является либо комментарием, либо спецификацией, как показано ниже: # комментарий строки, начинающиеся с # являются комментариями и игнорируются. g spec1 spec2 spec3 Задать геометрию BIOS, использующуюся для вычисления параметров слайсов. Должно быть указано три значения, с буквой перед каждым числом:
    • cnum - Установить число цилиндров равным num .
    • hnum - Установить число головок равным num .
    • snum - Установить число секторов на дорожку равным num .
    Значения могут быть указаны в любом порядке, т.к. первая буква однозначно определяет какое значение имеется ввиду. Однако в любом случае, должны быть указаны все три значения. Эта строка должна предшествовать строкам, задающим параметры слайсов. Значения могут быть в таких диапазонах: 1 <= число цилиндров 1 <= число головок <= 256 1 <= число секторов на дорожке < 64 Число цилиндров должно быть меньше либо равным 1024 . Это не строго обязательно, но если вы укажете число, большее 1024 , будет выдано предупреждение. Следует учитывать, что загрузочные слайсы FreeBSD, содержащие корневую ("/") файловую систему, должны располагаться в первых 1024 цилиндрах, иначе могут возникнуть проблемы c загрузкой. Это ограничение не распространяется на незагрузочные слайсы. Пример геометрии диска (все варианты идентичны) с 1019 цилиндрами, 39 головками и 63 секторами на дорожке: g c1019 h39 s63 g h39 c1019 s63 g s63 h39 c1019 p slice type start length Задать слайсу с номером slice (1-4 ) тип type , начальный сектор start и размер length секторов. Изменениям подвергнутся только те слайсы, параметры которых заданы такими строками, остальные слайсы сохранят свои прежние параметры. Однако, если существующая таблица слайсов будет некорректна или же будет указана опция -i , все существующие слайсы будут удалены (помечены как неиспользуемые), и для разметки необходимо будет задать соответствующие p строки . При задании параметров для нескольких слайсов следует задать несколько строк p , по одной на каждый слайс. Эти строки должны следовать за строкой, задающей геометрию, если такая строка присутствует в файле. Для FreeBSD слайсов значение type равно 165 . Указание нулевого типа аналогично удалению слайса (пометкой его "unused"), однако полям start и length в этом случае также должны быть присвоены произвольные значения, например, 0 . Замечание: при необходимости, начальное смещение будет округлено вверх до границы головки, а конечное смещение - вниз до границы цилиндра. Пример: чтобы удалить 4-й слайс и сделать его неиспользуемым ("unused"): p 4 0 0 0 Пример: чтобы установить 1-й слайс как слайс для FreeBSD, начинающийся с 1 -го сектора размером в 2503871 секторов (эти значения будут округлены вверх и вниз таким образом, чтобы слайс попадал на границы головки и цилиндра соответственно): p 1 165 1 2503871 a slice Сделать слайс slice активным. Эта строка может располагаться в файле где угодно, но может быть только одна такая строка на весь файл. Пример: чтобы сделать активным 1 -й слайс: a 1 ФАЙЛЫ /boot/mbr Код загрузчика по умолчанию. СМОТРИ ТАКЖЕ boot0cfg(8) , bsdlabel(8) , newfs(8) ПРОБЛЕМЫ Код загрузчика по умолчанию не всегда правильно распознает все типы слайсов, в частности те, которые были введены начиная с MS-DOS 6.x. Данная утилита могла бы быть более дружественной пользователю. Большинство новичков FreeBSD не понимают разницы между "слайсом" и "разделом", что приводит к проблемам. С помощью этой утилиты невозможно отдать весь диск целиком под использование FreeBSD. Для этого нужно использовать утилиту bsdlabel(8) .

    Прошлая лекция была посвящена жестким дискам в целом и в 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

    Видим общую информацию о нашем диске и видим, что разделы на диске отсутствуют. Нажмите теперь на кнопку 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 Система

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

    Устр-во Загр Начало Конец Блоки Id Система
    /dev/sdc1 1 26 208813+ 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/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 . На этом с разделами жесткого диска пока все. Полученной информации должно хватить для самостоятельной разбивки жесткого диска на нужное количество разделов.

    Чтобы определить, в каком состоянии находится жесткий диск приобретенного ПК, следует:

    1) попытаться загрузиться с жесткого диска, для чего включить компьютер при отсутствии дискеты в приводе А. Если какая-нибудь операционная система загрузилась, то жесткий диск к работе уже подготовлен и можно не прибегать к помощи утилиты FDISK. Если загрузка не прошла, то нужно перейти к п. 2.

    2) проверить, сконфигурирован ли жесткий диск, т.е. имеются ли на нем разделы DOS. Для этого нужно загрузиться с загрузочной дискеты, ввести команду FDISK (на дискете должна быть утилита FDISK) и выбрать опцию «Вывод сведений об имеющихся разделах» в главном меню. Если в результате будет сообщено, что разделы отсутствуют, то конфигурирование жесткого диска обязательно. В противном случае имеется возможность реконфигурирования (изменения количества и/или размеров разделов и логических дисков) этой же утилитой. В любом из описанных случаев можно завершить подготовку жесткого диска к работе путем высокоуровневого форматирования всех логических дисков с использованием команды FORMAT (очень часто форматирование дисков осуществляется в дальнейшем в процессе установки операционной системы). Если хотите произвести форматирование перед установкой ОС, то на одной из дискет должна иметься утилита FORMAT. Если же утилита FDISK не запускается, нужно перейти к п. 3.

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

    Таким образом, подготовка жесткого диска к работе «с нуля» реализуется тремя этапами: 1) низкоуровневым форматированием жесткого диска; 2) конфигурированием жесткого диска; 3) высокоуровневым форматированием всех созданных на нем логических дисков (этот пункт необязателен). Низкоуровневое форматирование современных жестких дисков производится еще на заводе-изготовителе. Повторное низкоуровневое форматирование таких дисков не требуется, да и является весьма опасной операцией, поскольку может привести к потере служебной информации. Низкоуровневое переформатирование жестких дисков устаревших моделей можно выполнить утилитой CALIBRATE из комплекта NORTON UTILITIES. Эту процедуру полезно производить примерно раз в год, чтобы восстановить секторные метки и одновременно протестировать качество поверхности диска. Необходимость разнесения низкоуровневого и высокоуровневого форматирования жесткого диска во времени объясняется тем, что после низкоуровневого форматирования требуется осуществить его конфигурирование. Алгоритм конфигурирования жесткого диска для работы в среде Windows состоит в следующем:


    1) создание основного раздела DOS с логическим диском в нем;

    2) создание дополнительного раздела DOS (если необходимо, например, есть потребность установить на компьютере 2 ОС: Windows 98 и Windows NT и работать с различными файловыми системами);

    3) формирование логических дисков в дополнительном разделе DOS (если он создан в п.2);

    4) установка признака активности основного раздела DOS.

    Writing /var/www/wiki.dieg/wikionline/darkfiredatawiki/cache/c/c897522fae1a58f8c112fddb1c80f754.xhtml failed

    Команды fdisk

    fdisk - общее название системных утилит (sfdisk) для управления разделами жёсткого диска. Широко распространены и имеются практически в любой операционной системе, но работают по-разному. Используют текстовый интерфейс пользователя. В системе Linux можно запускать fdisk в интерактивном или командном режиме. При запуске нужно обязательно указывать устройство диска, например: /dev/hdb, /dev/sda и т. п. В отдельных случаях (при изменении раздела в командном режиме), потребуется указать раздел диска (например /dev/hda1).

    # 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 * 1 1216 9767488+ 83 Linux /dev/sda2 1217 19457 146520832+ 5 Расширенный /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 * 1 1928 3932159+ b W95 FAT32

    Использование fdisk

    Обычно разбиение диска производится с помощью программы fdisk для Linux , которая запускается на одном из этапов установки. Кроме этого, в современных дистрибутивах, пользователь может столкнуться со специальными мастерами(wizard), являющимися надстройками fdisk, и позволяющими графически представлять разбиение диска на разделы. Программа fdisk имеет интерфейс командной строки.

    После загрузки средств инсталляции выполните команду fdisk, напечатав

    Fdisk

    где имя устройства в Linux, которому вы хотите выделить раздел. Например, если вы хотите выполнить fdisk для первого IDE-диска, используйте команду fdisk /dev/hda. /dev/hda (первый IDE-диск) берется по умолчанию, если вы не описали другого.

    Для современных HDD может понадобиться запуск с ключом -u, например fdisk -u /dev/sdb. Чтобы избежать ошибки "Partition 1 does not start on physical sector boundary."

    Если вы создаете разделы для Linux более, чем на одном диске, выполните fdisk отдельно для каждого диска.

    # fdisk /dev/hda Command (m for help):

    В этот момент fdisk ждет команды; вы можете ввести m, чтобы получить перечень опций.

    Команда (m для справки): m Действия a установить признак загрузочного раздела d удалить раздел l показать список известных типов раздела m вывести это меню n добавить раздел p вывести таблицу разделов q выйти без сохранения изменений t сменить системный идентификатор раздела v проверить таблицу разделов w записать таблицу разделов на диск и выйти x дополнительные возможности(для опытных пользователей) Команда (m для справки):

    Для создания нового раздела используется команда n. О большинстве других опций вы можете не вспоминать. Выйти из программы fdisk, без сохранения произведенных изменений, можно командой q. Выйти из программы fdisk с записью изменений в таблице разделов можно командой w.

    Первое, что вы должны сделать, это получить и записать текущее состояние таблицы разделов. Используйте команду p.

    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 1 203 61693 6 DOS 16-bit >=32M Command (m for help):

    Это пример, когда у нас один MS-DOS-раздел на /dev/hda1, который имеет 61693 блоков (около 60M - блок в Linux - 1024bytes). Этот раздел начинается на цилиндре 1 и заканчивается на цилиндре 203. Всего у нас на диске 683 цилиндров. Так что остается 480 цилиндров для создания раздела Linux.

    Для создания нового раздела используйте команду n. В этом примере мы создадим два новых первичных раздела (/dev/hda2 and /dev/hda3) для Linux.

    Command (m for help): n Command action e extended p primary partition (1-4) p

    Здесь 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.

    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

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

    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 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 вам следует снова загрузить средства инсталляции как и раньше - перед продолжением инсталляции.



    Рекомендуем почитать

    Наверх