Я всегда просто использовал для этого parted. Он хорошо работает для изменения типа метки диска и добавления / удаления разделов, тем более что он может обрабатывать современные большие жесткие диски, в отличие от fdisk.
Вы можете запустить
$ sudo parted /dev/sda
. Это запустит работу и приведет вас в разделенный терминал. Затем вы можете запустить команду справки, чтобы отобразить все доступные команды. Это очень понятно.
Я отмечу, что да, вам необходимо, чтобы все разделы диска, которые вы хотите отформатировать, были отключены. Если бы вы просто искали более быстрый способ размонтировать все разделы, я думаю, вы могли бы сделать это с помощью регулярного выражения в команде umount, но это кажется глупым.
Используя parted для управления жестким диском, мне никогда не приходилось принудительно обновлять диск или что-то подобное.
Чтобы полностью обновить диск для нового использования, я обычно делаю следующее:
1) запускаю parted, выполнив sudo parted / dev / sda
2) ищу существующие разделы, запустив print
3) удалите существующие разделы, запустив rm 1
, заменив 1 номером раздела, который вы хотите удалить. Затем повторите для всех оставшихся разделов на диске.
4) сбросьте метку диска, запустив mklabel gpt
Я использую тип метки gpt, но вы можете использовать стандартный msdos или как хотите. Вот список типов меток диска
5) Создайте новые разделы, запустив mkpart
Это запустит вас через мастер создания раздела. По умолчанию начальная и конечная точки соответствуют секторам. Вы можете изменить это, выполнив команду unit
перед запуском mkpart
Таким образом, вы можете указать его в ГБ, или ТБ, или МБ и т. Д.
6) проверьте свои результаты с помощью print
для просмотра информации о новой таблице разделов
7) Затем вам нужно отформатировать разделы. Этого не следует делать через parted, хотя для этого доступны некоторые опции. Я бы предложил вместо этого запустить quit
, чтобы выйти из parted терминала, а затем использовать mkfs
для форматирования разделов. Не забудьте запустить mkfs на / dev / sda1 вместо / dev / sda, потому что вы форматируете раздел, а не диск в целом.
Вот и все.
Надеюсь, это ответ на ваш вопрос.
Также вот онлайн-руководство для справки: https://www.gnu.org/software/parted/manual/html_node/index.html
EDIT:
OP хотел делать такие вещи из сценария, а не из терминала. Вы можете выполнить такую же процедуру с помощью сценария, запустив parted с помощью однострочных команд, а не внутри терминала parted.
Например, команда
$ sudo parted /dev/sda print
распечатает информацию о диске и таблицу разделов на консоли bash, которой затем можно управлять с помощью grep и т. Д. Для создания переменных или чего угодно в сценарии bash.
„Wipefs“ programa leidžia lengvai ištrinti skaidinio lentos parašą:
wipefs -a /dev/sda
Vis tiek turite sustabdyti bet kokį procesą naudodami įrenginį, pvz., LVM.
Nuo žmogaus servetėlės.
servetėlės gali ištrinti failų sistemą, reidus ar skaidinių lentos parašus (magija eilutės) iš nurodyto įrenginio, kad parašai būtų nematomi
wipefs neištrina nei pačios failų sistemos, nei jokių kitų duomenų iš įrenginys. Naudojant be jokių galimybių, valytuvuose pateikiami visi sąrašai matomos failų sistemos ir jų pagrindinių parašų poslinkiai.
valytuvai iškviečia BLKRRPART ioctl, kai jis ištrina skirsnio lentelės parašas, kad branduolys būtų informuotas apie pakeitimą.
По сути, это ошибка.
Ошибка: разделы 1 на / dev / sdc были записаны, но мы не может сообщить ядру об изменении, вероятно, потому что оно / они уже используются. В результате старые разделы останутся в использовании. Вам следует перезагрузиться сейчас, прежде чем вносить дальнейшие изменения.
появляется, если вы пропустили какой-то параметр при разбиении диска. Вы можете исправить эту ошибку, внимательно изучив параметры, которые вы определили при разбиении на разделы.
Использование:
fdisk -l
для проверки параметров вашего диска: