Я использовал Gparted для удаления разделов EFI (/dev/sda1) и Ubuntu (/dev/sda2) на моем вторичном диске. Третий раздел (/dev/sda3) предназначен для данных, поэтому я изменил его размер, чтобы использовать все нераспределенное пространство, которое у меня осталось после удаления первых двух разделов. Теперь, имея на диске только один уникальный раздел, я хотел бы исправить его номер, чтобы получить /dev/sda1. Какой самый простой способ сделать это, который работает с диском, имеющим таблицу разделов GPT? Спасибо!
решение1
gdisk
Для перезаписи таблицы разделов можно использовать :
судо gdisk /dev/sda p (команда p выводит на экран последнюю таблицу разделов) s (команда s сортирует записи таблицы разделов) p (используйте команду p еще раз, чтобы увидеть результат на экране) w (записать измененную таблицу разделов на диск) q (выйти из gdisk)
Самую полезную информацию вы найдете на gdisk
сайтеhttp://www.rodsbooks.com/gdisk/
решение2
Заинтригованный находкой последней ссылки и жаждущий узнать что-то новое, я воспроизвел ситуацию с разделами Generoso на своей системе, используя USB-накопитель на 32 ГБ. Ниже приведены мои выводы, но сначала мои:
Вывод: Поскольку мой пример нацелен на 1 (последний) раздел, ближе к концу я просто изменил его имя. Я не трогал сами сектора. В ссылке в моем комментарии выше показан пример, где номера секторов перемещаются. Я последовал этому примеру и ужасно облажался и уничтожил USB-диск, доказав, насколько опасно играть с разделами на самом деле!!
Возможно, мой сценарий также работает с несколькими разделами, не стесняйтесь попробовать его сами. Я бросаю вам вызов, чтобы вы использовали для этого свой основной раздел... ха-ха.
Хорошо, вот мои:
Результаты: С помощью Gparted я создал 3 раздела, каждый по 1 ГБ.
# fdisk -l /dev/sdc
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf33657fc
Device Boot Start End Sectors Size Id Type
/dev/sdc1 2048 2099199 2097152 1G 83 Linux
/dev/sdc2 2099200 4196351 2097152 1G 83 Linux
/dev/sdc3 4196352 6293503 2097152 1G 83 Linux
С помощью Disks смонтировал раздел 3.
Вручную поместил на него файл.
# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root 16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt
Использование Disks для размонтирования раздела 3.
Использование Gparted для удаления разделов 1 и 2 и увеличения раздела 3 для использования всего диска.
# fdisk -l /dev/sdc
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf33657fc
Device Boot Start End Sectors Size Id Type
/dev/sdc3 8192 62844671 62836480 30G 83 Linux
Использование Disks для монтирования раздела 3.
Проверьте файл на разделе 3.
# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root 16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt
Использование Disks для размонтирования раздела 3.
Скопируйте таблицу разделов с диска.
Покажите таблицу разделов.
# sfdisk -d /dev/sdc > sdc.tab
# cat sdc.tab
label: dos
label-id: 0xf33657fc
device: /dev/sdc
unit: sectors
/dev/sdc3 : start= 8192, size= 62836480, type=83
Используя vi sdc.tab
для изменения sdc3 на sdc1.
Применить измененную таблицу разделов.
# sfdisk --no-reread -f /dev/sdc < sdc.tab
Disk /dev/sdc: 30 GiB, 32176472064 bytes, 62844672 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xf33657fc
Old situation:
Device Boot Start End Sectors Size Id Type
/dev/sdc3 8192 62844671 62836480 30G 83 Linux
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Script header accepted.
>>> Created a new DOS disklabel with disk identifier 0xf33657fc.
Created a new partition 1 of type 'Linux' and of size 30 GiB.
/dev/sdc2:
New situation:
Device Boot Start End Sectors Size Id Type
/dev/sdc1 8192 62844671 62836480 30G 83 Linux
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Как только команда завершится, раздел 1 автоматически смонтируется.
Проверьте файл.
# ls -l /media/willem/cd4746ac-6d9f-4057-9396-a593ce2f301d/
total 21436
drwx------ 2 root root 16384 May 27 00:12 lost+found
-rw-r--r-- 1 root root 21930117 May 27 00:14 SomeFile.txt
Использование Disks для размонтирования раздела 1.
Готово.
P.S. Я делал это cat SomeFile.txt
каждый раз, но посчитал излишним включать этот вывод.
решение3
Вы должны были изменить размер /dev/sda1, чтобы он был больше, чем /dev/sda3. Затем скопируйте sda3 поверх sda1. Проверьте файл sda1 и, если проблем нет, удалите sda3, измените размер sda1 соответствующим образом.