Преобразование раздела MBR в GPT без потери данных

У меня есть MBR раздел, который я хочу преобразовать в GPT без потери всех моих данных. Bios - это UEFI. Я не эксперт по жестким дискам, так что, пожалуйста, будьте терпеливы. Я видел этот и этот, но я не могу понять, смогу ли я применить эти процедуры без стирания всех моих файлов, так как раздел имеет только 2048 свободных секторов до начала данных. Это мой раздел:

enter image description here

вывод sudo fdisk -l /dev/sda

Disk /dev/sda: 111,81 GiB, 120034123776 bytes, 234441648 sectors
Disk model: Samsung SSD 840 
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: 0x00034386

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 201011199 201009152 95,9G 83 Linux
/dev/sda2       201013246 234440703  33427458   16G  5 Extended
/dev/sda5       201013248 234440703  33427456   16G 82 Linux swap / Solaris

Можно ли выполнить преобразование и сохранить мои данные?

2
задан 7 February 2021 в 03:53

2 ответа

Преобразование от MBR в GPT относится к диску, а не разбиению: Disks «Master Boot Record (MBR) Используйте стандартную таблицу раздела BIOS. Диски GUID TABLE (GPT) используют унифицированные расширяемые интерфейс прошивки (UEFI). Одним из преимуществ дисков GPT является то, что вы можете иметь более четырех разделов на каждом диске. GPT также требуется для дисков больше двух терабайт (Tb) ». ( Microsoft - преобразовать диск MBR в диск GPT )

Можно ли выполнить преобразование и сохранить мои данные?

Да .

Следуйте Это руководство (не нужно воспроизводить его здесь, так как это сайт SE).

Сводка указана здесь.

  1. sudo gdisk / dev / sda .
  2. Команда (? За помощью): n Чтобы создать новый «BIOS BOOT» (код EF02 ) раздел.
  3. Команда (? За помощью): w Чтобы написать таблицу раздела.
  4. PartProbe / dev / sda для перезагрузки таблицы раздела.

Чтобы добавить загрузку UEFI:

  1. Grub-install / dev / sda для повторной установки загрузчика grub с использованием новой схеме раздела.
  2. sudo gdisk / dev / sda , а затем n для создания раздела «Система EFI» (ESP).
  3. C Чтобы установить ярлык нового раздела на что-то без белых пробелов .
  4. Команда (? За помощью): W для записи таблицы раздела.
  5. PartProbe / dev / sda для перезагрузки таблицы раздела.
  6. MKFS -T VFAT -V / dev / disk / by-partlabel / efi-system (например), чтобы построить файловую систему для ESP.
  7. MKDIR / BOOT / EFI Для создания точки монтирования для ESP.
  8. Добавить / dev / disk / by-partlabel / efi-system / boot / efi vfat по умолчанию 0 2 (или все, что соответствует элементам 11 и 12 выше) в / etc / fstab Так что он автоматически установлен.
  9. Монтаж / ботинок / EFI для установки ESP.
  10. Grub-install --Target = x86_64-efi / dev / sda для установки загрузчика efi grub.
  11. Перезагрузка.
  12. Изменить BIOS BOOT -> BOOT UEFI в BIOS.
  13. Используйте одноразовое загрузку меню для загрузки диска. Возможно, вам придется перейти к диску: EFI -> Ubuntu -> GRUBX64.EFI .
  14. GRUB-Установите , чтобы повторно установить загрузчик EFI Grub, чтобы обновить селектор загрузки UEFI.

Примечания:

  1. Я не могу пропустить эту точку (даже если он упоминается через доску): Сделайте резервную копию ваших данных.
  2. Ваш / dev / sda1 начинается в секторе 2048, поэтому вы хотите идти.
  3. Вам может потребоваться , сделайте некоторую комнату для раздела системы EFI.
  4. Это (отмечено в комментарии) списки более рассеиваемых инструкций через ответы. И менее деталь.
2
ответ дан 18 March 2021 в 23:36

Короткая версия, да, это возможно. Но несколько баллов от меня:

  • при выполнении преобразования, загрузки от спасательных носителей (или только от установки носителя), в противном случае вы не сможете увидеть, если у вас есть какие-либо влияние на текущую систему ( Если используется раздел, ядро ​​не может перезагрузить таблицу раздела)
  • Резервное копирование вашей оригинальной таблицы раздела. Это не большой файл, просто делая DD, если = / dev / sda bs = 512 count = 2048 of = backupfile должно быть достаточно, чтобы отменить любой ущерб, который вы можете привести к вашим дискам, как в процессе преобразования Вы не будете трогать какие-либо ваши данные.
  • Если в любой момент вы думаете, что вы запутались, просто сделайте DD, если = BackupFile of = / dev / sda , и вы можете начать все сначала.
  • Теперь сделайте преобразование. Для начала протрите MBR с помощью Wipefs / dev / sda . Вы должны увидеть только что-то вроде ниже, поэтому идите вперед и протрите его Wipefs -f / dev / sda :
DEVICE OFFSET TYPE UUID LABEL
sda    0x1fe  dos       
  • Теперь продолжайте и создайте таблицу GPT с GDISK . Ключ здесь находится при создании разделов, обязательно совпадайте на старте и End , чтобы быть таким же, как раньше.
  • Обратите внимание, что вам не нужно создавать расширенный раздел в GPT, поэтому просто пропустите этот.

Вот вскрытие команд, которые вам нужно запустить. Я сделал против файла, но вместо этого вы можете сделать Sudo / dev / sda .

$ sudo gdisk /dev/sda
GPT fdisk (gdisk) version 1.0.5

Partition table scan:
  MBR: not present
  BSD: not present
  APM: not present
  GPT: not present

Creating new GPT entries in memory.

Command (? for help): n
Partition number (1-128, default 1): 
First sector (34-234441614, default = 2048) or {+-}size{KMGTP}: 2048
Last sector (2048-234441614, default = 234441614) or {+-}size{KMGTP}: 201011199
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 
Changed type of partition to 'Linux filesystem'

Command (? for help): n
Partition number (2-128, default 2): 5
First sector (34-234441614, default = 201011200) or {+-}size{KMGTP}: 201013248
Last sector (201013248-234441614, default = 234441614) or {+-}size{KMGTP}: 234440703
Current type is 8300 (Linux filesystem)
Hex code or GUID (L to show codes, Enter = 8300): 8200
Changed type of partition to 'Linux swap'

Command (? for help): p
Disk /dev/sda: 234441648 sectors, 111.8 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): 75C2AE94-C3C0-4927-A4D2-48BBDECE3AD7
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 234441614
Partitions will be aligned on 2048-sector boundaries
Total free space is 4973 sectors (2.4 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048       201011199   95.8 GiB    8300  Linux filesystem
   5       201013248       234440703   15.9 GiB    8200  Linux swap

Command (? for help): w

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/sda.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

Если ваш загрузчик на том же диске, есть очень хороший шанс, что он не будет загрузки. Это гораздо более вовлеченный процесс, поэтому, если это так ... Восстановите свой MBR (не забудьте сохранить Backupfile ), и вам нужно будет создать раздел загрузки EFI (если бы я был? Я бы сжимаю обмен и воссоздаю его, чтобы сделать некоторое пространство - 500 МБ или около того для загрузки EFI) и убедитесь, что вы получите установщик на нем. Убедитесь, что вы загружаетесь от загрузочного носителя UEFI, или было бы сложно установить GRUB в режиме UEFI.

2
ответ дан 18 March 2021 в 23:36

Другие вопросы по тегам:

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