Назад | Перейти на главную страницу

Как переместить физический раздел в расширенный?

Учитывая такую ​​компоновку диска

                                            Disk: /dev/sdc
                                       Size: 119.9 GiB, 127865454592 bytes, 249737216 sectors
                                                 Label: dos, identifier: 0x000efb19

    Device               Boot                   Start              End          Sectors         Size        Id Type
>>  Free space                                   2048             8191             6144           3M                                 
    /dev/sdc1                                    8192          4615234          4607043         2.2G         e W95 FAT16 (LBA)
    /dev/sdc2                                 4615235         29985858         25370624        12.1G         5 Extended
    ├─Free space                              4618240          4620288             2049           1M
    ├─/dev/sdc5                               4620288          4685821            65534          32M        83 Linux
    ├─/dev/sdc6                               4685824          5210109           524286         256M         c W95 FAT32 (LBA)
    └─/dev/sdc7                               5210112         29983811         24773700        11.8G        83 Linux
    /dev/sdc3            *                   29986816         92901375         62914560          30G        83 Linux
    Free space                               92901376        249737215        156835840        74.8G

Если бы я хотел переместить sdc3 в sdc2 (таким образом сделав его sdc8), как бы я это сделал?

Примечание. Конец sdc7 - это начало sdc3, поэтому нет необходимости перемещать какие-либо данные. Этот вопрос заключается в том, как изменить таблицу разделов, чтобы sdc3 находился в sdc2

tl; dr Как изменить таблицу разделов без фактического редактирования данных в разделах?

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

dd if=/dev/sdc3 of=sdc3.bak bs=1M count=1

Затем используйте fdisk кому:

  1. Удалите разделы 2 и 3. При этом будут удалены все логические разделы.

  2. Создать логический раздел из сектора 4615235 по крайней мере в сектор 92901375.

  3. Восстановите все остальные разделы, сохраняя начальный сектор таким, каким он был, и пару секторов между разделами для EBR. Последняя версия fdisk предупредит вас, что обнаружил подпись файловой системы. Очевидно, что это хорошо, и блок должен не быть очищенным.

fdisk обычно пытается сохранить выравнивание разделов в 1 МБ, поэтому может потребоваться перейти в экспертный режим (Икс) и используйте б настроить начальный сектор.

Если это не ваш основной диск, я бы попытался изменить тип раздела на GPT и избавиться от странного поведения DOS.

Замечание: Все файловые системы могут находиться на разделе, большем, чем FS. Размер большинства из них можно безопасно изменить в соответствии с размером нового раздела.