Я давно хотел научиться двум вещам. Размечать винчестеры из консоли и править текстовые файлы оттуда же. До первой руки-таки дошли. Сначала я потерпел полное поражение, т.к. маны привели меня в полное недоумение, но я так просто не сдался и в итоге у меня кое-что получилось

.
Вообще, по ходу дела вспоминались мне лабораторные работы на физике в школе, когда проводили якобы "опыты" (проведённые миллионы раз до нас) и аккуратно всё конспектировали. Только я вместо конспекта делал короткие шпаргалки лично для себя, на будущее

.
Так вот. Дан винчестер 500 ГБ /dev/sdc, терминал и GParted, сугубо для наглядного мониторинга результатов. Нужно сделать один первичный раздел и один расширенный с двумя логическими дисками.
Получаем привилегии суперпользователя и отмонтируем все разделы этого винчестера:
sudo su
umount /dev/sdc*
Создаём новую метку, основной раздел 235ГБ, точнее 235000МБ (будущий /dev/sdc1) и дополнительный (/dev/sdc2) на всё оставшееся пространство:
parted /dev/sdc mklabel msdos
parted /dev/sdc mkpart primary 0 235000
parted /dev/sdc mkpart extended 235000 100%
Синтаксис комманд таков:
parted [устройство] [mkpart (от make partition)] [тип - основной, расширенный, логический] [начало] [конец]
Логические диски, естественно, можно создавать только на существующих расширенных разделах. Начало и конец можно задавать разными единицами. В качестве разменной монеты принимаются проценты, сектора, мегабайты, ещё какая-то херомантия, в которую я не вникал. Мегабайты, как еденицу по умолчанию, обозначать никак не надо.
Теперь то, над чем я сначала завис... Как сделать логические диски на sdc2? Всё понятно, но как правильно определить начало и конец? Я, дурак, не понял, относительно чего отмечать границы... Всего винта или расширенного раздела? Дело в том, что parted размечает вроде как винчестер, а логические диски размечаются на разделе... Короче, немного потормозив, я сообразил, что отсчитывать нужно от общего рамера винта))). Вообще-то тут 2 варианта. Например:
parted /dev/sdc mkpart logical 235000 335000
parted /dev/sdc mkpart logical 335000 100%
Но у меня программа в одном случае промолчала и всё сделала как надо, а в другом начала ругаться и предложила свои границы лог.диска. Я наивно согласился и она меня обманула, т.к. пару гигов остались висеть не размеченными. И обманывает она каждый раз, так что вестись на этот развод не нужно

Просто понятие мегабайта, как некоторого адреса, весьма расплывчато))).
Я решил указать эти величины в секторах. Тут есть один нюанс. Сначала нужно просмотреть текущее состояние устройства.
fdisk -lu
Получим в ответ инфу о винте и всех его разделах с размерами и границами в секторах:
Диск /dev/sdc: 500.1 ГБ, 500107862016 байт
255 heads, 63 sectors/track, 60801 cylinders, всего 976773168 секторов
Units = секторы of 1 * 512 = 512 bytes
Disk identifier: 0x000ec256
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdc1 1 458984375 229492187+ 83 Linux
/dev/sdc2 458984376 976768064 258891844+ 83 Расширенный
Как видно, sdc2 начинается с сектора 458.984.376, поэтому первый логический диск начнётся с 458.984.37
7 . Рассчитать его размер прийдётся на калькуляторе))), либо использовать значение в мегабайтах. 1 сектор = 512 байт. Если нужен диск размером 100ГБ, то
100.000.000.000B/512B=195.312.500s.
Или, точнее
107.374.182.400B/512B=209.715.200s.
Тогда конец диска равен начало+размер
458.984.377+209.715.200=668.699.577
parted /dev/sdc mkpart logical 458984377s 668699577s
Либо, если такая точность ни к чему, то просто
parted /dev/sdc mkpart logical 458984377s 335000
И последний диск делаем от 668699578s до конца.
А к чему mount в заголовке? Просто я выкупил прикол, пока всё это делал. Комманда mount -l показывает все монтированные ФС с именами томов. Если работаешь в консоли или незнакомой графичской среде - может пригодиться)))