LILO and nvme

I recently upgraded to a 1 TB NVME drive and I have Windows 10 on it. The computer boots by default from another disk, a standard SSD, where Slackware -current is installed with LILO. The problem is that selecting Windows from LILO does not boot it. The screen just stays blank. If I specify in the BIOS that the NVME has boot priority, it boots fine.

So, Slackware is on /dev/sda, while Windows on /dev/nvme0n1. I searched quite a bit and finally found this blog post with some very useful comments. Apparently all I needed to do is add the following line in the beginning of /etc/lilo.conf:

# LILO configuration file
# generated by 'liloconfig'
# Start LILO global section
boot = /dev/sda
disk=/dev/nvme0n1 bios=0x80 max-partitions=7

# This option loads the kernel and initrd much faster:
  • bios = 0x80 # BIOS will see it as the first drive
  • max-partitions=7 # Specify the manimum number of partitions
  • My Linux (I have /boot on sda1, while / is on sda2) and Windows (only one partition nvme0n1p1) entries are as follows:

    # Linux bootable partition config begins
    image = /boot/vmlinuz-generic-5.7.6
      initrd = /boot/initrd-5.7.6.gz
      root = /dev/sda2
      label = generic-5.7.6


    # Windows bootable partition config begins
      other = /dev/nvme0n1p1
      label = Win10
      table = /dev/nvme0n1

    After running lilo -v, LILO boots Windows just fine from the NVME.

    Leave a Reply

    Fill in your details below or click an icon to log in: Logo

    You are commenting using your account. Log Out /  Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out /  Change )

    Connecting to %s