Мои основные разделы были заполнены до максимума, но я удалил некоторые и теперь хочу сделать один из моих логических разделов основным. Могу ли я сделать это с помощью gparted или других бесплатных инструментов?
Спасибо
Прежде чем что-либо делать, сделайте полную резервную копию металла, так как с этими типами процессов что-то не так.
«Легкая кнопка» - это Acronis Disk Director за 24 доллара.
Другой способ сделать это - отредактировать таблицу разделов.
ПРИМЕЧАНИЕ. Эта процедура не работает (я не думаю) в системе (например, Mac), использующей EFI.
Для этого загрузитесь с live CD Linux и запустите:
sudo sfdisk -d /dev/sda > partitions.txt
... в папке, в которую можно писать. Это даст вам файл с именем partitions.txt
это ваша таблица разделов. Затем отредактируйте этот файл с помощью вашего любимого текстового редактора и поместите логический раздел над расширенным разделом, изменив номера и порядок.
Например, если ваш sda5 - это раздел, который вы хотите сделать основным, измените «sda5» на «sda1» (или 2/3/4) и сдвиньте остальные числа вниз. Главное, вы хотите убедиться, что начало, размер и идентификатор совпадают.
Затем запустите:
sudo sfdisk --force /dev/sda < partitions.txt
При некоторых ограниченных ограничениях можно преобразовать логический раздел в первичный. Однако это довольно необычная операция, поэтому мне не известны какие-либо инструменты, которые поддерживают это из коробки за одну операцию, хотя вы должны иметь возможность сделать это самостоятельно с помощью parted, fdisk или аналогичных программ, хотя, возможно, с помощью пересчет начала / конца для разделов вручную.
Несколько лет назад я написал программа для печати содержимого таблицы разделов. Допустим, ваш диск разбит на разделы следующим образом:
Disk /dev/hda (CHS=30401/255/63)
WDC WD3200JS-00PDB0
+------------------------------+
0 - 1043 | hda1 | 8189 Mb
+------------------------------+
1044 - 2087 | hda2 | 8189 Mb
+------------------------------+
2088 - 4699 | hda3 | 20489 Mb
+ - - - - - - - - +------------------------------+
. 4700 - 5483 | hda5 | 6150 Mb
. +------------------------------+
. 5484 - 5999 | hda6 | 4048 Mb
. +------------------------------+
. 6000 - 7044 | hda7 | 8197 Mb
. +------------------------------+
. 7045 - 8089 | hda8 | 8197 Mb
h d a 4 +------------------------------+
. 8090 | hda9 | 40986 Mb
. 13314 | |
. +------------------------------+
. 13315 | |
. | |
. | hda10 | 134027 Mb
. | |
. 30400 | |
+ - - - - - - - - +------------------------------+
Здесь hda4 - это расширенный раздел, содержащий логические разделы. Сжимая hda4 (чтобы покрыть цилиндры с 4700 по 13314 или цилиндры с 5484 по 30400), можно было бы превратить hda5 или hda10 в первичный раздел.
Теперь, со строго теоретической точки зрения, возможно, можно было бы поместить первичный раздел внутри расширенного (вместо сжатия расширенного раздела и возможности изменять разделы только на концах), но кто знает, какие проблемы совместимости у вас будет запускаться этим. Такое расположение разделов будет считаться разумным для крайне небольшого числа программ / лиц (если есть / кто-либо).
В приведенном выше конкретном примере таблица разделов уже содержит 3 основных раздела в дополнение к расширенному разделу, поэтому не осталось записей для создания основного раздела; вам придется удалить один из hda1, hda2 или hda3, чтобы, возможно, заменить hda5 или hda10 на основной раздел.
Вы говорите, что у вас есть бесплатные записи для создания нового основного раздела, так что это должно быть нормально. Однако вы не указываете никаких деталей для логического раздела, который вы хотите преобразовать, поэтому я не могу сказать, возможно ли это, если вы не укажете более подробную информацию.
Сохраните / распечатайте копию таблицы разделов, прежде чем вы начнете с ней возиться. Это можно сделать с моим printpar программа, или с расстались при использовании единичных секторов (также можно использовать "Fdisk -l", но это надежно только в том случае, если разделы начинаются на точных границах циклического устройства (что традиционно имело место, но становится все реже)).
Убедитесь, что копия из пункта 1 доступна либо на бумаге, либо в каком-либо другом хранилище, кроме изменяемого диска.
На всех этапах ниже убедитесь, что программа редактирования разделов никоим образом не затрагивает файловые системы при выполнении упомянутых операций (т.е. для parted вы должны использовать «mkpart», а не «mkpartfs»).
Удалите все логические разделы (например, с hda5 по hda10), а затем удалите расширенный раздел (например, hda4).
Восстановите расширенный раздел, теперь с перемещением начала или конца так, чтобы изменяемый раздел оказался за пределами расширенного раздела (например, hda4 охватывает цилиндры с 4700 по 13314 или цилиндры с 5484 по 30400, только цифры в цилиндрах не являются 100% надежными , вы должны использовать точные номера секторов).
Воссоздайте все логические разделы, кроме того, который нужно изменить (например, с hda6 на hda10 или с hda5 на hda9), убедившись, что они начинаются и заканчиваются в очень точных местах, как и раньше (вот почему вы хотите работать с абсолютными номерами секторов).
Воссоздайте раздел, который должен быть изменен как основной, также начиная / заканчивая в тех же местах, что и раньше. На этом этапе чрезвычайно важно иметь возможность указывать местоположения в абсолютных секторах, потому что новый основной раздел обычно создается с 63 секторами, по сравнению с тем, где был исходный логический раздел.
Распечатайте новую копию таблицы разделов и сравните. Единственными отличиями должны быть новый основной раздел, начало / конец расширенного раздела и, возможно, изменение нумерации логических разделов.
В приведенном выше примере, если исходный раздел hda3 удален (чтобы предоставить бесплатную запись для создания основного раздела) и hda5 преобразован в основной раздел (который затем становится hda3), макет будет следующим:
+------------------------------+
0 - 1043 | hda1 | 8189 Mb
+------------------------------+
1044 - 2087 | hda2 | 8189 Mb
+------------------------------+
2088 - 4699 | unused | 20489 Mb
+------------------------------+
4700 - 5483 | hda3 | 6150 Mb
+ - - - - - - - - +------------------------------+
. 5484 - 5999 | hda5 | 4048 Mb
. +------------------------------+
. 6000 - 7044 | hda6 | 8197 Mb
. +------------------------------+
. 7045 - 8089 | hda7 | 8197 Mb
h d a 4 +------------------------------+
. 8090 | hda8 | 40986 Mb
. 13314 | |
. +------------------------------+
. 13315 | |
. | |
. | hda9 | 134027 Mb
. | |
. 30400 | |
+ - - - - - - - - +------------------------------+
Обратите внимание, что все оставшиеся логические разделы перенумерованы по сравнению с исходной ситуацией.
Мой FixParts Программа - это инструмент с открытым исходным кодом, который может выполнять эту работу, хотя и с ограничениями того, что может быть преобразовано на основе ограничений и ограничений MBR, налагаемых вашим текущим макетом. (FixParts - это таблица разделов один редактор; он не может сжимать или перемещать разделы, поэтому, если все ваши первичные разделы тесно прижаты друг к другу и между ними нет места, единственный, который вы можете преобразовать в логический раздел, будет первым.)
Я использовал системный аварийный компакт-диск TestDisk, и после быстрого сканирования он перечислил все мои разделы, перевернул L на P, затем переписал таблицу разделов
это было грязно, но это работало
Загрузочный диск Paragon Partition Pro легко преобразует логический в основной. Просто сделал это.
Ты можешь использовать Мастер разделов (есть бесплатная версия) и следуйте инструкции в этой статье.