Скажем, у меня есть воображаемый жесткий диск на 200 ГБ (не SSD) с двумя разделами на 100 ГБ (A - первый, а B - второй). Раздел А пуст. Раздел B наполовину полон. Я хочу удалить раздел A и изменить размер раздела B до самого начала диска, чтобы у B было 200 ГБ.

Мой вопрос следующий - возможно ли изменить размер B, не перемещая содержимое B в начало диска? Может ли операция изменения размера пройти быстро? Я уже изменил размер раздела "к концу диска" (например, удалив B и изменив размер A на весь диск в этом случае), и это всегда было очень быстро. Но в моем случае я боюсь, что все данные должны быть перемещены или, по крайней мере, их местоположение обновлено в MBR, поскольку начальное расположение раздела изменится.

Я хочу использовать некоторые свободно доступные программы для Windows/Linux.

РЕДАКТИРОВАТЬ: диск используется только для данных, система не устанавливает разделов.

2 ответа2

2

Я никоим образом не эксперт по NTFS, но я хотел бы дать некоторые общие рекомендации.

1) Я видел много вещей, касающихся программного обеспечения для ПК, но никогда не слышал о приложении, которое могло бы расширить разделы NTFS до начала диска без перемещения данных.

2) Существует ли такое приложение или нет: Вы абсолютно не должны делать подобные вещи, не сделав полную резервную копию диска раньше.

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

Таким образом, даже если бы существовало такое приложение, которое могло бы выполнять то, о чем вы просили, ему все равно пришлось бы (рекурсивно) настраивать большую кучу указателей, и на это потребовалось бы время, и поэтому я бы не использовал его.

В вашем случае я бы сделал следующее:

Минимальное (плохое) решение

а) Удалить раздел А

b) Создайте заново раздел A с размером, который оставляет достаточно места для раздела B (после этого шага между разделом A и разделом B будет некоторое пространство)

c) Скопируйте все данные из раздела B в раздел A (это может закончиться неудачей, если раздел A сейчас слишком мал; в этом случае это решение на самом деле не одно)

c) Удалить раздел B

d) Создайте заново раздел B с увеличенным размером (после этого шага между разделом A и разделом B не останется места)

e) Скопируйте все данные из раздела A в раздел B

Лучшее решение

а) Сделайте полную резервную копию хотя бы раздела B

б) Удалить оба раздела

c) Воссоздайте оба раздела с размерами по мере необходимости

г) Восстановите резервную копию старого раздела B в новый раздел B

Хорошее решение

а) купить новый диск

б) Разметить новый диск, создавая разделы с размерами по мере необходимости

c) Сделайте полную резервную копию раздела B старого диска

г) Восстановите эту резервную копию в разделе B нового диска

д) Храните старый диск в безопасном месте на случай, если что-то пойдет не так. Поработав с новым диском около месяца, зная, что все хорошо, вы можете использовать старый диск для других целей.

Так почему первое решение плохо?

Во-первых, как вы, наверное, знаете, NTFS довольно сложна. Есть такие вещи, как ACL, жесткие ссылки, символические ссылки, ярлыки, разреженные файлы и альтернативные потоки, чтобы назвать несколько из них. Черт, даже встроенный проводник Windows показывает неправильные размеры каталогов, если есть жесткие ссылки! Лично я знаю ровно две программы, которые надежно копируют данные без потери такой информации; оба являются командной строкой, и их использование довольно сложно понять. Я определенно рекомендую их только для опытных пользователей.

Во-вторых, если ваш раздел B находится там, где находится ваша ОС, простое копирование его данных (даже с одним из упомянутых мной инструментов) в раздел A не приведет к загрузке ОС из раздела A.

Но даже это плохое решение сократит время, необходимое для операций с высоким риском (т.е. изменение размера раздела) до разумного уровня.

Некоторые дополнительные заметки:

  • Это мои личные мнения и лучшие практики, которые я разработал за эти годы (я делал такие вещи более одного раза)

  • Говоря "полная резервная копия", я, конечно, имею в виду резервные копии по типу изображения (в отличие от файловых резервных копий)

  • Существуют отличные бесплатные и коммерческие инструменты для создания резервных копий на основе изображений. Например, ищите dd, CloneZilla или TrueImage.

  • При восстановлении полных резервных копий, в зависимости от программного обеспечения, которое вы используете, конечному разделу может потребоваться размер, по крайней мере равный размеру исходного раздела.

  • После восстановления полной резервной копии в разделе, если этот раздел больше по размеру, чем раздел, из которого получена резервная копия, вам в конечном итоге (в качестве второго шага) необходимо расширить файловую систему, чтобы она использовала весь раздел (да, имея действительно возможна файловая система, ограниченная 100 ГБ на разделе размером 200 ГБ); необходимо ли это или нет, зависит от используемого программного обеспечения для резервного копирования.

  • И, наконец, еще раз, подумайте об этом: вы можете выполнять резервное копирование в одночасье, в чем проблема со временем, которое занимает по сравнению с потерей ценных личных данных (например, фотографий, которые вы сделали, когда были на вершине горы Эверест)? А если у вас нет денег на новый диск, вы можете спросить друга, позволит ли он вам использовать его внешний диск в течение дня или двух ...

1

Использование gparted на живой ОС:

  • Удалить А

  • Сделайте B как можно меньше, чтобы сэкономить время.

  • Скопируйте и вставьте B в свободное пространство, начиная с первого сектора. Это сохранит UUID раздела на случай, если загрузчик его использует. Обратите внимание, что вы не перезаписываете свой загрузчик, возможно, оставьте немного свободного места в начале.
  • Удалить B и расширить новый B, чтобы покрыть остальную часть диска.
  • В зависимости от того, как установлен ваш загрузчик, вам может потребоваться обновить его. Установка GRUB по умолчанию должна работать без обновления.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .