Измените номер раздела с sda1 на sda2

У меня есть диск с двумя разделами: sda1 и sda2. Я хотел бы изменить число sda1 на sda2 и sda2 на sda1.

Это возможно, но я не помню эту процедуру. т.е. мой первый раздел будет sda2 и второй sda1, поэтому мне нужно указать ручной порядок, а не автоматический порядок, например, в fdisk -> x -> f.

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

Благодарю.

Причина: у меня есть приложение, которое нуждается в чтении данных из sda1, но данные находятся в sda2. Изменить таблицу разделов – это более быстрое решение этой проблемы. Система не критична, но я не хочу останавливать систему слишком долго.

Обновление : в версии fdisk OpenBSD есть эта функциональность.

6 Solutions collect form web for “Измените номер раздела с sda1 на sda2”

FYI, это плохая идея, и вы можете потерять все. Если вы все еще хотите это сделать, выполните следующие действия:

  1. Не делай этого. Если это не помогает, тогда:
  2. Используйте инструмент sfdisk : сначала сделайте резервную копию таблицы разделов, используя

     sfdisk -d /dev/sda > sda.out 

    Затем идите:

     sfdisk /dev/sda -O sda-partition-sectors.save 

    Вы увидите что-то вроде этого

     Checking that no-one is using this disk right now ... OK Disk /dev/sda: 1018 cylinders, 124 heads, 62 sectors/track Old situation: Units = cylinders of 3936256 bytes, blocks of 1024 bytes, counting from 0 Device Boot Start End #cyls #blocks Id System /dev/sda1 0+ 5 6- 23063+ 83 Linux /dev/sda2 6 1017 1012 3890128 83 Linux /dev/sda3 0 - 0 0 0 Empty /dev/sda4 0 - 0 0 0 Empty Input in the following format; absent fields get a default value. <start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s> Usually you only need to specify <start> and <size> (and perhaps <type>). /dev/sda1 : 

Теперь он просит вас предоставить новые данные для раздела «sda1». Поэтому вы должны указать числа sda2 здесь. Итак, я помещаю здесь «6 1012» и нажимаю Enter:

  /dev/sda1 :6 1012 /dev/sda1 6 1017 1012 3890128 83 Linux /dev/sda2 : 

Теперь проверьте, соответствуют ли цифры, напечатанные после нажатия Enter, такими же, как те, что были напечатаны ранее для sda2. Если все в порядке, продолжайте давать новые номера для sda2:

  /dev/sda2 :0 /dev/sda2 0+ 5 6- 23063+ 83 Linux /dev/sda3 : 

На этот раз достаточно было ввести «0» в моем случае – но вы должны убедиться, что цифры не перепутаны в вашем.

Затем продолжайте работу с другими разделами таким же образом. Если вы уже достигли конца диска, достаточно нажать Enter. Наконец, еще раз проверьте, все ли цифры в порядке и сохраните таблицу разделов (или нет). Если вы что-то испортили, посмотрите на man sfdisk и описания параметров «-d», «-O» и «-I».

Обратите также внимание, что после того, как вы совершили сумасшедшие изменения, вам, возможно, потребуется запустить «sync», чтобы разделы перечитывались, прежде чем пытаться их монтировать.

Я просто сделал это проще:

 # sfdisk -d /dev/sdb > sdb.bkp 

оставить копию для обеспечения безопасности

 # cp sdb.bkp sdb.new 

теперь редактируйте sdb.new, меняя ТОЛЬКО строки и номера разделов, как в моем случае:

из

 # partition table of /dev/sdb unit: sectors /dev/sdb1 : start= 1026048, size=975747120, Id=83 /dev/sdb2 : start= 2048, size= 204800, Id=83 /dev/sdb3 : start= 206848, size= 819200, Id= b /dev/sdb4 : start= 0, size= 0, Id= 0 

в

 # partition table of /dev/sdb unit: sectors /dev/sdb1 : start= 2048, size= 204800, Id=83 /dev/sdb2 : start= 206848, size= 819200, Id= b /dev/sdb3 : start= 1026048, size=975747120, Id=83 /dev/sdb4 : start= 0, size= 0, Id= 0 

затем отбросьте его обратно в таблицу разделов диска?

 # sfdisk /dev/sdb < sdb.new 

Моя последовательность нумерации исказилась после того, как я сжался и переместился прямо к единственному разделу (sdb1), чтобы добавить два меньших раздела в начале диска, используя gparted .

Если последняя команда не работает, как в моем случае, измените ее для:

 # sfdisk --no-reread -f /dev/sdb < sdb.new 

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

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

Вы можете использовать любой редактор разделов ( fdisk или cfdisk ) для редактирования разделов, но вам нужно либо записать текущие настройки, либо сделать снимок экрана. Удалите эти два раздела, а затем создайте их вручную, указав все правильные значения. Загрузите систему с помощью LiveCD, чтобы сделать это.

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

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

/dev/sda1 и /dev/sda2 являются блочными устройствами (8,1) и (8,2). Вы можете попробовать использовать mknod чтобы просто поменять два.

 telinit 1 (...) rm -f /dev/sda{1,2}; mknod /dev/sda1 b 8 2; mknod /dev/sda2 b 8 1 chmod 640 /dev/sda{1,2}; chown root:disk /dev/sda{1,2} reboot 

Просто помните, что это переключение произойдет только после того, как ваш загружаемый раздел /dev/ будет загружен при загрузке, поэтому initrd будет по-прежнему иметь «правильные», если вы его не исправите (упражнение для читателя – будет ли mkinitrd скопировать странность?) Это также не касается контекстов SELinux.

Я просто обнаружил удивительно простое решение этой проблемы. Предположим, что у вас есть только один раздел с именем /dev/sda3 . Вы хотите, чтобы его называли /dev/sda1 . Откройте gdisk , преобразуйте таблицу разделов в GPT, напишите и выйдите. Затем снова откройте его, нажмите сортировку (это изменит номер GPT на 1), а затем преобразует GPT обратно в MBR с помощью экспертных опций.

– Редактирование разделов / dev / sda3 в / dev / sda2 в терминале как root –

  1. Резервная таблица разделов

    sfdisk -d / dev / sda> sda.bkp

  2. Скопировать резервную копию таблицы разделов в новую таблицу разделов

    cp sda.bkp sda.new

  3. Изменить новую таблицу разделов

    gedit sda.new

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

Сохранить, закрыть

  1. Переустановите новую таблицу разделов

    sfdisk –no-reread -f / dev / sda <sda.new

  2. Перезагрузите компьютер

  • «Нет такого файла или каталога», когда я пытаюсь отформатировать логический том
  • Понимание многолучевого распространения и точек монтирования
  • Как получить доступ и редактировать файлы GRUB на SSD с Live CD?
  • Должен ли я изменить порядок логических томов до изменения размера?
  • Определение физического объема внутри несезонного диска
  • Добавление нового диска в раздел exsting в linux
  • Повреждение файловой системы Linux из-за неправильного завершения работы (fs ext4)?
  • Создание отформатированного раздела из ничего
  • Предотвращение Linux-тестирования для разделов
  • Восстановление информации секционирования с блочных устройств
  • Как уменьшить размер группы томов в LVM на Fedora 24
  • Linux и Unix - лучшая ОС в мире.