从 grub 中删除第二个硬盘操作系统

从 grub 中删除第二个硬盘操作系统

几年前,我在电脑的硬盘上安装了 ubuntu。几天前,在 18.04 发布后,我买了一个 ssd 并重新安装了所有内容。旧硬盘仍然连接到电脑上 - 只是为了查找东西。

GRUB 确实将旧硬盘作为辅助启动选项进行索引。但我再也不会启动旧系统了。那么有没有办法从 grub 选项中删除旧硬盘?

答案1

我找到了关于此的笔记。

编辑/etc/default/grub并添加行

GRUB_DISABLE_OS_PROBER=true

退出,保存更改,然后运行

sudo update-grub

从 grub维基百科(第 16 项)

此条目用于阻止 GRUB 将 os-prober 的结果添加到菜单中。值为“true”将禁用 os-prober 对其他分区的操作系统检查,包括 Windows、Linux、OSX 和 Hurd在执行 update-grub 命令期间。这将使 grub 不再寻找其他操作系统。

答案2

简短答案

如果您不想要第三方实用程序,您可以使用移动命令来完成:

sudo mv /mnt/extra_distro/boot /mnt/extra_distro/boot.old

sudo update-grub当然啦。

长答案

Grub 的 OS_Prober 检查每个已安装的驱动器是否存在和/boot/*条目。然后将这些选项添加到已启动的 实例中。例如在我的系统上:vmlinuz*initrd.img*grub

$ 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>                      │ 
      │                                                                              │ 
      └──────────────────────────────────────────────────────────────────────────────┘ 
                                                                                       

我将挂载 Ubuntu 18.04 分区:

=====================================================================
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%

现在更新grub并查看菜单:

$ 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>                        
        │                                                                          │ 
        └──────────────────────────────────────────────────────────────────────────┘ 
                                                                                     

注意 grub 选项:

  • 2 Windows 启动管理器(在 /dev/nvme0n1p2 上)
  • 3 Ubuntu 18.04 LTS (18.04)(位于 /dev/nvme0n1p6 上)
  • 4 Ubuntu 18.04 LTS(18.04)的高级选项(在 /dev/nvme0n1p6 上)

我们希望保留选项 2,而删除选项 3 和 4。

因此在我的系统上使用:

$ 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>                      │ 
        │                                                                          │ 
        └──────────────────────────────────────────────────────────────────────────┘ 

不再出现额外的不需要的分布。注意,我曾经读到过只需重命名/mnt/extra_distro/grub/grub.cfg文件即可解决问题,但刚才测试似乎不起作用。

答案3

最简单的(GUI)方法是运行grub 定制器

$ sudo add-apt-repository ppa:danielrichter2007/grub-customizer
$ sudo apt-get update
$ sudo apt-get install grub-customizer

答案4

您可以使用该GRUB_OS_PROBER_SKIP_LIST选项有选择地禁用扫描设备。例如,如果您想排除 /dev/sdb1 和 /dev/sdc1,首先您需要找出它们的UUID

blkid | grep -E 'sdb1|sdc1'

将会输出类似这样的内容:

/dev/sdb1: LABEL="bkp_root" UUID="1-2-3-4-5" TYPE="ext4" PARTUUID="123"
/dev/sdc1: LABEL="bkp2_root" UUID="a-b-c-d-e" TYPE="ext4" PARTUUID="abc"

/etc/default/grub然后使用以下格式写入选项:

GRUB_OS_PROBER_SKIP_LIST="1-2-3-4-5@/dev/sdb1 a-b-c-d-e@/dev/sdc1"

最后,当你运行它时sudo update-grub它会通知你更改:

Skipped Ubuntu 18.04.5 LTS (18.04) on /dev/sdb1 by user request.
Skipped Ubuntu 18.04.5 LTS (18.04) on /dev/sdc1 by user request.

相关内容