изменение размера ntfs раздела

Автор kocmoc, 08 мая 2016, 21:56:03

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

kocmoc

Здравствуйте!
Вопрос такой: нужно уменьшить размер раздела ntfs без потери данных и создать новый.
вообщем спрашиваю т.к. у меня раздел не последний, структура такая:
Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 100587985 100585938   48G 83 Linux
/dev/sda2       100589566 624863040 524273475  250G  f W95 Ext'd (LBA)
/dev/sda5       104904513 624863040 519958528  248G  7 HPFS/NTFS/exFAT
/dev/sda6       100589568 104902655   4313088  2,1G 82 Linux swap / Solaris

раздел 5 нужно уменьшить до 227G, так вот, последовательность действий будет такая:
ntfsresize -s 227G - тут всё ясно
теперь нужно изменить таблицу разделов:
fdisk /dev/sda
  d
  5
и вот тут своп перемещается на позицию 5 (просто номер) и всё едет, т.е. я правильно понимаю что в данном случае мне нужно создать 2 раздела, один 277G с позиции пятого бывшего раздела (104904513), а оставшееся свободное место, до позиции свопа (519958528) как и было, что бы не менять общую структуру и номера разделов просто перебить в fstab (а новый прописать)?
И ещё, поясните мне кто нибудь по секторам таблице выше, почему конец одного раздела не сходится с началом другого, разница то в 1581 сектор, то в другое число, откуда такая цифра ?

используем теги для оформления поста, ogost

vadd

Вы же по идее сразу можете сделать
fdisk /dev/sda
d
5
n
5
<чего вам там надо>
w

kocmoc

А данные останутся в разделе ?
Т.е. если я создам раздел из свободного места, ничего не надо будет мудрить с секторами началом/концом и все данные останутся !?

alsoijw

kocmoc, если ничего не перепутаешь и в момент операции не накроется питание, то данные сохранятся. Боишься делать в консоли, воспользуйся gui.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

vadd

#4
Я конечно не поручусь, дело ответственное )
Вы же вроде по любому после ntfsresize должны удалять партицию и создавать новую нового размера?  Если вы ее создадите с теми же параметрами, только другой длины, она должна будет начаться с того же сектора.  А данные вы и не удаляете )


kocmoc

#5
разметил, такая разметка прокатит ?:

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 100587985 100585938   48G 83 Linux
/dev/sda2       100589568 104902655   4313088  2,1G 82 Linux swap / Solaris
/dev/sda3       104902656 580956159 476053504  227G  7 HPFS/NTFS/exFAT
/dev/sda4       580956160 624876201  43920042   21G  7 HPFS/NTFS/exFAT

меня смущает, что начало раздела sda3 немного не совпадает со старым sda5       104904513.

Cообщение объединено 09 мая 2016, 13:06:43

вообщем что то я делаю не так, пробовал с той структурой, что выше, после загрузки и монтирование, пишет кривой суперблок ...
когда начала раздела в ручную прописал, а конец уменьшил, пишет - кривой раздел/возможно не тот раздел/попробуйте целиком примонировать/кривой конец раздела ...
во общем вернулся к рабочей структуре:

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 100587985 100585938    48G 83 Linux
/dev/sda2       100589568 104902655   4313088   2,1G 82 Linux swap / Solaris
/dev/sda3       104904513 624863040 519958528   248G 83 Linux
/dev/sda4       104902656 104904512      1857 928,5K  5 Extended

4й раздел - просто создал нвоый раздел на всё оставшееся место ... (как видно я убрал расширенный и сделал все первичными с такими же началами/концами секторов)

vadd

И получили в результате совсем другие имена разделов, чего хотели избежать.   Почему было не оставить логические партиции,  как изначально? ntfs - sda5, swap - sda6, новый ntfs - sda7...

kocmoc

да мне в принципе уже пофиг на имена, уже всё сделано :)
тут вопрос остаётся как уменьшить размер раздела и получить новый свободный раздел, т.е. как я понял fdisk меняет таблицу, и после неё надо юзать mkfs - но это сотрёт данные, т.е. мне всё-таки надо заюзать ntfsresize для изменения самого раздела после fdisk?

vadd

#8
Не надо mkfs. ntfsresize уменьшает размер существующей системы,  при необходимости делая релокацию данных, а  fdisk всего лишь изменяет размер партиции.   Если все сработало без сбоев, то не затрагиваются ни данные, ни тип фс.
Если вы уменьшили партицию, то после работы fdisk у вас остается пустое неразмеченное место.  И с ним уже  творите что хотите и чем хотите.

kocmoc

#9
так в том то и дело когда я уменьшаю раздел, потом его пытаюсь примонтировать, мне mount пишет, что раздел кривой ... fdisk меняет в таблице запись о разделе, но сам раздел остаётся прежним, т.е. ещё и сам раздел нужно поменять ... вообщем я запутался :)
дабы не быть голословным:

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 100587985 100585938   48G 83 Linux
/dev/sda2       100589568 104902655   4313088  2,1G 82 Linux swap / Solaris
/dev/sda3       104902656 587247615 482344960  230G  7 HPFS/NTFS/exFAT
/dev/sda4       587247616 624876201  37628586   18G  7 HPFS/NTFS/exFAT

kocmoc@kocmoc:~$ sudo mount /dev/sda3 /mnt/D
mount: wrong fs type, bad option, bad superblock on /dev/sda3,
       missing codepage or helper program, or other error

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

далее с одинаковым началом раздела:

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 100587985 100585938    48G 83 Linux
/dev/sda2       100589568 104902655   4313088   2,1G 82 Linux swap / Solaris
/dev/sda3       104904513 587249663 482345151   230G  7 HPFS/NTFS/exFAT
/dev/sda4       104902656 104904512      1857 928,5K  7 HPFS/NTFS/exFAT

kocmoc@kocmoc:~$ sudo mount /dev/sda3 /mnt/D
Failed to read last sector (519958526): Недопустимый аргумент
HINTS: Either the volume is a RAID/LDM but it wasn't setup yet,
   or it was not setup correctly (e.g. by not using mdadm --build ...),
   or a wrong device is tried to be mounted,
   or the partition table is corrupt (partition is smaller than NTFS),
   or the NTFS boot sector is corrupt (NTFS size is not valid).
Failed to mount '/dev/sda3': Недопустимый аргумент
The device '/dev/sda3' doesn't seem to have a valid NTFS.
Maybe the wrong device is used? Or the whole disk instead of a
partition (e.g. /dev/sda, not /dev/sda1)? Or the other way around?


Cообщение объединено 09 мая 2016, 14:58:27

давайте сделаем проще.
есть текущая таблица разделов:

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 100587985 100585938    48G 83 Linux
/dev/sda2       100589568 104902655   4313088   2,1G 82 Linux swap / Solaris
/dev/sda3       104904513 624863040 519958528   248G 83 Linux
/dev/sda4       104902656 104904512      1857 928,5K 83 Linux

что мне нужно сделать, что бы sda3 уменьшить скажем до 230G,а sda4 увеличить до 18G ?

vadd

#10
В таком состоянии все работает?  Потому что иначе может оказаться проще вернуть все в самое первоначальное состояние.
- отмонтируете sda3
- resize2fs  уменьшаете fs на sda3 до нужного размера
- fdisk уменьшаете sda3 (удалить-создать тот же тип строго с тем же началом-записать)

sda4 пока пустой?  Значит просто удалить fdisk, создать новый  раздел с начала неразмеченного пространства.
После fdisk не забывать перезапуститься

kocmoc

#11
во общем уменьшил, только не resize2fs, а ntfsresize, у меня же раздел в этой системе, теперь таблица выглядит так:

Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 100587985 100585938    48G 83 Linux
/dev/sda2       100589568 104902655   4313088   2,1G 82 Linux swap / Solaris
/dev/sda3       104904513 600520703 495616191 236,3G  7 HPFS/NTFS/exFAT
/dev/sda4       104902656 104904512      1857 928,5K  5 Extended

всё монтируется нормально, но! куда делись 18Гб !? =)
при попытке создать раздел: All primary partitions are in use.
Adding logical partition 5
No free sectors available.
, ну при удалении 4го раздел и создании его заново создаётся раздел размером 928,5К ...
что за ... !?

Cообщение объединено 09 мая 2016, 17:50:28

если посмотреть на первоначальную таблицу, то последний раздел: 624863040 ....

Cообщение объединено 09 мая 2016, 18:31:38

путём научного тыка разобрался:
там при создании раздела указан диапазон с 600520703 и до конца диска, но по умолчанию стоит следующий сектор за свопом 104902656 - поэтому и создаётся 928К, но если указать руками начальный сектор 600520704 и тогда можно будет создать до конца диска, как раз недостающие 11,6G получается, но зато теперь потеряются те 928К, а если их указать то потеряются в конце 11.6G, т.е. видимо fdisk умеет только последовательно создавать разделы ...
Хотелось бы уточнить можно ли создать 2 раздела один с 104902655 по 104904513 (928,5К) и второй с 600520704 и до конца диска 624876201 ?

vadd

#12
Вы же на номера секторов смотрите.  Ваш sda4 уютно разместился в маленьком кусочке между sda2 и sda3 и естественно расти ему некуда.   Место там образовалось когда вы решили усложнить себе жизнь, зачем-то перейдя от extended партиций к  primary )
Сейчас у вас простор для выбора:
- вернуть все как было и нормально разделить логические ntfs партиции )
- убить sda4 в этом месте, забыть про него и создать там где есть эти 18gb - в конце диска
- заняться перфекционизмом, сдвигая  все последующие праймари партиции на этот несчастный 1 мегабайт )

Цитата: kocmoc от 09 мая 2016, 17:48:12Хотелось бы уточнить можно ли создать 2 раздела один с 104902655 по 104904513 (928,5К) и второй с 600520704 и до конца диска 624876201

Можно, но вы рискуете создать  себе опять головную боль, потому что вы исчерпали максимум в 4 праймари партиции, и вам придется оставлять 3 праймари, создавать 2 логических, причем этот 1 мегабайт у вас видимо опять уйдет на шапку extended,   и что получится в итоге я предсказать не возьмусь )
А как бы все легко и просто  получилось если бы вы оставили sda5 для ntfs партиции :)

kocmoc

#13
ппц я теперь не могу назад откатить т.к. при

kocmoc@kocmoc:~$ sudo ntfsresize -i /dev/sda3

пишет:
ntfsresize v2014.2.15AR.2 (libntfs-3g)
ERROR: Volume is scheduled for check.
Run chkdsk /f and please try again, or see option -f.

во общем хотел вернуться к
Цитата: vadd от 09 мая 2016, 18:33:58
- вернуть все как было и нормально разделить логические ntfs партиции )
но теперь не могу сделать ресайз разделу из-за это ошибки + ко всему fdisk теперь не создаёт екстендед раздел типа f
текущая рабочая таблица над которой маюсь:
Device     Boot     Start       End   Sectors   Size Id Type
/dev/sda1  *         2048 100587985 100585938    48G 83 Linux
/dev/sda2       100589568 104902655   4313088   2,1G 82 Linux swap / Solaris
/dev/sda3       104904513 600520703 495616191 236,3G  7 HPFS/NTFS/exFAT
/dev/sda4       600520704 624876201  24355498  11,6G 83 Linux

при попытке

kocmoc@kocmoc:~$ sudo ntfsresize -i /dev/sda3

вылазит ошибка:
ntfsresize v2014.2.15AR.2 (libntfs-3g)
ERROR: Volume is scheduled for check.
Run chkdsk /f and please try again, or see option -f.
причём тут chkdsk я винду ещё даже не ставил, кто его испортил !? :)
из-за этого не могу переразметить раздел назад ан старый размер.

при попытки сделать раздел расширенным как был fdisk выдаёт:
Hex code (type L to list all codes): f
You cannot change a partition into an extended one or vice versa. Delete it first.
т.е. если создавать сразу расширенным, то создаётся раздел типа 5, если делать любой потом попытаться поменять тип на f, то ошибка которая выше.

ппц немогу ничего теперь откатить ... не копировать же раздел на внешний винт и размечать заново  .. :(


Cообщение объединено 09 мая 2016, 20:49:00

да и кстати я немогу оставить 11,6 т.к. для установки винды не хватает, она просит ещё 2 помоему гига :)

vadd

Читайте описание команд, которые используете и что вам предлагается в случае ошибок:
-f, --force
    Forces ntfsresize to proceed with the resize operation even if the filesystem is marked for consistency check.
    Please note, ntfsresize always marks the filesystem for consistency check before a real resize operation and it leaves that way for extra safety. Thus if NTFS was marked by ntfsresize then it's safe to use this option. If you need to resize several times without booting into Windows between each resizing steps then you must use this option.


То есть пока ничего страшного, ntfsresize   при каждом использовании без изменения размера партиции отмечает ее для чека.  Либо ресайзите партицию, либо используйте -f  при каждом очередном изменении.
Но зачем вы опять используете ntfsresize?   Удаляйте эти партиции и создавайте на их месте логические sda5 и sda6, как и было изначально.   Просто следите за тем, чтобы начальный сектор совпадал.