GRUB2 не загружается из MBR
У меня есть новый компьютер, который я создал с помощью PXE. Он загружает ядро, initrd и проверяет необходимость применения образа. Если это так, он проходит через некоторую логику разделения (BIOS, не-GPT) диска и применения образа диска (SLES 12 SP2), который он TFTP передает по сети. Из этой среды он загружает ядро и initrd непосредственно из загрузочного раздела и запускает systemd из корневого раздела. Однако, если я пытаюсь загрузить диск напрямую без загрузки PXE, я получаю общую ошибку "Нет загрузочной ОС найдена" и GRUB отсутствует.
Так что из ОС я прошел обычную рутину..
Диск является SSD. Проверьте мой текущий диск и разметку:
# fdisk -l
Disk /dev/sda: 119.2 GiB, 128035676160 bytes, 250069680 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: dos
Disk identifier: 0x63305a1b
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 2056319 2054272 1003.1M 82 Linux swap / Solaris
/dev/sda2 2058240 250067789 248009550 118.3G 83 Linux
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 119.2G 0 disk
├─sda1 8:1 0 1003.1M 0 part [SWAP]
└─sda2 8:2 0 118.3G 0 part /
# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: SanDisk SD7SN3Q- Rev: 0006
Type: Direct-Access ANSI SCSI revision: 05
Установите GRUB2 в MBR:
# grub2-install /dev/sda
Installing for i386-pc platform.
Installation finished. No error reported.
Затем сгенерируйте мою конфигурацию:
# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.120-92.70-default
Found initrd image: /boot/initrd-4.4.120-92.70-default
done
Теперь в настройках UEFI у меня отключена загрузка UEFI. Вместо этого он пытается унаследовать PXE и унаследовать загрузку диска. Поэтому я ожидаю, что при попытке загрузки указанного диска он будет искать первые 512 МБ, чтобы найти MBR и загрузочный GRUB. Эта часть, кажется, не происходит, однако... Есть ли что-нибудь еще, что я мог бы проверить, чтобы увидеть, где это может пойти не так?