У меня возникла следующая проблема с транзакционным сервером OpenSUSE. По ошибке он был настроен /boot
наext4раздел на выделенном диске, который также содержит /boot/efi
. Я заметил, что /boot
также создан на корнеbtrfs /
раздел и на самом деле он используется GRUB итранзакционное обновление. Так что для обычного пользователя или процессаext4 /boot
виден, но когда вы отмонтируете его, он обычно скрытbtrfs /boot
появляется...
Я бы с радостью избавился от калекиext4версия /boot
, но другая (та, что сbtrfs) не имеет /boot/efi
подкаталога. Поскольку /boot/efi
должен быть специальный раздел FAT32, он должен быть отдельным разделом, и мне нужна точка монтирования. Но транзакционный сервер не позволяет мне изменять структуру каталога, поэтому я не могу создать boot/efi
каталог вbtrfs /boot
. Есть идеи, как сделать систему здоровой, кроме полной переустановки?
решение1
Относительно Ваших комментариев я бы предложил следующее, необычно.
Обратите внимание, что вы должны самостоятельно проверить эти «идеи», поскольку это не 100% инструкция по решению вашей проблемы, а всего лишь общая идея, как это сделать!
Эти системные изменения должны быть вами тщательно зафиксированы и задокументированы, чтобы ни один системный администратор в будущем не задавался вопросом «что за фигня?».
Размонтируйте ваши ext4-
/boot
и fat32-/boot/efi
файловые системы, так что вы будете довольны только вашей btrfs файловой системой. Удалите их также из автомонтирования (отключив в fstab или т.п.).Теперь у вас есть 2 варианта: либо вы достаточно смелы, чтобы создать новый подраздел Btrfs, что даст вам хороший результат, либо вы монтируете свой раздел EFI,
/home/.EFI
и вам всегда придется вручную перенастраивать GRUB!Отличный вариант А: создайте подраздел btrfs следующим образом:
btrfs subvolume create /boot/efi
.Безумный вариант B: Создайте каталог в вашем
/home
as somkdir /home/.EFI && chown root. /home/.EFI && chmod 700 /home/.EFI && echo "lol, I'm crazy"
Если вы выбираете крутой вариант A, у меня для вас есть хорошие новости. Просто смонтируйте свою файловую систему efi в этот каталог/подтом (
/boot/efi
) и выполните ,update-grub
а затем выполните ,grub-install /dev/sdX
гдеsdX
должно быть ваше загрузочное устройство. Также добавьте свою файловую систему efi в свойfstab
для автомонтирования.Когда вы сумасшедший, вы делаете сумасшедший вариант B. Вы монтируете свою файловую систему efi в
/home/.EFI
. Также добавьте это в свойfstab
for automount,если возможно, в противном случае не делайте автомонтирование. Сделайте такжеupdate-grub
и укажите после него,grub-install --efi-directory=/home/.EFI /dev/sdX
гдеsdX
должно быть ваше загрузочное устройство.
Примечание: загрузочным устройством должно быть устройство с файловой системой efi.
ПСвозможно иметь несколько копий файловой системы efi на разных устройствах (для избыточности), но вам нужно сказать об этом grub. Обычно это происходит автоматически, но в вашем случае это может быть немного сложнее
ППСПодтома btrfs обычно не делаются снимками, но для файловой системы efi это обычно не требуется -пожалуйста, протестируйте всю вашу систему, особенно функцию моментальных снимков, после добавления подтома