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

Команда Convert ImageMagick может помочь Вам обрезать свой файл в 2 частях. См. http://www.imagemagick.org/Usage/crop/

На вашем месте я записал бы (оболочка) сценарий как это:

  1. Разделите свой файл с pdfsam: 1 страница = 1 файл на диске (Формат не имеет значения. Выберите тот, который знает ImageMagick. Я просто взял бы PS или PDF.
  2. Для каждой страницы обрежьте первую половину и поместите ее в файл, названный $ {PageNumber} A

  3. Обрежьте вторую половину и поместите ее в файл, названный $ {PageNumber} B.

    Вы получаете 1A.pdf, 1B.pdf, 2A.pdf, 2B.pdf, и т.д.

  4. Теперь, соберите это снова в новом PDF. Существует много методов, чтобы сделать это.

20
28.03.2015, 01:25
7 ответов

К вашему сведению это - плохая идея, и можно потерять все. Если Вы все еще хотите сделать это, вот шаги:

  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' опции.

Заметьте также, что, после того как Вы внесли сумасшедшие изменения, Вы, возможно, должны были бы выполнить 'синхронизацию' так, чтобы разделы были перечитаны, прежде чем Вы попытаетесь смонтировать их.

18
27.01.2020, 19:43
  • 1
    Спасибо за ответ. Вы правы, это страшно :). –  Rufo El Magufo 15.08.2011, 05:27
  • 2
    Замечательно злой. Что происходит, если числа не являются тем же? Сдаться и повторное разделение? (Это - то, что я сделал) –  supervacuo 19.08.2012, 08:44
  • 3
    @supervacuo Testisk мог бы помочь Вам затем. Поиск testdisk пакет в базе данных программного обеспечения Вашего дистрибутива. –  rozcietrzewiacz 20.08.2012, 09:29
  • 4
    @supervacuo, Если числа не являются тем же затем Ваши новые разделы, не находится в том же месте как старые разделы, и Вы потенциально повредите их. Если Вы не делаете ничего больше к диску затем, можно восстановить таблицу разделов, которой Вы, надо надеяться, создали резервную копию прежде, чем запуститься, и попробовать еще раз. Если не затем необходимо надеяться, что корректные числа находятся все еще на консоли где-нибудь, или что можно помнить точный размер и местоположение разделов и разработать числа. –  Micheal Johnson 21.05.2016, 10:21

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

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

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

3
27.01.2020, 19:43
  • 1
    я ничего не могу изменить. Моя система является Xen DomU, и проблема находится в Dom0. Я мог воссоздать порядок разделов, но более сложен в моей ситуации. Но так или иначе, я хотел бы, знают как изменение порядок. –  Rufo El Magufo 15.08.2011, 03:06

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

Примечание: Вы не упоминали, где Вы загружаетесь от, и это решение и никто другой один в то время, когда я пишу это, обращаются к тому, что необходимо было бы сделать, чтобы заставить 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.

2
27.01.2020, 19:43
  • 1
    Загрузчик не является проблемой :). Спасибо за решение, но я должен изменить порядок в таблице разделов, не в системе. –  Rufo El Magufo 15.08.2011, 12:50
  • 2
    Это не собирается работать над любой системой, которая использует udev, и это только помогло бы если приложение, прочитанное из названного файла /dev/sda (в противоположность чтению диска непосредственно). –  Gilles 'SO- stop being evil' 15.08.2011, 21:30
  • 3
    Оба - согласованный. Целым вопросом, по моему скромному мнению, является упражнение в боли. Я не был уверен в udev материал; по-видимому, первая система I sshd в не имел его. –  Aaron D. Marasco 16.08.2011, 04:36

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

2
27.01.2020, 19:43

Я просто сделал это более легким способом:

# 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

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

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

# sfdisk --no-reread -f /dev/sdb < sdb.new
32
27.01.2020, 19:43
  • 1
    Это работало на меня, и я не заканчивал тем, что нуждался в той 2-й команде. команда –  Aaron Franke 07.11.2016, 01:50

- редактирование разделов / dev / sda3 к / dev / sda2 в терминале в качестве root -

  1. Таблица резервного копирования

    SFDISK -D / DEV / SDA> SDA.BKP

  2. Копировать раздел Таблица резервного копирования на новую таблицу разделов

    CP SDA.BKP SDA.New

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

    GEDIT SDA.NEW

enter image description here

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

  1. Установите флажок Новый раздел

    SFDISK --NO-REREAD -F / DEV / SDA

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

1
27.01.2020, 19:43

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

Я хотел переупорядочитьвсемои разделы, чтобы они были в порядке.

Если вы более опытны, у вас есть -несущественные или резервные копии -данных, и вы готовы исправить любые проблемы в результате, вы можете загрузиться с Live CD и сделать это следующим образом:

]
sudo fdisk /dev/sdX

затем:

  • xдля входа в экспертный режим
  • fдля исправления порядка привода (возможно iдля игнорирования любых предупреждений, если требуется)
  • rдля возврата в нормальный режим
  • wдля записи изменений на диск и выхода

Дополнительно

Я не помню точных дальнейших шагов, так как я сделал это только один раз и не тестировал повторно, но поскольку я также переносил установку, я также смонтировал разделы и скопировал все файлы:

sudo mkdir /mnt/sda4
sudo mount /dev/sda4 /mnt/sda4
sudo mkdir /mnt/sda5
sudo mount /dev/sda5 /mnt/sda5
date;cp -a /mnt/sda4/* /mnt/sda5;date

А потом получил идентификаторы разделов:

sudo blkid

и обновлено следующее, чтобы отразить новые значения UUID разделов:

  • /mnt/sda5/boot/grub/grub.cfg
  • /mnt/sda5/etc/fstab

Затем я обновил GRUB2:

sudo grub-install --root-directory=/mnt/sda5 /dev/sda
7
02.02.2020, 11:08

Теги

Похожие вопросы