Вопрос или проблема
Я пытаюсь заставить мой примененный патч acs Antergos-ядро загрузиться с помощью rEFInd. Оно было автоматически обнаружено rEFInd, но не загружалось должным образом. Я получал ERROR: device 'UUID=...' not found. Skipping fsck.
, поэтому, чтобы обойти это и получить параметры ядра, я попробовал создать пользовательский пункт меню, который не сработал. Никакой информации, только черный экран. Кроме того, я хотел бы, чтобы тема rEFInd-minimal работала.
Обычный Antergos загружается идеально, после того как я вручную выбираю его из подменю rEFInd, и XUbuntu также работает хорошо.
Что касается темы, пользовательская иконка Antergos работает, но баннер — нет, а также не работают заменяющие иконки для XUbuntu или обычного Antergos.
rEFInd установлен на отдельном разделе следующим образом:
/dev/sda:
| EFI BOOT | Пустой Раздел | SWAP | XUbuntu | Antergos | Свободное место |
| 1.0 GB | 1.0 GB | 8.6 GB | 21 GB | 40 GB | 185 GB |
EFI BOOT:
.
└── EFI
├── BOOT
│ ├── bootx64.efi
│ ├── drivers_x64
│ ├── icons
│ ├── keys
│ └── refind.conf
├── refind
│ ├── rEFInd-minimal
│ └── refind-theme-regular
└── tools
refind.conf:
timeout 20
menuentry "Antergos IOMMU" {
icon EFI/refind/rEFInd-minimal/icons/os_antergos.png
volume Antergos
loader /boot/vmlinuz-linux-vfio
initrd /boot/initramfs-linux-vfio.img
options "root=/dev/sda5 rw quiet iommu=pt amd_iommu=on"
}
hideui singleuser,hints,arrows,badges
icons_dir EFI/refind/rEFInd-minimal/icons
banner EFI/refind/rEFInd-minimal/background.png
banner_scale fillscreen
selection_big EFI/refind/rEFInd-minimal/selection_big.png
selection_small EFI/refind/rEFInd-minimal/selection_small.png
showtools shutdown
/dev/sda5/boot/:
.
├── grub
│ ├── fonts
│ ├── grub.cfg
│ ├── grub.cfg.example
│ ├── grubenv
│ ├── i386-pc
│ ├── locale
│ └── themes
├── initramfs-linux-fallback.img
├── initramfs-linux.img
├── initramfs-linux-vfio-fallback.img
├── initramfs-linux-vfio.img
├── intel-ucode.img
├── vmlinuz-linux
└── vmlinuz-linux-vfio
Итак, через некоторое время (в основном просто игнорируя это и обходя, вручную редактируя загрузку rEFInd каждый раз, что раздражает) я решил эту проблему.
Проблема была в файле refind.conf.
Сначала тему поправили следующим образом:
#старое
icons_dir EFI/refind/rEFInd-minimal/icons
banner EFI/refind/rEFInd-minimal/background.png
selection_big EFI/refind/rEFInd-minimal/selection_big.png
selection_small EFI/refind/rEFInd-minimal/selection_small.png
#новое
banner ../refind/rEFInd-minimal/background.png
selection_big ../refind/rEFInd-minimal/selection_big.png
selection_small ../refind/rEFInd-minimal/selection_small.png
icons_dir ../refind/rEFInd-minimal/icons
Использование относительного пути сработало.
Пункт меню был проблемой для загрузки ядра VFIO.
# Не сработало
menuentry "Antergos IOMMU" {
icon EFI/refind/rEFInd-minimal/icons/os_antergos.png
volume Antergos
loader /boot/vmlinuz-linux-vfio
initrd /boot/initramfs-linux-vfio.img
options "root=/dev/sda5 rw quiet iommu=pt amd_iommu=on"
}
# Сработало
menuentry "Antergos IOMMU" {
icon EFI/refind/rEFInd-minimal/icons/os_antergos.png
volume Antegros
loader /boot/vmlinuz-linux-vfio
initrd /boot/initramfs-linux-vfio.img
options "root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro iommu=pt amd_iommu=on pcie_acs_override=downstream"
}
Таким образом, настоящей проблемой было то, что мой ярлык для установки Antergos был неправильно написан (Antegros). Поскольку ярлык мало влияет на мою систему, изменение ярлыка в пункте меню было основным решением. Я также установил корневой элемент, используя UUID (хотя /dev/sdx также должен работать).
Ответ или решение
Конфигурация rEFInd для acs-patched Antergos Kernel
Обзор ситуации
Ваша попытка загрузить ядро Antergos с исправленными acs-патчами через rEFInd натолкнулась на трудности. Система автоматически обнаружила ядро, но не смогла правильно загрузиться. Сообщение об ошибке указывало: ERROR: device 'UUID=...' not found. Skipping fsck.
Более того, вы столкнулись с проблемами при работе с темой rEFInd-minimal. Эти вопросы были решены путем корректировки файла конфигурации refind.conf и меню.
Структура диска и компоновка
Вы использовали следующую конфигурацию разделов:
- /dev/sda:
- EFI BOOT: 1.0 GB
- Пустой раздел: 1.0 GB
- SWAP: 8.6 GB
- XUbuntu: 21 GB
- Antergos: 40 GB
- Свободное пространство: 185 GB
Изменения в конфигурации rEFInd
Путь к иконкам и баннеру
Для успешной работы темы rEFInd-minimal, в refind.conf были скорректированы относительные пути:
# Предыдущая настройка
icons_dir EFI/refind/rEFInd-minimal/icons
banner EFI/refind/rEFInd-minimal/background.png
selection_big EFI/refind/rEFInd-minimal/selection_big.png
selection_small EFI/refind/rEFInd-minimal/selection_small.png
# Скорректированная настройка
banner ../refind/rEFInd-minimal/background.png
selection_big ../refind/rEFInd-minimal/selection_big.png
selection_small ../refind/rEFInd-minimal/selection_small.png
icons_dir ../refind/rEFInd-minimal/icons
Использование относительных путей обеспечило корректное отображение тем и иконок.
Конфигурация загрузочной записи для Antergos
Элементы меню rEFInd для загрузки ядра Antergos также претерпели изменения. Проблемы возникли из-за неверного указания метки раздела и использования неэффективных параметров:
# Неудачная настройка
menuentry "Antergos IOMMU" {
icon EFI/refind/rEFInd-minimal/icons/os_antergos.png
volume Antergos
loader /boot/vmlinuz-linux-vfio
initrd /boot/initramfs-linux-vfio.img
options "root=/dev/sda5 rw quiet iommu=pt amd_iommu=on"
}
# Исправленная настройка
menuentry "Antergos IOMMU" {
icon EFI/refind/rEFInd-minimal/icons/os_antergos.png
volume Antegros # Исправлена ошибка в написании
loader /boot/vmlinuz-linux-vfio
initrd /boot/initramfs-linux-vfio.img
options "root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx ro iommu=pt amd_iommu=on pcie_acs_override=downstream"
}
Загружка исправного ядра Antergos была достигнута благодаря исправлению орфографической ошибки в метке и указанию корневого устройства через UUID.
Заключение
Настройка rEFInd может потребовать внимательного подхода к деталям, таким как правильное указание путей к ресурсам темы и точность в параметрах загрузки. Коррекция ошибок и настройка UUID для корневых устройств обеспечили успешную загрузку системы. Следуйте этим рекомендациям, чтобы избежать подобных ошибок в будущем и обеспечить стабильность загрузчика.