Как я могу увеличить раздел EFI на двойной загрузочной системе с Windows и Linux?

Я намерен установить Windows и Linux на моей системе, которая загружается в режиме UEFI.

для Linux я намерен сделать следующее:

  • установите ядро LTS и любую текущую версию mainline приносит с собой

  • использовать systemd-boot

Итак, в конечном счете, размер раздела EFI по умолчанию (100 МБ), который создается во время установки Windows, становится довольно переполненным (примерно Привыкнуть 94 МБ). Поэтому я хотел бы увеличить этот раздел. Как как стандартная рекомендация для разметки диска помещает этот раздел MSR сразу после раздела EFI, я удалил раздел MSR. Затем Win 10 не запускается, и программа восстановления загрузки с USB-накопителя Win 10 смогла восстановить проблемы загрузки.

но основная проблема в том, что я не могу увеличить раздел EFI, либо с diskpart или с GParted (на Xubuntu 16.04.1 USB привод.) когда я запускаю extend size=100 в diskpart написано:

вы не можете уменьшить oem esp или восстановления разделов. Выбранный том [etc.]...

GParted выдает ошибку

gnu parted не может изменить размер этого раздела. мы работаем над этим

кто-нибудь знает о необходимых шагах или, возможно, "простой" последовательности их для увеличения раздела EFI?

18
задан henry
14.02.2023 18:19 Количество просмотров материала 3339
Распечатать страницу

1 ответ

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

Способ #1

этот метод довольно простой:

  1. резервное копирование ESP. Будет достаточно резервной копии на основе файлов.
  2. отключить ЕСП.
  3. найдите GUID ESP, введя sgdisk -i 1 /dev/sda as root. (В этом примере предполагается, что ESP является первым разделом на первом диске -- /dev/sda1. Если оно другой раздел, вы должны изменить -i 1 надлежащим образом. Если он находится на диске, отличном от /dev/sda, вы должны изменить эту часть.) Эта команда показывает различную информацию, включая одну строку, обозначенную как Partition unique GUID. Сохраните это значение. (Обратите внимание, что запись и повторное создание значения GUID выполняется в интересах встроенного диспетчера загрузки компьютера. Если вы готовы использовать efibootmgr чтобы повторно создать записи менеджера загрузки, вы можете отказаться от этого шага и шага #6, ниже.)
  4. удалить ЭКСТРАСЕНСОРНОЕ ВОСПРИЯТИЕ.
  5. создайте новый ESP нужного размера. Обратите внимание, что это означает и ESP и новую файловую систему на нем.
  6. использовать gdisk или sgdisk для изменения GUID нового ESP. Например, sgdisk -u 1:2C17D5ED-850D-4F76-BA31-47A561740082 /dev/sda (as root) изменяет GUID /dev/sda1 к 2C17D5ED-850D-4F76-BA31-47A561740082.
  7. смонтировать новый ESP
  8. восстановить резервные копии файлов в ESP.
  9. при необходимости, редактировать /etc/fstab записать новый "UUID" для ESP (действительно серийный номер диска для файловой системы FAT). Вы можете использовать blkid найти новый серийный номер.

обратите внимание, что некоторые инструменты секционирования, такие как gdisk и sgdisk, может потребоваться перезагрузка перед ОС распознает изменения на дисках, которые используются. Таким образом, вы должны либо использовать аварийную загрузку диска, без смонтированных разделов на целевом диске; или использовать такой инструмент, как GParted для операций удаления и создания разделов. (Изменение GUID раздела не делает изменение, которое требует перезагрузки.)

эта процедура может привести к катастрофическому сбою, особенно если вы небрежно обращаетесь с файлами резервных копий. Кроме того, если что-то пойдет не так, ваш компьютер будет временно не загружается. Имея копию моего rEFInd boot manager на USB флэш-диск может быть полезным в случае такой чрезвычайной ситуации.

Способ #2

я не пробовал это с diskpart, поэтому я не знаю, что вызывает это предупреждение; но это может быть атрибутом секции (одна из двух вещей, которые libparted называет "флагами"). Что-то вроде "системного раздела" может привести к тому, что инструменты секционирования откажутся прикасаться к разделу. Вы можете использовать parted или GParted искать эти флаги; однако, я не уверен, что они покажут все флаги. Если раздел имеет флаги, отличные от "boot" (и "esp", с более новыми версиями libparted), вы можете рассмотреть возможность удаления дополнений. В качестве альтернативы можно использовать gdisk, который будет показывать все атрибуты:

  1. тип gdisk /dev/sda (или любой диск ИД) как root.
  2. тип p для просмотра таблицы разделов.
  3. тип i для просмотра сведений о разделе. Вам будет предложено указать номер раздела. Появится несколько строк с подробной информацией о разделе.
  4. искать Attribute flags line. Если флагов нет, это строка покажет значение 0000000000000000. Если да, то вы можете бросить gdisk введя q. Если он показывает атрибуты, и вы хотите удалить их, продолжайте....
  5. тип x для входа в меню экспертов.
  6. тип a изменить атрибуты. Вам будет предложено ввести номер раздела. Ввести его.
  7. вам будет показан список из шести известных атрибутов и краткое описание того, какие из них установлены. Введите номер поля, которое необходимо изменить.
  8. предыдущий шаг будет повторяться автоматически, пока вы не нажмете клавишу Enter без значения в качестве сигнала для остановки редактирования.
  9. тип w для выхода и сохранения изменений. (Если вы думаете, что напортачили, введите q для выхода без сохранения изменений;gdisk сохраняет изменения в памяти до тех пор, пока вы не скажете записать их на диск с помощью w, поэтому вы можете легко прервать большинство действий.)
  10. для безопасности, перезагрузка.
  11. резервное копирование ESP.
  12. использовать GParted для размер ЕСП.

этот подход вряд ли будет работать, чем первый, Как потому, что проблема может быть не атрибутом раздела, так и потому, что, по моему опыту, GParted часто повреждает файловые системы FAT при их изменении. Этот последний момент не следует недооценивать; если GParted все испортит, вам придется восстановить все из резервной копии, и эта процедура в конечном итоге будет иметь худшие аспекты обоих методов. OTOH, если GParted успешно в размеры ЭСП, этот метод может быть немного проще и менее рискованным, чем предыдущий.

Дополнительные Комментарии

конечно, если вы еще не установили Windows, есть гораздо более простой способ сделать то, что вы хотите: создать ESP вручную до установка Windows. Затем вы можете сделать ESP таким большим, как вам нравится.

другой подход - использовать нечто отличное от systemd-boot. Этот менеджер загрузки очень ограничен своей неспособностью запускайте ядра или загрузчики с любого раздела, кроме раздела, на котором они хранятся. (По крайней мере, это было ограничено таким образом в последний раз, когда я смотрел на него; и характер вашего вопроса подразумевает, что вы считаете, что он все еще настолько ограничен. Я еще не ознакомился с ним недавно.) Ни GRUB, ни rEFInd не страдают от этого ограничения, и поэтому их будет проще настроить-или, по крайней мере, они не потребуют манипуляций с разделами, которые потребует systemd-boot.

1
отвечен Rod Smith 2023-02-16 02:07

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя

Похожие вопросы про тегам:

efi
gparted
linux
partitioning
windows-10
Вверх