Введение в различные методы........
У многих пользователей возникает необходимость просмотреть существующую таблицу разделов, изменить размер разделов, удалить разделы или добавить разделы, используя свободное место или дополнительные жёсткие диски. Все эти задачи позволяет выполнить утилита parted. В этой главе описывается, как выполнять системные задачи с помощью parted.
Если вы хотите посмотреть, как используется дисковое пространство, или наблюдать за использованием диска, обратитесь к разделу 40.3 Файловые системы.
Чтобы использовать утилиту parted, вы должны установить пакет parted. Чтобы запустить parted, введите в приглашении оболочки от имени root команду parted /dev/sda, где /dev/sda — имя устройства, которое вы хотите настроить. На экране появляется приглашение (parted). Введите help, чтобы получить список доступных команд.
Если вы хотите создать, удалить или изменить размер раздела, это устройство должно не использоваться (разделы не должны быть смонтированы, а пространство подкачки включено). Не следует изменять таблицу разделов, когда она используется, так как ядро не сможет корректно среагировать на изменения. Из-за несоответствия смонтированных разделов и таблицы разделов может произойти запись в неверный раздел, что приведёт к перезаписи ваших данных. Легче всего выполнить это условие, загрузив систему в режиме восстановления. Инструкции по загрузке в режиме восстановления описаны в главе 5 Основы восстановления системы. Получив предложение смонтировать файловые системы, ответьте Пропустить (Skip).
Если же никакие разделы вашего диска не задействованы (системными процессами, которые используют или блокируют файловую систему, не позволяя размонтировать её), вы можете размонтировать их, выполнив команду umount, и выключить пространство подкачки на этом диске с помощью команды swapoff.
В таблице 12-1 приведён список часто используемых команд parted. В следующем далее разделе некоторые из них рассматривают подробнее.
Команда | Описание |
---|---|
check minor-num | Выполняет простую проверку файловой системы |
cp from to | Копирует файловую систему из одного раздела в другой, вмето from и to указываются младшие номера разделов |
help | Выводит список доступных команд |
mklabel label | Назначает метку диска для раздела |
mkfs minor-num file-system-type | Создаёт файловую систему типа file-system-type |
mkpart part-type fs-type start-mb end-mb | Делает раздел, не создавая новую файловую систему |
mkpartfs part-type fs-type start-mb end-mb | Делает раздел и создаёт указанную файловую систему |
move minor-num start-mb end-mb | Перемещает раздел |
name minor-num name | Назначает имя раздела (только для меток диска Mac и PC98) |
Выводит таблицу разделов | |
quit | Завершает работу parted |
rescue start-mb end-mb | Восстанавливает потерянный раздел с start-mb на end-mb |
resize minor-num start-mb end-mb | Изменяет размер раздела с start-mb на end-mb |
rm minor-num | Удаляет раздел |
select device | Выбирает другое устройство для настройки |
set minor-num flag state | Устанавливает флаг для раздела; state может иметь значение «on» или «off» |
Таблица 12-1. Команды parted
Запустив parted, введите следующую команду, чтобы просмотреть таблицу разбиения разделов:
Вы увидите подобную таблицу:
Disk geometry for /dev/sda: 0.000-8678.789 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 101.975 primary ext3 boot 2 101.975 5098.754 primary ext3 3 5098.755 6361.677 primary linux-swap 4 6361.677 8675.727 extended 5 6361.708 7357.895 logical ext3 Disk geometry for /dev/hda: 0.000-9765.492 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 101.975 primary ext3 boot 2 101.975 611.850 primary linux-swap 3 611.851 760.891 primary ext3 4 760.891 9758.232 extended lba 5 760.922 9758.232 logical ext3 |
В первой строке показывается размер диска, во второй — тип метки диска, а за ними выводится таблица разделов.
В столбце Minor этой таблицы показан номер раздела. Например, разделу с младшим номером 1 соответствует /dev/sda1. Значения Start (Начало) и End (Конец) задаются в мегабайтах. В столбце Type(Тип) может быть указано primary(основной), extended (расширенный) или logical(логический). В столбце Filesystem указывается тип файловой системы, это может быть ext2, ext3, fat16, fat32, hfs, jfs, linux-swap, ntfs, reiserfs, hp-ufs, sun-ufs или xfs. В столбце Flags показываются флаги, установленные для этого раздела. Это может быть boot (загрузочный), root (загрузочный), swap (подкачка), hidden (скрытый), raid, lvm или lba.
В данном примере младший номер 1 указывает на файловую систему /boot/, младший номер 2 — на корневую файловую систему (/), номер 3 — на раздел подкачки, а номер 5 — на файловую систему /home/.
Подсказка | |
---|---|
Чтобы выбрать другое устройство, не запуская parted ещё раз, воспользуйтесь командой select, в параметрах которой укажите имя устройства, например, /dev/sda. Сделав это, вы сможете просмотреть или изменить таблицу разделов другого устройства. |
Предупреждение | |
---|---|
Не пытайтесь создавать разделы на устройствах, которые используются. |
Прежде чем создать раздел, загрузитесь в режиме восстановления (или размонтируйте все разделы и отключите пространства подкачки, расположенные на этом устройстве).
Запустите parted как показано ниже, где /dev/sda — устройство, на котором вы хотите создать раздел:
parted /dev/sda |
Просмотрите текущую таблицу разделов, чтобы определить достаточно ли свободного места:
Если свободного места не хватает, вы можете изменить размер существующего раздела. Подробнее об этом рассказывается в разделе разделе 12.1.4 Изменение размера раздела.
Просмотрите таблицу разделов и определите точки начала и конца нового раздела, а также его тип. На одном устройстве можно создать только четыре основных раздела (без расширенных). Если вам нужно больше четырёх разделов, вы можете создать три основных раздела, один расширенный, и в нём множество логических разделов. За общей информацией о разделах диска обратитесь к приложению Знакомство с дисковыми разделами в Руководстве по установке Red Hat Enterprise Linux.
Например, чтобы создать основной раздел с файловой системой ext3, расположенный на жёстком диске в пределах от 1024 до 2048 Мбайт, введите следующую команду:
mkpart primary ext3 1024 2048 |
Подсказка | |
---|---|
Если вы примените вместо неё команду mkpartfs, после создания раздела в нём будет создана файловая система. Однако parted не поддерживает создание файловой системы ext3. Таким образом, если вы хотите создать файловую систему ext3, воспользуйтесь mkpart и создайте файловую систему с помощью mkfs, как было описано ранее. Утилита mkpartfs работает для файловых систем, имеющих тип linux-swap. |
Изменения вступают в силу сразу после нажатия клавиши
Создав раздел, воспользуйтесь командой print, чтобы убедиться в том, что он появился в таблице разбиения с правильным типом раздела, типом файловой системы и размером. Также запомните младший номер нового размера, чтобы вы могли пометить его. Кроме этого, следует просмотреть результат команды
cat /proc/partitions |
, чтобы убедиться в том, что ядро распознало новый раздел.
В созданном разделе всё ещё нет файловой системы. Создайте её:
/sbin/mkfs -t ext3 /dev/sda6 |
Предупреждение | |
---|---|
Форматирование раздела навсегда удаляет данные, существовавшие в этом разделе. |
Затем назначьте разделу метку. Например, если новый раздел называется /dev/sda6 и вы хотите пометить его как /work, выполните:
e2label /dev/sda6 /work |
По умолчанию программа установки использует в качестве метки точку монтирования, чтобы метка была уникальной. Вы же можете использовать любую метку, какую захотите.
Создайте точку монтирования, выполнив от имени root:
mkdir /work |
Внесите новый раздел в файл /etc/fstab, отредактировав этот файл от имени root. Новая строка должна выглядеть примерно так:
LABEL=/work /work ext3 defaults 1 2 |
Первый столбец должен содержать указание LABEL=, за которым вы указываете метку, назначенную разделу. Второй столбец должен содержать точку монтирования нового раздела, а в следующем столбце должен указываться тип файловоуй системы (например, ext3 или swap). Если вам нужна дополнительная информация о синтаксисе, обратитесь к странице руководства, выполнив man fstab.
Если в четвёртом столбце указано слово defaults («по умолчанию»), раздел будет монтироваться при загрузке. Чтобы смонтировать раздел без перезагрузки, введите от имени root следующую команду:
mount /work |
Предупреждение | |
---|---|
Не пытайтесь удалять разделы на устройствах, которые используются. |
Прежде чем удалять раздел, загрузитесь в режиме восстановления (или размонтируйте все разделы и отключите пространства подкачки, расположенные на этом устройстве).
Запустите parted как показано ниже, где /dev/sda — устройство, на котором вы хотите удалить раздел:
parted /dev/sda |
Просмотрите текущую таблицу разделов, чтобы определить номер удаляемого раздела:
Удалите раздел с помощью команды rm. Например, удалить раздел номер 3 можно так:
rm 3 |
Изменения вступают в силу сразу после нажатия клавиши
Удалив раздел, выполните команду print и убедитесь в том, что он удалён из таблицы разделов. Кроме этого, следует просмотреть результат команды
cat /proc/interrupts |
, чтобы убедиться в том, что ядро увидело, что раздел удалён.
Последнее, что нужно сделать — удалить запись о нём из файла /etc/fstab. Найдите строку, в которой описывается удалённый раздел и удалите её из файла.
Предупреждение | |
---|---|
Не пытайтесь изменять размер разделов на устройствах, которые используются. |
Прежде чем изменять размер раздела, загрузитесь в режиме восстановления (или размонтируйте все разделы и отключите пространства подкачки, расположенные на этом устройстве).
Запустите parted как показано ниже, где /dev/sda — устройство, на котором вы хотите изменить размер раздела:
parted /dev/sda |
Просмотрите текущую таблицу разделов, чтобы определить младший номер изменяемого раздела, а также точки начала и конца раздела:
Предупреждение | |
---|---|
Новый размер раздела не должен быть меньше объёма используемого в нем пространства. |
Чтобы изменить размер раздела, воспользуйтесь командой resize, в аргументах которой укажите младший номер раздела, а также точки начала и конца раздела (в мегабайтах). Например:
resize 3 1024 2048 |
Изменив размер, выполните команду print, чтобы проверить, что размер раздела изменился корректно, раздел имеет правильный тип раздела и тип файловой системы.
Перезагрузив систему в обычном режиме, выполните команду df, чтобы убедиться в том, что раздел был смонтирован и его размер изменён.