Как расширить раздел жесткого диска назад (влево) без сторонних инструментов?

15

введите описание изображения здесь

Я пытаюсь расширить D: partitionиспользование нераспределенного пространства 30,91 ГБ с левой стороны.

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

Однако как мы можем сделать это изначально (например diskpart) без установки / загрузки дополнительного программного обеспечения?

Pacerier
источник
«Сторонние инструменты в любом случае используют системные команды» - я думаю, вы думаете об инструментах дефрагментации, а не о менеджерах разделов. И да, большинство из них используют MS Defrag API для перемещения файлов, но у каждого из них есть собственный алгоритм компоновки (выбор файлов, куда они идут). API-интерфейс Defrag просто позволяет им перемещать части файлов единообразным (относительно) безопасным и поддерживаемым способом.
afrazier

Ответы:

13

Да, это возможно. Скопируйте все данные с диска D на другой диск / раздел, удалите том D и заново создайте его. Затем перенесите данные обратно на новый диск D.

Это единственный способ без сторонних инструментов.

Роберт
источник
1
Тьфу, я полностью забыл об этом методе.
Surfasb
18

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

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

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

Вероятно, риск потери данных при этом не встроен в ОС. Выгода для небольшого меньшинства пользователей не стоит (в первую очередь PR) ответственности, которую они будут брать на себя, если что-то пойдет не так.

Дэн возится с огнем
источник
4

Если вы не хотите тратить деньги на сторонние инструменты, вы можете изменить размер, используя GParted, и вы можете бесплатно загрузить GParted LiveCD. GParted Live CD Сайт

Помните, что изменение размера раздела для использования «предыдущего» пространства займет много времени, так как программное обеспечение раздела обычно должно копировать все данные из вашего раздела (259 Гб)

jhcaiced
источник
1
Конечно, GParted - это сторонний инструмент, но «Херпа» в ОП означает «коммерческий».
CarlF
Не могли бы вы уточнить второй абзац? Почему они должны копировать все данные из раздела, когда он расширяется назад?
Pacerier
@Pacerier При продвижении вперед вы выделяете кучу пустого места в конце диска. При расширении назад вы создаете пустое пространство в начале диска, а затем вам необходимо переместить файлы назад, чтобы использованное пространство находилось на внутренних кольцах диска.
alord1689
@ alord1689, я имею в виду, зачем нам перемещать файлы назад? Если мы не возражаем против фрагментации, не могли бы мы просто расширить, а затем оставить файлы в их первоначальном месте?
Пейсер
Сегменты, в которых находятся файлы, должны находиться рядом друг с другом. «Разделение» должно быть смежными сегментами.
alord1689
2

Вот еще одна возможность ...

  1. Получите другой диск с достаточным пространством для хранения содержимого диска D:
  2. Удалить существующий раздел D:
  3. Создайте новый раздел в пустом пространстве, который будет включать дополнительные 30 ГБ
  4. Скопируйте ваши файлы обратно

Убедитесь, что при выполнении копирования источником и местом назначения являются NTFS, и вы позаботились о том, чтобы сохранить разрешения.

Bigbio2002
источник
Это то же решение, что и superuser.com/a/346186/78897 прямо ...
Pacerier
1

Сырое? Нет третьей стороны? Изучите C ++, и вы сможете написать простой дефрагментатор, объединяющий раздел, который затем позволит вам сжать раздел. Вы можете загрузить Visual Studios Express в качестве среды разработки.

surfasb
источник
1
Компилятор c является сторонним инструментом. Моим первым предложением был шестнадцатеричный редактор, но потом я понял, что это также сторонний инструмент;)
Robert
1

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

Дэвид Шварц
источник
0

Просто переместите раздел назад с помощью стороннего инструмента, затем выдвиньте его вперед. Просто!

Bigbio2002
источник
С каких пор разделы можно перемещать и расширять? o_O
Тамара Вийсман
1
Вы можете использовать diskpart для расширения раздела вперед в свободное место.
Bigbio2002
Это все равно не заставит вас переместить раздел назад, что намного сложнее.
Тамара Вийсман
Правильно, я упомянул, что для этой части в моем ответе необходим сторонний инструмент.
Bigbio2002
1
Возможно, ОП отредактировал свой вопрос, чтобы уточнить, что после того, как я ответил, я не помню. Дата на этом посту почти год назад.
Bigbio2002