У меня есть вопрос, я не очень много знаю о жестких дисках, поэтому вам придется поработать со мной.
Могу ли я изменить жесткий диск с GPT на MBR без потери данных на нем?
Обратите внимание, что на ноутбуке, на котором я собираюсь это сделать, нет операционной системы.
Я собираюсь загрузиться с usb и попытаться преобразовать его.
Вы можете преобразовать GPT в MBR и MBR в GPT без потери данных (я пробовал это) с помощью gdisk
в Linux.
Используйте на свой страх и риск
Выполните команду gdisk /dev/sdx
с sdx в качестве раздела вашего HDD
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************
Command (? for help):
Введите w для записи GPT-раздела на диск.
Нажмите y, чтобы подтвердить свой выбор.
Введите r для ввода опций восстановления и преобразования.
Введите g для преобразования раздела GPT в MBR.
Вы можете проверить таблицу командой p.
Предупреждение: Вы потеряете свой загрузчик (например, GRUB).
Вы можете проверить, является ли ваш раздел GPT или MBR сейчас gdisk /dev/sdx
с sdx в соответствии с вашим разделом HDD в Partition table scan(p).
Как сказал Крунал, gdisk испортит ваш grub, чтобы избежать режима спасения:
Если вы загружаетесь с BIOS, вам лучше создать загрузочный раздел BIOS перед тем, как написать и выйти из gdisk. (В противном случае требуется раздел EFI, если загрузка происходит из UEFI).
И вы grub-install /dev/sda
, чтобы исправить ваш загрузчик, затем перезагрузитесь и удачи.
Т.е. я использовал 2048 секторов между sda1 и sda5, ровно 1MB для загрузочного раздела BIOS:
Number Start (sector) End (sector) Size Code Name
1 2048 999423 487.0 MiB 8300 Linux filesystem
5 1001472 41940991 19.5 GiB 8E00 Linux LVM
Это дополнение к информации, предоставленной Krunal и clarkttfu, с более подробным описанием шагов по созданию загрузочного раздела BIOS и установке на него grub.
Если вы изменяете таблицу разделов на загрузочном диске, вам нужно будет создать новый загрузочный раздел "BIOS" для grub, в котором будет храниться загрузчик. В этих примерах используется диск /dev/sda, который обычно является загрузочным.
Сначала убедитесь, что перед текущим первым разделом есть место для загрузочного раздела, fisk -l должен показать, что первый раздел начинается с сектора 2048:
johnf@ubuntu:~$ sudo fdisk -l /dev/sda
[...]
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 499711 497664 243M 83 Linux
/dev/sda2 501758 125829119 125327362 59.8G 5 Extended
/dev/sda5 501760 125829119 125327360 59.8G 8e Linux LVM
Если это так, то у вас есть пространство, необходимое для создания раздела. Если нет, то вы не можете следовать этим инструкциям и иметь загрузочную систему.
Используйте gdisk для преобразования раздела в gpt, теперь вы можете создать новый раздел для MBR, запустите sudo gdisk /dev/sd, введите n
для создания нового раздела, примите предложенный номер раздела, вы должны иметь возможность выбрать первый сектор 34, установите тип раздела ef02:
Command (? for help): n
Partition number (2-128, default 2):
First sector (34-4294967262, default = 4294922240) or {+-}size{KMGTP}: 34
Last sector (34-2047, default = 2047) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): ef02
Changed type of partition to 'BIOS boot partition'
Теперь вы можете записать таблицу разделов с помощью w
. Снова запустите partprobe, а затем установите grub:
johnf@ubuntu:~$ sudo partprobe
johnf@ubuntu:~$ sudo grub-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
Теперь вы должны иметь возможность перезагрузить машину без проблем.