Вопрос или проблема
На новом диске с инициализацией GPT (второй диск ПК) я создал раздел FAT32 с помощью gparted. Я хочу использовать его как EFI системный раздел, поэтому отметил его как загрузочный. После этого я проверил UUID, используя опцию “информация о разделе” в gparted, и он сообщил: 09B1-97A5. Насколько я понимаю, он должен быть C12A7328-F81F-11D2-BA4B-00A0C93EC93B.
Я также проверил диск с работающей операционной системой (Ubuntu 14) и обнаружил, что gparted сообщает EB78-9AD2 для фактического UUID загрузочного раздела. Что именно gparted сообщает как UUID на моем EFI системном разделе и почему это не совпадает с ожидаемым C12A7328-F81F-11D2-BA4B-00A0C93EC93B идентификатором?
Вы путаете UUID файловой системы с GUID раздела. Первые хранятся внутри файловых систем и могут использоваться в файле /etc/fstab
в Linux или командой mount
через параметр UUID=
. (Несмотря на название “UUID”, они не всегда являются истинными UUID. FAT, например, не использует UUID, поэтому для FAT вместо UUID используется серийный номер.) Эти UUID должны быть уникальными для любой данной файловой системы, хотя клонированные файловые системы могут иметь дублированные UUID.
GUID раздела, напротив, доступны только на дисках GPT. На самом деле существует два GUID, связанных с разделом:
- GUID кода типа, который является тем, что представляет собой C12A7328-F81F-11D2-BA4B-00A0C93EC93B. Этот конкретный GUID идентифицирует EFI системный раздел (ESP). Это эквивалент однобайтовых кодов типов разделов диска MBR.
- Уникальный GUID раздела, который, как и UUID файловой системы, должен быть уникальным для любого конкретного раздела. EFI использует этот GUID внутренне, и некоторые версии утилит Linux позволяют вам использовать его так же, как UUID файловой системы, но с использованием метки
PARTUUID=
вместоUUID=
.
Я нашел решение. Как предложил один из участников обсуждения, UUID на GParted не имеет отношения к GPT. Я на самом деле нашел правильный GUID, используя: sudo gdisk /dev/sda. После этого я использовал опцию “i”
Привет!
Я могу подтвердить это решение, так как оно сработало для меня. Я какое-то время загружался в режим аварии. Я нажимал enter и вводил exit или ctrl-d, иногда мне приходилось делать это несколько раз, но в конце концов это обычно срабатывало. Я хотел выяснить, что не так и загрузиться в Ubuntu без режима аварии. Windows 10 была предустановлена на моем ноутбуке и загружалась нормально. Я удалил Windows 10 и установил тестовую копию Ubuntu на /dev/sda1
, и она не загружалась в режиме аварии, так что я снова начал надеяться, что это не аппаратная ошибка, то есть просто поломка. Я прочитал это решение
“Добро пожаловать в режим аварии!” Думал, что это проблема fsck
И подумал, может быть, если я выполню fsck -y /dev/sda6
, это решит проблему, к сожалению, это не сработало. Затем я прочитал эту статью и выполнил more /etc/fstab
на обеих разделах Ubuntu. Несмотря на то что я установил оба раздела Ubuntu на одном и том же ноутбуке, в fstab были два разных значения UID для /boot/efi
.
Старая установка Ubuntu, которая загружалась в режиме аварии, имела следующее
UUID=BEAA-DA23 /boot/efi vfat defaults 0 1
Новый пустой тестовый раздел Ubuntu имел следующее
/dev/disk/by-uuid/AB34-68EA /boot/efi vfat defaults 0 1
Я выполнил blkid
, и он сообщает вам UUID корневого и своп-разделов, но не раздела /boot/efi
, который задним числом был причиной проблемы. Когда я удалил свой раздел Windows, мне нужно было создать новый раздел /boot/efi
, и UUID изменился, когда я это сделал. Новая установка Ubuntu заметила это и правильно сконфигурировалась. Но старая установка, на которой я установил все свои программы и имел все свои данные, осталась без изменений. Если вы хотите найти UUID вашего раздела /boot/efi
без установки новой копии Ubuntu, вы можете выполнить ls -l /dev/disk/by-uuid
, и UUID раздела /boot/efi
должен быть там.
Я выполнил sudo emacs /etc/fstab
на старом разделе Ubuntu, закомментировал старую строку вот так
#UUID=BEAA-DA23 /boot/efi vfat defaults 0 1
И под ней вставил новую информацию для /boot/efi
из тестового раздела Ubuntu.
/dev/disk/by-uuid/AB34-68EA /boot/efi vfat defaults 0 1
И пока что это работает. Раньше у меня был случайный перезапуск, что обычно не происходит, но я думаю, что это может быть что-то другое. Когда я перезагрузил снова, система не загрузилась в режиме аварии и загрузилась сразу в Ubuntu. Проблема, похоже, решена! Спасибо за то, что указали мне правильное направление, надеюсь, это объяснение поможет кому-то еще.
Удачи!
Ответ или решение
Неправильный GUID раздела EFI-системы: Разбор проблемы и ее решение
В современных системах, использующих GPT (GUID Partition Table), важно правильно настроить разделы, особенно тот, который будет выполнять функцию EFI System Partition (ESP). В вашем случае возникла путаница между UUID файловой системы и GUID раздела. Давайте разберем эту тему более подробно.
Понимание UUID и GUID
-
UUID (Universally Unique Identifier): Это уникальный идентификатор, который присваивается файловым системам и используется, например, в конфигурационных файлах Linux (как
/etc/fstab
). UUID для FAT32, который вы создали, фактически является серийным номером, так как FAT не поддерживает истинные UUID. -
GUID (Globally Unique Identifier): Это более широкий термин, который включает в себя два типа идентификаторов в контексте GPT:
- GUID типа раздела: Для EFI System Partition это условный идентификатор
C12A7328-F81F-11D2-BA4B-00A0C93EC93B
. Он указывает, что данный раздел предназначен для загрузки через UEFI. - Уникальный GUID раздела: Каждому разделу присваивается уникальный идентификатор, который также используется системами для определения разделов.
- GUID типа раздела: Для EFI System Partition это условный идентификатор
Ваша первичная проблема заключалась в том, что GParted показывал вам не GUID типа раздела, а UUID файловой системы (или серийный номер) для созданной вами FAT32-раздела.
Решение проблемы
Для того чтобы найти нужный вам GUID раздела, следует использовать утилиты, предоставляющие доступ к информации о GPT. В вашем случае вы правильно нашли решение, используя gdisk
.
Шаги для решения:
-
Запустите gdisk для просмотра GUID: Введите команду:
sudo gdisk /dev/sdX
Замените
/dev/sdX
на конкретный диск, на который вы хотите посмотреть. -
Использование опции "i": После запуска gdisk, выбирайте опцию "i" для получения информации о разделе. Это позволит вам увидеть GUID типа раздела, который должен соответствовать ESP.
-
Исправление конфигурации: Если у вас несколько установок Ubuntu, убедитесь, что в
/etc/fstab
у вас указаны правильные UUID для раздела/boot/efi
. Обнаружьте их с помощью команды:blkid
И внесите необходимые поправки, как вы уже сделали.
Вывод
Таким образом, ваша проблема связана не с тем, что вы неправильно создавали или настраивали раздел, а с путаницей между различными типами идентификаторов, используемыми в GPT и файловых системах. Правильное понимание и использование GUID и UUID помогут избежать подобных проблем в будущем. Настройка вашего /etc/fstab
и использование утилит типа gdisk
— это важные шаги для обеспечения корректной работы системы.
Если у вас возникнут дополнительные вопросы или понадобится помощь, не стесняйтесь обращаться к профессионалам в области IT или воспользоваться специализированной документацией.