Рейтинг:0

Загрузочный раздел транзакционного сервера OpenSUSE и efi

флаг cn
mip

У меня следующая проблема с транзакционным сервером OpenSUSE. По ошибке он был настроен с /ботинок существование доб4 раздел на выделенном диске, который также содержит /загрузка/efi. Я заметил, что /ботинок также создается в корне бтрфс / раздел, и на самом деле этот используется GRUB и транзакционное-обновление. Итак, обычному пользователю или процессу доб4 /ботинок виден, но при размонтировании обычно скрывается бтрфс /ботинок появляется...

Я бы с радостью избавился от калеки доб4 версия /ботинок, а другой (тот, что бтрфс) не имеет /загрузка/efi подкаталог. Так как /загрузка/efi должен быть специальный раздел FAT32, это должен быть отдельный раздел, и мне нужна точка монтирования. Но транзакционный сервер не позволяет мне изменять макет каталога, поэтому я не могу создать загрузка/efi каталог в бтрфс /ботинок. Любые идеи, как сделать систему здоровой, кроме полной переустановки?

paladin avatar
флаг id
Том, на котором установлена ​​ваша btrfs-rootfs, какую таблицу разделов она использует? MS-DOS или GPT? Не могли бы вы предоставить больше информации о вашей системе? В частности, почему вы не можете создать каталог в /boot ? PS, насколько мне известно, смонтированный раздел EFI не требуется для загрузки, потому что ваш EFI-BIOS читает EFI-раздел, полностью минуя любую ОС.
paladin avatar
флаг id
PS вы уверены, что ваша файловая система btrfs не является рейдом в стиле btrfs? Почему вы вообще хотите изменить свою работающую систему? Некоторые старые ядра не могут загружаться напрямую из btrfs. Убедитесь, что вашего ядра, которое используется во время загрузки, достаточно.
флаг cn
mip
@paladin это GPT. Проблема не в самой загрузке - вы правы, что в этот момент раздел не нужно монтировать. Проблема связана с инструментами конфигурации GRUB, поскольку они должны видеть «boot/efi» при обновлении конфигурации загрузки. Да, `btrfs` находится в разделе RAID. Дело в том, что сервер транзакций нуждается в `btrfs` даже для `/boot`. Я знаю, это звучит странно, но сервер, по-видимому, без моего ведома создал свой собственный `/boot`, выполняя транзакционное обновление.
флаг cn
mip
Он отказывается распознавать раздел `ext4`, смонтированный как `/boot` (в fstab), и недавно я узнал, что транзакционный сервер должен иметь `/boot` на btrfs. Например. когда я делаю `transactional-update grub.cfg` или `transactional-update bootloader`, он выбирает версию `/boot` `btrfs`, где хранится последнее ядро....
флаг cn
mip
@paladin Я забыл сказать вам, почему я могу создать каталог в `/ boot`. Это еще одно преимущество транзакционного сервера. Он использует `btrfs` для записи изменений в новый снимок, так что обновление не влияет на работающую систему. Вы также всегда можете перейти к предыдущим состояниям, например, на виртуальной машине. Это особенно хорошо для дистрибутива с плавающим выпуском, такого как OpenSUSE Tumbleweed. Вся файловая система доступна только для чтения (за исключением таких каталогов, как `/etc` или `/home`). Вы можете обновить его только через моментальные снимки для этой программы «транзакционного обновления».
Рейтинг:1
флаг id

Что касается вашего комментария, я бы предложил следующее, необычное.

Пожалуйста, обратите внимание, что вы должны сами протестировать эти «идеи», так как это не 100% инструкция по решению вашей проблемы, а просто общая идея для вас, как это сделать!

Эти системные изменения должны быть хорошо отмечены и задокументированы вами, чтобы ни один системный администратор в будущем не задавался вопросом «какого хрена?».

  1. Размонтировать ext4-/ботинок и твой жир32-/загрузка/efi файловая система, так что вы довольны своей файловой системой только btrfs. Удалите их также из автомонтирования (отключение в fstab и т.п.).

  2. Теперь у вас есть 2 варианта: либо вы достаточно смелы, чтобы создать новый подтом btrfs, что даст вам хороший результат, либо вы монтируете свой раздел EFI в /главная/.EFI и вам всегда придется вручную перенастраивать GRUB!

    Классный вариант A: создайте подтом btrfs следующим образом: btrfs subvolume создать /boot/efi.

    Сумасшедший вариант B: Создайте каталог в своем /дом как так mkdir /home/.EFI && chown root. /home/.EFI && chmod 700 /home/.EFI && echo "смеется, я сошел с ума"

  3. Если вы выбираете крутой вариант А, у меня для вас хорошие новости. Просто смонтируйте файловую систему efi в этот каталог/подтом (/загрузка/efi) и сделать обновление-личность и после этого сделать grub-установить /dev/sdX куда СДХ должно быть вашим загрузочным устройством. Также добавьте свою файловую систему efi в свой фстаб для автомонтирования.

  4. Когда вы сумасшедший, вы делаете сумасшедший вариант B. Вы монтируете свою файловую систему efi в /главная/.EFI. Также добавьте это в свой фстаб для автомонтирования, если возможно, в противном случае не выполняйте автомонтирование. Сделайте также обновление-личность и следуйте за ним с помощью grub-install --efi-directory=/home/.EFI/dev/sdX куда СДХ должно быть вашим загрузочным устройством.

Примечание: вашим загрузочным устройством должно быть устройство с файловой системой efi.

PS возможно иметь несколько копий файловой системы efi на разных устройствах (для избыточности), но вам нужно сказать ей, чтобы она очистилась. Обычно это происходит автоматически, но в вашем случае это может быть немного сложнее.

PPS Подтомы btrfs обычно не делаются снапшотами, но для файловой системы efi в этом обычно нет необходимости — пожалуйста, проверьте всю вашу систему, особенно функциональность моментальных снимков, после добавления подтома

paladin avatar
флаг id
**Это не проверено, и это может даже не работать ^^**
флаг cn
mip
Спасибо за идею, буду тестировать.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.