On 2020-12-29 1:31 a.m., Pascal Hambourg wrote:
Le 29/12/2020 à 04:54, Robert Furber via Support requests for the
GRand Unified Bootloader a écrit :
Instead of sending them to the landfill, old PCs can be upgraded
dramatically by replacing or supplementing the HDD by a SSD
..specially, a NVMe SSD. In my case, the NVMe SSD is mounted on a
PCIe adapter card.
The catch is the BIOS in older PCs cannot see or be aware of a NVMe
SSD. They can only boot from a HDD. However, after booting, the NVMe
SSD becomes visible and accessible.
Old BIOS/UEFI firmwares do not have NVMe drivers. The PCIe-NVMe
adapter card may have an expansion ROM providing NVMe BIOS/UEFI
drivers, like SCSI or RAID adapter cards. You can check with "lspci -v".
The challenge is to figure out when, during the Grub boot, does the
NVMe SSD become accessible,
Never during GRUB runtime. The SSD becomes visible only after the OS
kernel takes over GRUB and uses its own native NVMe driver.
and then figure how to reboot on it. For instance, would it be
possible to set up a customized Grub on the HDD that would chain a
second Grub on the SSD
No. GRUB relies either on platform (BIOS/UEFI) drivers or GRUB's own
native drivers (not enabled by default). AFAIK GRUB does not have a
native NVMe driver either (yet).
If the adapter card does not provide an expansion ROM for the platform
firmware, your only option is to install /boot and GRUB (for BIOS
boot) or the EFI partition (for EFI boot) on a drive that the BIOS can
manage and boot from.
Hmmmmm.. It is an old (2012) PC with BIOS. To my knowledge, it is not
aware of UEFI and the BIOS is not aware of the PCIe NVMe SSD. However,
after booting, Gparted can see the NVMe SSD and I can copy files to it
(after partitioning and formatting).
So, now I am confused as to who does the booting. Before booting my PC
cannot see the NVMe SSD, but it can see it after booting. Ergo, booting
brought about this awareness on the PC. Is it that Grub only does part
of the booting and some other software initializes hardware ..hardware
such as the NVMe SSD? In other words, is it Grub and Company that look
after bringing up the PC to full operation? Where can I learn about this?
Presumably I can put /boot on /dev/sda and '/' and '/home' on
/dev/nvme.. as per Chris Greene, if I understand correctly?
Even so, booting done by Grub & Co. is a ton of work, consuming about
30s. Would there be any way to speed up booting time by doing part of
the initialization from /dev/sda, the HDD and the heavy lifting from
/dev/nvme.., sthe SSD?
Thanks, RF