Несколько лет назад я установил человечность на жестком диске в моем компьютере. Несколько дней назад, после выпуска 18,04, я купил ssd и переустановил все на этом. Старый HDD все еще связан в компьютере - только для поиска вещей.
GRUB действительно индексирует старый HDD как вторичный параметр загрузки. Но я никогда не буду загружать старую систему снова. Так есть ли какой-либо способ удалить старый жесткий диск из опций личинки?
Если Вы не хотите сторонние утилиты, можно сделать это с командой перемещения:
sudo mv /mnt/extra_distro/boot /mnt/extra_distro/boot.old
Затем sudo update-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>
│ │
└──────────────────────────────────────────────────────────────────────────┘
Заметьте опции личинки:
опция 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
файл решил бы проблему, но тестирующий это сейчас, казалось, не работал.
Я нашел свои примечания по этому.
Править /etc/default/grub
и добавьте строку
GRUB_DISABLE_OS_PROBER=true
Выход, сохраняя изменения, затем выполненные
sudo update-grub
От личинки Wiki (объект 16)
Эта запись используется, чтобы препятствовать тому, чтобы GRUB добавил результаты тестера OS к меню. Значение "истинных" отключает проверку тестера OS других разделов для операционных систем, включая Windows, Linux, OSX и Hurd, во время выполнения команды личинки обновления. Это помешает личинке искать другой OS'es.
Самое легкое (GUI) путь должно выполнить личинку-customizer
$ sudo add-apt-repository ppa:danielrichter2007/grub-customizer
$ sudo apt-get update
$ sudo apt-get install grub-customizer
Вы можете использовать параметр 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.