2

Normally I know that /boot on (modern?) Linux is simply part of the main / partition, however I'd like to have /boot on a small partition by itself, is this possible?

I.e. I want a small partition marked as the boot partition which has only /boot on it and the rest of the OS on a separate (non bootable) drive.

This is so I can put the OS on a fast drive which my BIOS won't recognise as bootable.

If it's significant I'm running xubuntu 19.04 with a 5.0.x kernel.

Jeff Schaller
  • 67,283
  • 35
  • 116
  • 255
  • Ironically, that's how many of them were for a while! – Jeff Schaller Nov 17 '19 at 13:31
  • 1
    I'm guessing that you want your OS on an nvme drive and /boot on either an ssd or spinning rust. I just had to set that up on a several workstations and it works fine. – doneal24 Nov 17 '19 at 13:40
  • 1
    Relating https://unix.stackexchange.com/questions/256/is-it-good-to-make-a-separate-partition-for-boot and https://unix.stackexchange.com/q/17474/117549 and https://unix.stackexchange.com/q/111237/117549 – Jeff Schaller Nov 17 '19 at 13:46
  • Yes doneal24, you're absolutely right! I currently have a 128Gb SATA SSD which has the OS on it. I'm adding a 1024Gb NVME SSD so I want to move most of the OS to that but I'm not convinced that my motherboard will support booting from the NVME SSD. But how did you set them up like that? – Chris Green Nov 17 '19 at 15:30
  • So, looking those relating questions, they suggest that grub_install can handle a configuration with /boot on a separate partition. Can I therefore just configure my system that way (by removing /boot, adding a mount point for a separate /boot, copying files) and run grub_install? What's the safest way of doing this, I don't want a non-bootable system. – Chris Green Nov 17 '19 at 15:36

1 Answers1

0

Does only /boot have to be on a bootable partition?

Yes, I think you are intending to do something very similar to what I did a few days ago, and it works for me :-) See also this link.

But you need a few more things too, that should be on a bootable drive.


I installed an nvme drive, an m2 stick via a PCI Express card into my workstation, a Lenovo Thinkstation C30, that I bought second hand (refurbished). This solution [with an m2 stick via a PCI Express card] is much cheaper than buying a computer that is new enough to boot from nvme.

The nvme drive works and writes 2.4 times faster than my SSD connected via SATA. It can probably be faster when cooperating with newer interfacing hardware.

In this configuration it is not possible to boot directly into the nvme drive. The BIOS/UEFI system does not recognize it. But using Ubiquity in Xubuntu Focal I can make a boot partition in a SATA drive and from there boot into the root partition in the nvme drive. I can also run sudo update-grub from my main operating system in the SATA-SSD to get a working menuentry.


  • In the Ubiquity installer of Xubuntu, in the partitioning window, select 'Something else' which means manual partitioning.

    You normally select only the root partition, /, but you can also [create and] select a boot partition, /boot, and for example a /home partition. In this case put the root partition on the nvme drive and /boot on a bootable drive (and you need no separate home partition).

  • You should also put the bootloader on a bootable drive,

    • in the old BIOS mode alias CSM alias legacy mode, put the bootloader onto the head of the bootable drive /dev/sda or /dev/sdb or ...
      • if a GUID partition table (GPT) you need also a small bios-grub partition in a bootable drive
    • in the new UEFI mode you need an EFI system partition in a bootable drive. If there is already one, it will be used also for the new Xubuntu system that you install. Otherwise you must create it and there should be a FAT32 file system. Xubuntu's installer will put the EFI system partition onto the first available drive automatically (usually /dev/sda).

The following link describes the partitions that are needed in different cases,

sudodus
  • 6,421