I get this error too, and I don’t think it happens in a chroot.
Background
I think this is when systemd cannot find the path because it is mounted in a directory. So, the difference is when you setup a chroot you already configure access to hardware, including drives.
Though you can configure this access inside Systemd that does not mean you can configure permissions for those drives the same way.
For instance, I created this file:
/etc/systemd/system/systemd-nspawn@.service.d/override.conf
And it contains these settings:
[Service]
DeviceAllow=char-usb_device rwm
DeviceAllow=char-usb
[Files]
Bind=/var/cache/apt/pkgcache.bin
Bind=/var/cache/apt/srcpkgcache.bin
This still does not work when using grub-install /dev/sda or update-grub for a USB on Pi debootstrapped with Debian Stretch. Even using grub-uboot and grub-efi-arm there is still that error the grub-probe cannot find the canonical path.
Not only that but though update-grub will see and know what the operating systems are, but interestingly grub-install does not recognize the Debian operating system is on USB.
Example
root@raspixmc:/home/pi# grub-install /dev/sda
Installing for arm-uboot platform.
grub-install: warning: no hints available for your platform. Expect
reduced performance.
grub-install: warning: WARNING: no platform-specific install was
performed.
Installation finished. No error reported.
root@raspixmc:/home/pi#
Interesting, when I create a chroot and can run update-grub, even though I am on the operating system that I debootstrapped to the USB itself it does not see its own operating system!
root@raspixmc:/home/pi# mount /dev/sda1 /mnt
root@raspixmc:/home/pi# cd /mnt
root@raspixmc:/mnt# mount --bind /dev dev/
root@raspixmc:/mnt# mount --bind /sys sys/
root@raspixmc:/mnt# mount --bind /proc proc/
root@raspixmc:/mnt# mount --bind /dev/pts dev/pts
root@raspixmc:/mnt# chroot . bin/bash
root@raspixmc:/# update-grub
Generating grub configuration file ...
Found Raspbian GNU/Linux 9 (stretch) on /dev/mmcblk0p2
done
root@raspixmc:/#
It only sees Raspbian. This happens only when trying to install and update GRUB inside the container, but when I exit the chroot.
Watch how it now works because I did not unmount the chroot directories:
/dev dev/
/sys sys/
/proc proc/
/dev/pts dev/pts
From outside the container mind you, I am running this command with grub-uboot installed on Raspbian and no Grub on the USB containing debootstrapped Debian.
root@raspixmc:/mnt# update-grub
Generating grub configuration file ...
Found Raspbian GNU/Linux 9 (stretch) on /dev/mmcblk0p2
Found Debian GNU/Linux 9 (stretch) on /dev/sda1
done
root@raspixmc:/mnt#
This does not happen using one of the unofficially available images for Debian ARM, but obviously this is still a customization not yet available for debootstrapping.
Troubleshooting
Really there are times when it is better just to create a path. The only next possibility (and a probable one) is to simply write GRUB. And for that I am just going to read on this page.
https://www.dedoimedo.com/computers/grub-2.html
Another thing I want to share about this issue is a solution that might work, but realize microSD cards are very sensitive. I have been building my own Linux images and learned this fast. The best thing to do is use Qemu whenever you can, but to attempt to clear an old partition table you might try running sgdisk --zap-all on the drive.
sgdisk --zap-all /dev/sdd
In fact, sometimes if it gives an error the first time and it is not a read-only error, you can run it again and it will finally all the partition tables new or old.
And you can use Qemu to emulate Raspberry Pi on a standard AMD/Intel-based PC. I would recommend it. I know this is more information than pertains to the original post, but I think that is likely how this error is derived. It is the container age.
I get this error too, and I don’t think it happens in a chroot.
Background
I think this is when systemd cannot find the path because it is mounted in a directory. So, the difference is when you setup a chroot you already configure access to hardware, including drives.
Though you can configure this access inside Systemd that does not mean you can configure permissions for those drives the same way.
For instance, I created this file:
/etc/systemd/system/systemd-nspawn@.service.d/override.conf
And it contains these settings:
[Service]
DeviceAllow=char-usb_device rwm
DeviceAllow=char-usb
[Files]
Bind=/var/cache/apt/pkgcache.bin
Bind=/var/cache/apt/srcpkgcache.bin
This still does not work when using grub-install /dev/sda or update-grub for a USB on Pi debootstrapped with Debian Stretch. Even using grub-uboot and grub-efi-arm there is still that error the grub-probe cannot find the canonical path.
Not only that but though update-grub will see and know what the operating systems are, but interestingly grub-install does not recognize the Debian operating system is on USB.
Example
root@raspixmc:/home/pi# grub-install /dev/sda
Installing for arm-uboot platform.
grub-install: warning: no hints available for your platform. Expect
reduced performance.
grub-install: warning: WARNING: no platform-specific install was
performed.
Installation finished. No error reported.
root@raspixmc:/home/pi#
Interesting, when I create a chroot and can run update-grub, even though I am on the operating system that I debootstrapped to the USB itself it does not see its own operating system!
root@raspixmc:/home/pi# mount /dev/sda1 /mnt
root@raspixmc:/home/pi# cd /mnt
root@raspixmc:/mnt# mount --bind /dev dev/
root@raspixmc:/mnt# mount --bind /sys sys/
root@raspixmc:/mnt# mount --bind /proc proc/
root@raspixmc:/mnt# mount --bind /dev/pts dev/pts
root@raspixmc:/mnt# chroot . bin/bash
root@raspixmc:/# update-grub
Generating grub configuration file ...
Found Raspbian GNU/Linux 9 (stretch) on /dev/mmcblk0p2
done
root@raspixmc:/#
It only sees Raspbian. This happens only when trying to install and update GRUB inside the container, but when I exit the chroot.
Watch how it now works because I did not unmount the chroot directories:
/dev dev/
/sys sys/
/proc proc/
/dev/pts dev/pts
From outside the container mind you, I am running this command with grub-uboot installed on Raspbian and no Grub on the USB containing debootstrapped Debian.
root@raspixmc:/mnt# update-grub
Generating grub configuration file ...
Found Raspbian GNU/Linux 9 (stretch) on /dev/mmcblk0p2
Found Debian GNU/Linux 9 (stretch) on /dev/sda1
done
root@raspixmc:/mnt#
This does not happen using one of the unofficially available images for Debian ARM, but obviously this is still a customization not yet available for debootstrapping.
Troubleshooting
Really there are times when it is better just to create a path. The only next possibility (and a probable one) is to simply write GRUB. And for that I am just going to read on this page.
https://www.dedoimedo.com/computers/grub-2.html
Another thing I want to share about this issue is a solution that might work, but realize microSD cards are very sensitive. I have been building my own Linux images and learned this fast. The best thing to do is use Qemu whenever you can, but to attempt to clear an old partition table you might try running sgdisk --zap-all on the drive.
sgdisk --zap-all /dev/sdd
In fact, sometimes if it gives an error the first time and it is not a read-only error, you can run it again and it will finally all the partition tables new or old.
And you can use Qemu to emulate Raspberry Pi on a standard AMD/Intel-based PC. I would recommend it. I know this is more information than pertains to the original post, but I think that is likely how this error is derived. It is the container age.
Find your drive that’s supposed to boot with
mount
Or
parted -l
Or
fdisk /dev/sda
And type p to list the partitions, look for type 83.
(If you’ve got Fedora you might have to use the commands vgs and lvs and if you’ve got mdraid you might have to cat /proc/mdstat or mdadm -A --scan or insmod raid1 or insmod raid5 and then mdadm -A --scan) and you will use /dev/md0 or /dev/mapper/my-vg instead of /dev/sda
then try mount it
mkdir /mnt
mount /dev/sda1 /mnt
cd /mnt
ls -l
Is this your drive? Cool!
grub-install --recheck --root-directory=/mnt /dev/sda
(Or whichever /dev drive your root is, with it’s mounted path)
grub-install --recheck --root-directory=/mnt /dev/sda --force
(Force it if it doesn’t like your partitions.)
Now it should boot into grub, and you can use the grub commands to boot up, after rebooting and selecting the right boot drive from the BIOS Setup, or by pressing ESC, F8 or F12 depending on your BIOS and whether you are quick enough, then at the Grub prompt — you can use tab completion to find it if it’s not (hd0,1) but (hd1,3) or something else instead, but beware, tab completion sometimes hangs for a few seconds if grub can’t read the filesystem. Once booted into Grub you can try to boot with:
insmod linux
ls
root=(hd0,1)
linux /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd
boot
Or, hopefully you’ve still got an intact grub.cfg file…
ls
ls (hd0,1)/
ls (hd0,1)/boot
configfile (hd0,1)/boot/grub.cfg
Grub 1 allows you to do the installation from Grub:
install (hd0,1)
Once booted from the correct drive, you can retry update-grub and grub-install. If it still fails, you can try:
grub-mkconfig -o /mnt/boot/grub/grub.cfg
Your paths may differ of course, so just play with these commands until you can see what’s where and what’s going on.
It might be a sign of imminent hard drive failure at worst, or at best maybe just a partition flag or boot file that got overwritten accidentally, or a deliberately- or accidentally broken installer from another OS.
Getting this error while downloading grub.
ubuntu@ubuntu:/boot/grub$ sudo grub-install /dev/sda
Installing for i386-pc platform.
grub-install: error: failed to get canonical path of `/cow'.
![]()
asked Apr 8, 2019 at 14:41
If you don’t want to risk unmounting /cow, I found a neat little trick which fools grub-probe into thinking there is an empty filesystem on /cow and then ignores it.
dd if=/dev/zero bs=1M count=1 of=cowfile
mkfs -t vfat cowfile
mv cowfile /cow
This worked for me running on a live usb wher grub-mkconfig wasn’t working.
answered May 13, 2019 at 23:30
![]()
SurpriseDogSurpriseDog
5532 silver badges16 bronze badges
1
- Печать
Страницы: [1] Вниз
Тема: Не удалось получить канонический путь «/cow». (Прочитано 5295 раз)
0 Пользователей и 1 Гость просматривают эту тему.

Slasher40
Чёткое и внятное описание проблемы:
Здравствуйте, в Linux-е я новичок так что извиняюсь, предыстория:
Все началось с того что решил глубже окунуться в систему, на жесткий диск решил не ставить так как знаю откуда у меня растут руки. Поставил все на флешку с помощью Kali Linux (Так же на флешке с разделом: Persistence) ставил с помощью mkusb.
Нужно было установить драйвера Nvidia но он не применялся, в итоге оказалось что было мало места. Выделил место установилось но драйвер все так же не определяется. Устанавливал 396 драйвер, но все без успешно. Дальше раскрывая проблему понял что возможно нужно установить новое ядро Установил: 4.18.8 но как я понял дальше нужно было выбрать запуск с этого ядра. Решил воспользоваться: Grub Cosomizer но он выдает окно с: «grub-mkconfig не может быть успешно выполнен. Сообщение об ошибке: /usr/sbin/grub-probe: ошибка: не удалось получить канонический путь «/cow.» » Кнопка с выходом и изменением переменных сред, есть ошибка на: /boot/grub/device.map и /boot/grub/grub.cfg
Пробовал восстановить загрузчик,но безрезультатно вот лог: paste.ubuntu.com/p/tkMy3fYkwY/
Ошибка в загрузчике? И как исправить?
Заранее спасибо.
Правила форума
1.4. Листинги и содержимое текстовых файлов следует добавлять в сообщение с помощью тегов [spoiler]…[/spoiler] или [code]…[/code], либо прикреплять к сообщению в виде отдельного файла. Длинные гиперссылки следует оформлять при помощи тега [url=]…[/url]
—Aleksandru
« Последнее редактирование: 21 Сентября 2018, 20:26:05 от Aleksandru »

ecc83
решил глубже окунуться в систему, на жесткий диск решил не ставить
Это просто анекдот какой то…
Если нужно «окунуться», тогда выделяйте 20Гб дискового пространства и ставьте систему на диск.
Новые ядра не трогайте, разберитесь сначала со старыми…

Slasher40
А по другому это ни как решить нельзя? Лишнего жесткого нет, да и приходится стартовать с разных компьютеров, а флешка с постоянным хранилищем это для меня единственное стоящее решение.

ecc83
флешка с постоянным хранилищем это для меня единственное стоящее решение.
Тогда нужно использовать для этого специально собранные дистрибутивы. Например мне нравится Slax.
https://www.slax.org/el/
http://mirror.ppa.trinitydesktop.org/trinity-sb/cdimages/slax/
По ссылкам выше один и тот же дистрибутив с разным графическим окружением.
Устанавливать очень просто, из под Windows форматируется флешка FAT32, затем при помощи архиватора 7z распаковывается содержимое на флешку в каталог /slax. Потом заходишь на созданную флешку в папку /slax/boot и там нужно запустить файл bootinst.bat
После этого с этой флешки можно грузиться.
« Последнее редактирование: 21 Сентября 2018, 22:58:37 от ecc83 »

Vitsliputsli
А с каких пор linux перестал работать с флешек? Работа с устройствами ввода/ввывода — это задача ядра, а оно одно (с определенными оговорками, конечно, но точно не в этом вопросе), так что по-большому счету без разницы что за дистрибутив.
Сообщение об ошибке: /usr/sbin/grub-probe: ошибка: не удалось получить канонический путь «/cow.»
Я так понимаю загружаетесь в систему восстановления, тогда попробуйте переключиться через chroot в созданную систему и там уже сгенерировать конфигурацию grub.

Slasher40
попробуйте переключиться через chroot в созданную систему и там уже сгенерировать конфигурацию grub.
Можно по подробнее с этого момента, куда нажать и что сделать?

Vitsliputsli

AnrDaemon
А по другому это ни как решить нельзя? Лишнего жесткого нет, да и приходится стартовать с разных компьютеров, а флешка с постоянным хранилищем это для меня единственное стоящее решение.
Поставьте в виртуалку.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.
Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

ecc83
куда нажать и что сделать?
Нажать никогда не поздно, главное, что бы это помогло 
Пожалейте себя. Сделайте себе флешку за 15 минут по моей ссылке и останетесь здоровым и счастливым человеком.
Если же начнёте с перестановки ядра, то это у вас надолго.
- Печать
Страницы: [1] Вверх
Всем привет. не могу поставить grub выходит ошибка
Installing for i386-pc platform
grub-install: error: failed to get canonical path of » /cow».
Как только запускаю команду
grub-install /dev/sda то сразу выходит эта ошибка…
Installing for i386-pc platform
grub-install: error: failed to get canonical path of » /cow».
что можно сделать?
На автомате ставится без проблем, а если делаю ручную разметку то не ставится. В чем может быть дело?
использую вот этот мануал https://losst.ru/ustanovka-zagruzchika-grub#commen…
-
Вопрос заданболее трёх лет назад
-
26457 просмотров
Пригласить эксперта
Решил проблему с установкой на gpt , оказалось все очень просто для раздела загрузчика не хватало флага legacy_boot . Должно на разделе загрузчика стоять 2 флага bios_grub и legacy_boot
делал вот по этой инструкции https://losst.ru/ustanovka-zagruzchika-grub#commen… раздел «УСТАНОВКА ЗАГРУЗЧИКА GRUB В GPT ДЛЯ BIOS»
С консоли вот такую команду не запускал sudo grub-install /dev/sda
а просто как только разметил диски через gparted и поставил флаги, создал LVM тома для root home и swap . Запустил установщик стандартный указал для чего какой раздел, для своего grub раздела указал что-то типа «резервный загрузочный раздел Bios» и нажал установка и все встало без проблем.
-
Показать ещё
Загружается…
28 янв. 2023, в 22:48
500 руб./за проект
28 янв. 2023, в 20:58
30000 руб./за проект
28 янв. 2023, в 20:46
50000 руб./за проект
Минуточку внимания
Не удалось получить канонический путь / корова
Я пытаюсь установить Ubuntu 12.10 в течение некоторого времени и преодолеваю препятствия один за другим. Сейчас я нахожусь в следующей ситуации.
У меня есть ПК и жесткий диск на 10 ГБ, который будет полностью выделен для Ubuntu, поэтому я не могу выбрать Wubi и двойную загрузку.
Я пытался установить с DVD, но он зависает из-за ошибки «Out ofquency». Поэтому мне пришлось адаптироваться к USB-загрузке. Но мой компьютер не является загрузочным USB, поэтому обходной путь — «Диспетчер загрузки Plop». Поэтому я делаю процедуру установки следующим образом:
- , начиная с CD-привода, на котором установлен plop.
- выбирая загрузку через USB в параметрах plop.
- загрузка начинается с USB.
- монитор в конце концов выдает ошибку «вне частоты»
- нажмите Shift + Alt + F1 , чтобы получить терминал.
- открыть grub с
sudo nano /etc/default/grub. - сделать необходимые изменения.
-
sudo update-grub.
Теперь я получаю сообщение об ошибке следующим образом:
/usr/sbin/grub-probe:error:failed to get canonical path of /cow.
Моя система —
P4 3,06 ГГц, 1 ГБ оперативной памяти, 10 ГБ HDD без ОС , монитор CRT LG StudioWorks (7 лет). Mobo Mercury P4 266a NDMx (865 эквивалентов). Вся система находится в отличном рабочем состоянии под XP, но она не загружается через USB, а все остальные устройства работают отлично.
Что мне делать дальше?
задан
18 February 2014 в 20:53
поделиться
6 ответов
После загрузки с Live CD Ubuntu (пробовал 14.04 и 16.04). Мне удалось обойти эту проблему, запустив update-grub chroot’ed для раздела grub. (Замените / dev / sda1 ниже тем разделом, на котором вы установили grub. Все команды от имени пользователя root.)
mkdir /mnt/chrootdir
mount /dev/sda1 /mnt/chrootdir
for dir in proc dev sys etc bin sbin var usr lib lib64 tmp; do
mkdir /mnt/chrootdir/$dir && mount --bind /$dir /mnt/chrootdir/$dir
done
chroot /mnt/chrootdir
grub-install /dev/sda # May not be required
update-grub2
ответ дан Nathan Kidd
18 February 2014 в 20:53
поделиться
Я знаю, это старая проблема, но у меня были те же самые проблемы сегодня с актуальной версией mint-linux (на базе ubuntu). Я нашел очень простое решение! 🙂 Снимите интернет-соединение во время первой установки. Это остановка загрузки несовместимых grub2. Обновите все после завершения установки.
ответ дан anonymous2
18 February 2014 в 20:53
поделиться
Это команда update-grub , которая выдаст вам ошибку при использовании ее с живого компакт-диска. Я столкнулся с подобной ситуацией, когда выполнял спасение GRUB. Также grub-install по какой-то причине не попал на мой путь, поэтому мне пришлось запустить его с помощью / usr / sbin / grub-install .
grub-install ] принимает параметр - boot-directory , чтобы настроить GRUB для загрузки в систему, отличную от той, которая работает в данный момент. Вот соответствующая страница руководства.
ответ дан aveemashfaq
18 February 2014 в 20:53
поделиться
Исправленное решение, основанное на приведенном выше коде
Приведенное выше решение не будет работать без проблем, поскольку оно монтирует загрузочный раздел в / (корень) файловой системы. Это, конечно, заставляет grub жаловаться на то, что / boot не существует. Это решит эту проблему:
mkdir /mnt/chrootdir
mkdir /mnt/chrootdir/boot
mount /dev/sda1 /mnt/chrootdir/boot
for dir in proc dev sys etc bin sbin var usr lib lib64 tmp; do mkdir /mnt/chrootdir/$dir && mount --bind /$dir /mnt/chrootdir/$dir ; done
chroot /mnt/chrootdir
update-grub2 # inside chroot
Как вы видите, я также удалил разрывы строк, чтобы его было легче выполнить для всех.
Другое (более простое) решение
Если у вас по-прежнему возникают проблемы с его работой, вам следует посмотрите, чтобы скопировать раздел / boot в раздел / (корневой). Для этого запустите вашу систему с DVD-диска Live boot Ubuntu и откройте терминал. Внутри наберите:
sudo su
fdisk -l
Чтобы узнать, какие у вас разделы. В моем случае sda1 — это мой раздел / boot размером около 250 МБ, а sda5 — около 500 ГБ. Я использую эти значения в следующих командах:
mkdir /mnt/boot/
mount /dev/sda1 /mnt/boot/
mkdir /mnt/root/
mount /dev/sda5 /mnt/root/
cp -R /mnt/boot/ /mnt/root/boot/
Установите загрузочный флаг для раздела данных и удалите его для загрузочного раздела:
fdisk /dev/sda
b -> 1 (unset the bootable flag for the first partition)
b -> 5 (set the bootable flag for the fifth partition)
w -> write changes to the MBR
Ваш компьютер теперь будет искать загрузочные файлы внутри sda5. Пришло время снова выполнить chroot, на этот раз с некоторыми необходимыми папками, необходимыми для grub и уже созданными вашим живым диском Ubuntu:
mkdir /mnt/chrootdir/
mkdir /mnt/chrootdir/dev/
mkdir /mnt/chrootdir/proc/
mkdir /mnt/chrootdir/sys/
mount /dev/sda5 /mnt/chrootdir/
mount --bind /dev/ /mnt/chrootdir/dev/
mount --bind /proc/ /mnt/chrootdir/proc/
mount --bind /sys/ /mnt/chrootdir/sys/
chroot /mnt/chrootdir/
grub-install /dev/sda
Установка завершена. Об ошибках не сообщалось.
Если вы не видите сообщение о том, что файл grub.cnf создан, также выполните команду обновления:
update-grub2 /dev/sda
Теперь вы можете безопасно перезагрузиться и снова увидеть хорошо известное меню загрузки.
Это решение было единственным, которое работало у меня после перехода с физического сервера на виртуальную машину. Я надеюсь, что кто-то сочтет это полезным!
ответ дан Tim B.
18 February 2014 в 20:53
поделиться
Найдите свой диск, который должен загружаться с помощью
mount
, или
parted -l
, или
fdisk /dev/sda
, и введите p, чтобы вывести список разделов. найдите тип 83.
(Если у вас Fedora, вам, возможно, придется использовать команды «vgs» и «lvs», а если у вас есть mdraid, вам, возможно, придется «cat / proc / mdstat» или mdadm -А -scan или insmod raid1 или insmod raid5, а затем mdadm -A —scan), и вы будете использовать / dev / md0 или / dev / mapper / my-vg вместо / dev / sda
, затем попробуйте смонтировать его
mkdir /mnt
mount /dev/sda1 /mnt
cd /mnt
ls -l
Is это твой драйв? Круто!
grub-install --recheck --root-directory=/mnt /dev/sda
(Или в зависимости от того, какой у вас корневой диск / dev, с установленным путем)
grub-install --recheck --root-directory=/mnt /dev/sda --force
(Принудительно, если ему не нравятся ваши разделы.)
Теперь он должен загрузиться в grub, и вы можете использовать команды grub для загрузки после перезагрузки и выбора правильного загрузочного диска в BIOS Setup или путем нажатия ESC или F12 в зависимости от вашего BIOS и от того, достаточно ли вы быстр, затем в приглашении Grub — вы можете использовать завершение вкладки, чтобы найти это, если это не (hd0,1), а (hd1,3) или что-то другое, но будьте осторожны, завершение табуляции иногда зависает на несколько секунд, если grub не может прочитать диск.
insmod linux
ls
root=(hd0,1)
linux /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd
boot
Или, надеюсь, вы все еще получил неповрежденный файл grub.cfg …
ls
ls (hd0,1)/
ls (hd0,1)/boot
configfile (hd0,1)/boot/grub.cfg
или, может быть, это сработает:
grub-mkconfig -o /mnt/boot/grub/grub.cfg
Ваши пути, конечно, могут отличаться, поэтому просто играйте с этими командами, пока не увидите, что где и что происходит.
Это может быть признаком неминуемого отказа жесткого диска в худшем случае, а в лучшем случае может быть просто флагом раздела или загрузочным файлом, который был случайно перезаписан.
ответ дан Dagelf
18 February 2014 в 20:53
поделиться
Та же ошибка. Единственная проблема заключалась в том, что / cow все еще была установлена на /.
Маленький sudo umount / cow сделал свое дело.
ответ дан Simon Lejoly
23 November 2019 в 00:02
поделиться
Другие вопросы по тегам:
Похожие вопросы:
Многие пользователи дистрибутивов Linux устанавливают на жёстком диске своего компьютера две и более систем, одну как рабочую, а другую/другие для тестирования или просто ради любопытства. И здесь возникает не существенная, но всё-таки проблема с загрузчиком GRUB, так как установка новой (другой системы) автоматически изменяет меню загрузки систем, т. е. наша вновь установленная система оказывается первой в списке. Для восстановления загрузчика GRUB своей предпочтительной системы пользователь, применяет такие графические инструменты как: Boot-Repair или Grub Customizer, которые прекрасно с этим справляются.
Но оказывается и в терминале можно сделать то же самое всего одной командой. Для этого необходимо так же, как и с вышеупомянутыми инструментами, загрузиться в предпочитаемой системе, GRUB которой хотите восстановить, открыть окно терминала и проверить, какая система примонтирована в настоящий момент. Выполните следующую команду:
lsblk
Как видно на снимке примотированных разделов у меня три. Из них /media, это раздел ntfs, который служит для хранения различных файлов на моём компьютере, [SWAP] в квадратных скобках, указывает на то, что примонтирован, но не задействован в настоящий момент, а вот sda6, отмеченный правым слешем — это тот самый раздел, на котором находится корневая файловая система.
Теперь мы можем приступить к повторной установке загрузчика Grub на ней. Необходимо выполнить следующую команду:
sudo grub-install /dev/sda

Установка завершена. Ошибок нет.
И остаётся только обновить GRUB:
sudo update-grub
Вот и все. Теперь можно перезагрузить компьютер, чтобы убедиться, что выбранная система Linux находится первой в меню загрузчика GRUB.
Удачи.