Изменение размера раздела NTFS в направлении начала диска без перемещения данных
Скажем, у меня есть воображаемый жесткий диск на 200 ГБ (не SSD) с двумя разделами на 100 ГБ (A - первый, B - второй). Раздел А пуст. Раздел B наполовину полон. Я хочу удалить раздел A и изменить его размер до самого начала диска, чтобы у B было 200 ГБ.
Мой вопрос следующий - возможно ли изменить размер B, не перемещая содержимое B в начало диска? Может ли операция изменения размера пройти быстро? Я уже изменил размер раздела "к концу диска" (например, удалив B и изменив размер A на весь диск в этом случае), и это всегда было очень быстро. Но в моем случае я боюсь, что все данные должны быть перемещены или как минимум их местоположение обновлено в MBR, так как начальное расположение раздела изменится.
Я хочу использовать некоторые свободно доступные программы для Windows/Linux.
РЕДАКТИРОВАТЬ: диск используется только для данных, система не устанавливает разделов.
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) Воссоздайте оба раздела с размерами по мере необходимости
d) Восстановите резервную копию старого раздела B в новый раздел B
Хорошее решение
а) купить новый диск
б) Разметить новый диск, создавая разделы с размерами по мере необходимости
c) Сделайте полную резервную копию раздела B старого диска
г) Восстановите эту резервную копию в разделе B нового диска
д) Храните старый диск в безопасном месте на случай, если что-то пойдет не так. После работы с новым диском в течение месяца или около того, зная, что все хорошо, вы можете использовать старый диск для других целей.
Так почему первое решение плохо?
Во-первых, как вы, наверное, знаете, NTFS довольно сложна. Есть такие вещи, как ACL, жесткие ссылки, символические ссылки, ярлыки, разреженные файлы и альтернативные потоки, чтобы назвать несколько из них. Черт, даже встроенный проводник Windows показывает неправильные размеры каталогов, если есть жесткие ссылки! Лично я знаю ровно две программы, которые надежно копируют данные, не теряя такую информацию; оба являются командной строкой, и их использование довольно сложно понять. Я определенно рекомендую их только для опытных пользователей.
Во-вторых, если ваш раздел B находится там, где находится ваша ОС, простое копирование его данных (даже с одним из упомянутых мной инструментов) в раздел A не приведет к загрузке ОС из раздела A.
Но даже это плохое решение сократит время, необходимое для операций с высоким риском (т.е. изменение размера раздела) до разумного уровня.
Некоторые дополнительные заметки:
Это мои личные мнения и лучшие практики, которые я разработал за эти годы (я делал такие вещи более одного раза)
Говоря "полная резервная копия", я, конечно, имею в виду резервные копии по типу изображения (в отличие от файловых резервных копий)
Существуют отличные бесплатные и коммерческие инструменты для создания резервных копий на основе изображений. Например, ищите dd, CloneZilla или TrueImage.
При восстановлении полных резервных копий, в зависимости от программного обеспечения, которое вы используете, конечному разделу может потребоваться размер, по крайней мере равный размеру исходного раздела.
После восстановления полной резервной копии в разделе, если этот раздел больше по размеру, чем раздел, из которого была создана резервная копия, вам в конечном итоге (как второй шаг) необходимо расширить файловую систему, чтобы она использовала весь раздел (да, имея файловая система, ограниченная 100 ГБ на разделе размером 200 ГБ, действительно возможна); необходимо ли это или нет, зависит от используемого программного обеспечения для резервного копирования.
И наконец, еще раз, подумайте об этом: вы можете создавать резервные копии в одночасье, в чем проблема со временем, которое занимает по сравнению с потерей ценных личных данных (например, фотографий, которые вы сделали, когда были на вершине горы Эверест)? И если у вас нет денег на новый диск, то вы можете спросить друга, позволит ли он вам использовать свой внешний диск в течение дня или двух...
Использование gparted на живой ОС:
Удалить А
Сделайте B как можно меньше, чтобы сэкономить время.
- Скопируйте и вставьте B в свободное пространство, начиная с первого сектора. Это сохранит UUID раздела на случай, если загрузчик его использует. Обратите внимание, что вы не перезаписываете свой загрузчик, возможно, оставьте немного свободного места в начале.
- Удалить B и расширить новый B, чтобы покрыть остальную часть диска.
- В зависимости от того, как установлен ваш загрузчик, вам может потребоваться обновить его. Установка GRUB по умолчанию должна работать без обновления.
Tl ;dr: EaseUS v14 Бесплатная версия
Все приведенные выше ответы довольно интересны, но неясно, перемещаются ли данные или нет. У моего жесткого диска на 4 ТБ было 3 раздела: первые 2 занимали 450 ГБ в начале жесткого диска и один 3,5 ТБ в конце. Позже, в NTFS, будучи почти заполненным, я сначала удалил 2 и расширил 3,5 ТБ до 4 ТБ. Очевидно, я действительно НЕ хотел, чтобы было перемещено более 3 ТБ данных: это заняло бы часы, даже дни! В бесплатной версии EaseUS Partition Manager v14 я просто выполнил обычную процедуру, перезагрузил компьютер, и инструмент обновил только метаданные раздела и MFT. Прошло не более 5 минут!
Родной метод
Windows 7 и новее могут изменять размеры разделов NTFS, но не могут перемещать начало раздела. Чтобы изменить размер на месте, вы хотите, чтобы Пуск -> Средства администрирования Windows -> Управление компьютером -> Управление дисками.
Отсюда вы можете щелкнуть правой кнопкой мыши разделы, чтобы увеличить или уменьшить. Это может даже изменить размер вашего системного раздела.
Если вы хотите переместить раздел, используя встроенные инструменты Window, вам нужно будет вручную перемещать файлы. Для несистемного раздела я бы сделал так:
- Удалите A (пустой раздел в начале диска) и создайте новый раздел как "Новый B"
- Переместите столько данных из B в "Новый B", сколько сможете. Используйте Shift + щелчок, чтобы выбрать в проводнике Windows, а затем щелкните правой кнопкой мыши, чтобы получить свойства, и дождитесь, пока он покажет размер. Это скажет вам, сколько вы выбрали, так что вы можете увидеть, если все это будет соответствовать.
- Если "Новый B" заполняется до того, как B опустеет, используйте вышеупомянутый инструмент, чтобы максимально уменьшить B.
- Создайте новый временный раздел "temp1" в конце диска в заполненном пространстве B. Нет начала копирования из B в "temp1"
- Повторите 3,4 с "temp2", "temp3" и т. Д., Пока B не станет пустым
- Удалить B; Пусто
- Развернуть "Новый B"
- Начните копирование файлов из временного раздела, который находится ближе к передней части диска. Когда он пуст, удалите его и разверните "Новый B"
- Повторите шаг 8, пока не будет сделано
Бесплатно как в пиве
Существует множество "бесплатных пробных" и "бесплатных для домашнего использования" программ, которые могут изменять размеры и даже перемещать разделы. Эти инструменты обычно требуют перезагрузки, чтобы повлиять на системный раздел, но они могут перемещать и изменять размеры разделов NTFS и FAT, используемых Windows. Если вам нужно уменьшить или увеличить системный раздел в качестве одного из ваших шагов, используйте встроенный инструмент.
Я недавно пользовался MiniTool и EaseUS, и оба работают хорошо. MiniTool пытается обмануть вас при установке шпионского ПО (см. "Я согласен с условиями и хочу установить шпионское ПО"; снимите флажок и нажмите "Далее"), но оно бесплатное как для личного, так и для делового использования. EaseUS бесплатен только для домашних пользователей и дорог для компаний с несколькими компьютерами. Оба ворчат вас рекламными акциями, чтобы продать вам лицензию.
Для вашего конкретного случая использования (чисто раздел данных) эти инструменты могут сделать все за 2 шага: 1. удалить раздел A 2. изменить размер B в начале диска
Бесплатно как в Речи
Уже упоминалось выше, это GParted Live. Но вы можете установить GParted практически на любом дистрибутиве Linux. Большинство живых USB дистрибутивов алло. Однако у меня возникли проблемы с операциями на системных разделах Windows, что привело к не загружаемой установке Windows. Чтобы инструменты выше не сломали ваш ботинок.
Gparted отлично работает для любых разделов linux или для разделов данных Windows.