Remove second hard drive OS from grub
I found my notes on this.
Edit /etc/default/grub
and add the line
GRUB_DISABLE_OS_PROBER=true
Exit, saving changes, then run
sudo update-grub
From the grub wiki (item 16)
This entry is used to prevent GRUB from adding the results of os-prober to the menu. A value of "true" disables the os-prober check of other partitions for operating systems, including Windows, Linux, OSX and Hurd, during execution of the update-grub command. This will keep grub from looking for other OS'es.
Short Answer
If you don't want third party utilities you can do it with a move command:
sudo mv /mnt/extra_distro/boot /mnt/extra_distro/boot.old
Then sudo update-grub
of course.
Long Answer
Grub's OS_Prober checks each mounted drive for presence of /boot/*
entries of vmlinuz*
and initrd.img*
. Then adds those options to your booted instance of grub
. On my system for example:
$ sudo mount-menu.sh
Mount Partition
┌───────────┤ Use arrow, page, home & end keys. Tab toggle option ├────────────┐
│ NAME FSTYPE LABEL SIZE MOUNTPOINT │
│ │
│ sda 931.5G ↑│
│ ├─sda4 ntfs WINRETOOLS 450M ▒│
│ ├─sda2 128M ▒│
│ ├─sda5 ntfs Image 11.4G ▒│
│ ├─sda3 ntfs HGST_Win10 919G /mnt/d ▒│
│ └─sda1 vfat ESP 500M ▒│
│ nvme0n1 477G ▒│
│ ├─nvme0n1p5 ntfs 858M ▒│
│ ├─nvme0n1p3 16M ▒│
│ ├─nvme0n1p1 ntfs 450M ▒│
│ ├─nvme0n1p8 ntfs Shared_WSL+Linux 9G /mnt/e ▒│
│ ├─nvme0n1p6 ext4 Ubuntu18.04 23.7G ▮│
│ ├─nvme0n1p4 ntfs NVMe_Win10 390.4G /mnt/c ▒│
│ ├─nvme0n1p2 vfat 99M /boot/efi ▒│
│ ├─nvme0n1p9 swap Linux Swap 7.9G [SWAP] ▒│
│ └─nvme0n1p7 ext4 NVMe_Ubuntu_16.0 44.6G / ↓│
│ │
│ │
│ <Select unmounted partition> <Exit> │
│ │
└──────────────────────────────────────────────────────────────────────────────┘
I will mount the Ubuntu 18.04 partition:
=====================================================================
Mount Device: /dev/nvme0n1p6
Mount Name: /mnt/mount-menu.BkLzA
File System: ext4
ID: Ubuntu
RELEASE: 18.04
CODENAME: bionic
DESCRIPTION: Ubuntu 18.04 LTS
Size Used Avail Use%
24G 18G 4.7G 79%
Now update grub
and look at the menu:
$ sudo update-grub
$ grub-menu.sh
Grub Version: 2.02~beta2-36ubuntu3.18
┌─────────┤ Use arrow, page, home & end keys. Tab toggle option ├──────────┐
│ Menu No. --------------- Menu Name ---------------
│
│1>41 Ubuntu, with Linux 4.4.0-127-generic (recovery mode) ↑
│1>42 Ubuntu, with Linux 3.16.53-031653-generic ▒
│1>43 Ubuntu, with Linux 3.16.53-031653-generic (upstart) ▒
│1>44 Ubuntu, with Linux 3.16.53-031653-generic (recovery mode) ▒
│1>44 Ubuntu, with Linux 3.16.53-031653-generic (recovery mode) ▒
│2 Windows Boot Manager (on /dev/nvme0n1p2) ▒
│3 Ubuntu 18.04 LTS (18.04) (on /dev/nvme0n1p6) ▒
│4 Advanced options for Ubuntu 18.04 LTS (18.04) (on /dev/nvme0n1p6) ▒
│4>0 Ubuntu (on /dev/nvme0n1p6) ▒
│4>1 Ubuntu, with Linux 4.15.0-22-generic (on /dev/nvme0n1p6) ▮
│4>2 Ubuntu, with Linux 4.15.0-22-generic (recovery mode) (on /dev/nvme0 ▒
│4>3 Ubuntu, with Linux 4.15.0-20-generic (on /dev/nvme0n1p6) ▒
│4>4 Ubuntu, with Linux 4.15.0-20-generic (recovery mode) (on /dev/nvme0 ▒
│4>5 Ubuntu, with Linux 4.14.34-041434-generic (on /dev/nvme0n1p6) ▒
│4>6 Ubuntu, with Linux 4.14.34-041434-generic (recovery mode) (on /dev/ ▒
│4>7 Ubuntu, with Linux 4.14.31-041431-generic (on /dev/nvme0n1p6) ↓
│
│
│ <Display Grub Boot> <Exit>
│ │
└──────────────────────────────────────────────────────────────────────────┘
Notice the grub options:
- 2 Windows Boot Manager (on /dev/nvme0n1p2)
- 3 Ubuntu 18.04 LTS (18.04) (on /dev/nvme0n1p6)
- 4 Advanced options for Ubuntu 18.04 LTS (18.04) (on /dev/nvme0n1p6)
option 2 we want to keep, options 3 and 4 we want gone.
So on my system use:
$ sudo mv /mnt/mount-menu.BkLzA/boot /mnt/mount-menu.BkLzA/boot.old
$ sudo update-grub
$ grub-menu.sh
Grub Version: 2.02~beta2-36ubuntu3.18
┌─────────┤ Use arrow, page, home & end keys. Tab toggle option ├──────────┐
│ Menu No. --------------- Menu Name --------------- │
│ │
│ 1>33 Ubuntu, with Linux 4.13.0-43-generic ↑ │
│ 1>34 Ubuntu, with Linux 4.13.0-43-generic (upstart) ▒ │
│ 1>35 Ubuntu, with Linux 4.13.0-43-generic (recovery mode) ▒ │
│ 1>36 Ubuntu, with Linux 4.9.77-040977-generic ▒ │
│ 1>37 Ubuntu, with Linux 4.9.77-040977-generic (upstart) ▒ │
│ 1>38 Ubuntu, with Linux 4.9.77-040977-generic (recovery mode) ▒ │
│ 1>39 Ubuntu, with Linux 4.4.0-127-generic ▒ │
│ 1>40 Ubuntu, with Linux 4.4.0-127-generic (upstart) ▒ │
│ 1>41 Ubuntu, with Linux 4.4.0-127-generic (recovery mode) ▒ │
│ 1>42 Ubuntu, with Linux 3.16.53-031653-generic ▒ │
│ 1>43 Ubuntu, with Linux 3.16.53-031653-generic (upstart) ▒ │
│ 1>44 Ubuntu, with Linux 3.16.53-031653-generic (recovery mode) ▒ │
│ 1>44 Ubuntu, with Linux 3.16.53-031653-generic (recovery mode) ▒ │
│ 2 Windows Boot Manager (on /dev/nvme0n1p2) ▒ │
│ 3 Windows Boot Manager (on /dev/sda1) ▮ │
│ 4 System setup ↓ │
│ │
│ │
│ <Display Grub Boot> <Exit> │
│ │
└──────────────────────────────────────────────────────────────────────────┘
VOILA Extra unwanted distribution no longer appears. Note, I had read once that simply renaming /mnt/extra_distro/grub/grub.cfg
file would solve the issue but testing this just now didn't seem to work.
The easiest (GUI) way is to run grub-customizer
$ sudo add-apt-repository ppa:danielrichter2007/grub-customizer
$ sudo apt-get update
$ sudo apt-get install grub-customizer