1

Нам нужно настроить сервер EFI PXE. Я успешно смог заставить тестовую машину загружаться до тех пор, пока мы не доберемся до части pivot_root процесса загрузки. Тогда я получаю страшные

VFS: Cannot open root device "nvram" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:

И да, список разделов равен nil .

Может кто-нибудь сказать мне, как можно получить устройство root = для моего старого Grub Conf для бездисковых компьютеров Centos? Очевидно, я уже пробовал /dev/nvram и /dev/ram .

Когда мы загружаем PXE (устаревший режим), нет проблем или специальных настроек, запрашивающих корневое устройство. Это просто работает. Это первый раз, когда я работал с загрузкой EFI, поэтому я уверен, что мне просто не хватает некоторых параметров.

Текущая настройка: CentOS 6.8, Legacy Grub (bootx64), ISC DHCP, TFTP

Текущая конфигурация EFI (/EFI/efidefault):

default=0
timeout=3
splashimage=(nd)/splash.xpm.gz
#prompt 0
#ONTIMEOUT default

title Linux
   menu label UEFI Image
   menu default
   root (nd)
   kernel /discovery_images/2.6.32-642.el6.x86_64/vmlinuz-2.6.32-642.el6.x86_64 root=/dev/nvram
   append initrd=/discovery_images/2.6.32-642.el6.x86_64/centos-initramfs-2.6.32-642.el6.x86_64.img.gz rw shell init=/init biosdevname=0 consoleblank=0 vga=773 ramdisk_size=9216

FINAL FIX

Поэтому проблема заключалась в том, что я использовал неправильный синтаксис для устаревшей конфигурации GRUB. Благодаря #CENTOS в Freenode (IRC) один из участников (извините, я не помню его ник) указал, что Legacy GRUB не понимает директиву append . Итак, перемещение аргументов в строке append моей конфигурации (см. Выше) в директиву kernel и потеря строки append строке initrd , а затем, наконец, удаление = между initrd и /discover... , исправило проблему:

default=0
timeout=3
splashimage=(nd)/splash.xpm.gz

title Linux
   menu label UEFI Image
   menu default
   root (nd)
   kernel /discovery_images/2.6.32-642.el6.x86_64/vmlinuz-2.6.32-642.el6.x86_64 rw shell init=/init biosdevname=0 consoleblank=0 vga=773 ramdisk_size=9216
   initrd /discovery_images/2.6.32-642.el6.x86_64/centos-initramfs-2.6.32-642.el6.x86_64.img.gz

1 ответ1

2

AFAICT (но мой собственный эксперимент больше связан с бездисковой Windows, даже если мы начали переносить наше бездисковое решение на Windows до того, как оно было убито этой большой компанией из двух букв ...), вам может понадобиться что-то другое. 1 - не указывайте никаких «root =» в строке ядра 2 - используйте строку initrd (и связанный с ним ram-диск init, который вам нужно собрать) 3 - в этом initrd инициируйте любое устройство блочного устройства и драйвер файловой системы, которое вам нужно монтировать ваш корневой раздел (и другие разделы)

Проверьте эту страницу:http://linux120919.blogspot.fr/2015/01/redhat-65-as-legacy-and-uefi-pxe.html, например,

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .