LINUX.ORG.RU

как, чем изменить размер раздела?!?


0

0

Всем привет!

На первый взгляд вопрос выглядит тупым, но в моём сусе нет инструментов для этого!! Задача -- не прибегая к hex-редактору диска, увеличить размер одного из разделов (изменить номер конечного сектора), чтобы занять всё свободное место на винте. И кто может это сделать?? fdisk -- нет такой команды! sfdisk - тоже! cfdisk: есть некий пункт "maximize", казалось бы -- то, что нужно! Но! Cannot maximize this partition и никаких объяснений. parted: слишком умный и хочет что-то сделать ещё с файловой системой, а это мне не надо (раздел используется в software raid5). Плюс к тому, ужас, спрашивает размер, чтобы я его вводил вручную (нет, сделали бы "до конца диска"), а тут сектора высчитывать самому.

Что ещё попробовать??

Я вообще очень люблю линукс и дома только его использую, а такие вещи бесят!! Или подскажите хотя бы приличный hex-редактор, который может работать с диском посекторно?

Спасибо!


Ответ на: комментарий от sdio

а какую? Поиском по репозитарию я нашёл только то, что перечислил. В гугле в основном вообще только про parted говорят. Дело-то мизерное, пару байт поменять, а эвона -- целая задача!!

KA6AH
() автор топика
Ответ на: комментарий от alexru

> parted.

да, а как сказать ему, чтобы не пытался трогать файловую систему? И может я чего пропустил в руководстве, нет ли команды "изменить размер до конца диска", а не высчитывать сектора (ну это ещё ладно, посчитаю, если нет). Спасибо!

KA6AH
() автор топика
Ответ на: комментарий от sdio

> fdisk

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

KA6AH
() автор топика

Алгоритм такой: записываешь начальный цилиндр раздела (конечный тоже можно, но только, чтобы не запутаться). В fdisk удаляешь раздел и создаешь новый, с тем же стартовым цилиндром, но новым конечным. Далее, если лежащая на раздела фс поддерживает расширение, расширяешь ее до максимума.

Это работает если за разделом есть свободное неразмеченное место. Если же там есть другой раздел, то его придется удалять. В противном случае - перекрытие разделов и страшные маты.

Я так систему с 40 ГБ на 80 Гб перенес и заодно увеличил размер последнего раздела (теперь я свсегда его делаю /home :) )

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

Особая хитрость требуется при увеличении логического раздела внутри расширенного раздела. Для этого нужно удалить _все_ логические разделы внутри расширенного, и сам расширенный. Затем создать расширеный заново, с новым размером. Затем восстановить все логические _ровно_по_тем_же_стартовым_и_оконечным_цилиндрам кроме последнего. А последний - с тем же стартовым, но новым оконечным.

Да, еше раз повторю, что вновь размеченное место будет недоступно, пока процедуре растяжения не подвергнется фс на "новом-старом" разделе.

annoynimous ★★★★★
()
Ответ на: комментарий от alexru

> А зачем такое нужно?

у меня есть 3 винта, разбиты, грубо говоря, на 2 раздела -- в одном RAID5, в другом RAID0. Хочу отказаться от RAID0 (его разделы уже удалил) и перераспределить место в сторону RAID5 (а вот для этого нужно изменить размер).

annoynimous, спасибо за идею с удалением-созданием!

KA6AH
() автор топика

Предыдущим ораторам:

Лучше остерегаться fdisk'a для любых операций, кроме create/delete/change type раздела. Рискуете убить все свои данные.

Хотя, увеличение раздела при наличии свободного места можно делать.

birdie ★★★★★
()
Ответ на: комментарий от birdie

> Лучше остерегаться fdisk'a для любых операций, кроме create/delete/change type раздела. Рискуете убить все свои данные.

Предлагаемый мной метод только их и включает.

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

Так и не понял - чем parted не устраивает??? "Что-то там хочет с фс делать"? - А ты как хотел - служебная информация фс вполне себе поменяться может, если ты вздумал размер раздела менять. Советую не париться с fdisk, а довериться parted.

anonymous
()
Ответ на: комментарий от anonymous

> Так и не понял - чем parted не устраивает??? "Что-то там хочет с фс делать"? - А ты как хотел - служебная информация фс вполне себе поменяться может

Откуда там на md-raid5 служебная информация фс, с которой сумеет работать parted? Напортачит там ещё.

В общем, продолжение истории: удалил я fdisk'ом разделы и пересоздал с тем же номером первого сектора, но до конца диска. Сделал mdadm --grow, но результата это не принесло, т.к. ядро использовало ещё старую таблицу разделов. Решил перезагрузиться. После этого массив системой не цепляется (было 3 диска: hda1, hdb2 и hdc2), mdadm --misc --examine /dev/hda1 говорит о найденном суперблоке, параметры которого есть параметры диска до изменения размера. А на /dev/hdb2 и hdc2 суперблока не видит. Вероятно, поэтому и не может смонтировать раздел. Как теперь можно достать эти суперблоки и вытащить с диска данные?

KA6AH
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.