Удалите Packet Tracer, установленный с помощью Wine

Я тоже получаю эту ошибку, и я не думаю, что это происходит в chroot.

Фон

Я думаю, что это происходит, когда systemd не может найти путь, потому что он смонтирован в каталоге. Итак, разница в том, что когда вы настраиваете chroot, вы уже настраиваете доступ к оборудованию, включая диски.

Хотя вы можете настроить этот доступ внутри Systemd, это не означает, что вы можете настроить разрешения для этих дисков таким же образом.

Например, я создал этот файл:

/etc/systemd/system/systemd-nspawn@.service.d/override.conf

И он содержит эти настройки:

[Service]
DeviceAllow=char-usb_device rwm
DeviceAllow=char-usb
[Files]
Bind=/var/cache/apt/pkgcache.bin
Bind=/var/cache/apt/srcpkgcache.bin

Это по-прежнему не работает при использовании grub-install /dev/sdaили update-grubдля USB на Pi с дезагрузкой Debian Stretch. Даже при использовании grub -uboot и grub -efi -arm по-прежнему возникает ошибка grub-probeне может найти канонический путь.

Не только это, но и то, что update-grubбудет видеть и знать, что такое операционные системы, но, что интересно, grub-installне распознает операционную систему Debian на USB.

Пример

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#

Интересно, когда я создаю chroot и могу запустить update-grub, даже если я нахожусь в операционной системе, которую я разгрузил на сам USB, он не видит свою собственную операционную систему!

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:/#

Он видит только Raspbian. Это происходит только при попытке установить и обновить GRUB внутри контейнера, но когда я выхожу из chroot.

Посмотрите, как теперь это работает, потому что я не размонтировал каталоги chroot:

/dev dev/
/sys sys/
/proc proc/
/dev/pts dev/pts

Имейте в виду, что за пределами контейнера я запускаю эту команду с grub-uboot, установленным на Raspbian, и без Grub на USB, содержащем дезагрузочный 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#

Этого не происходит при использовании одного из неофициально доступных образов для Debian ARM , но очевидно, что это все еще настройка, еще недоступная для дезагрузки.

Поиск и устранение неисправностей

Действительно бывают случаи, когда лучше просто создать путь.Единственная следующая возможность (и вероятная )— просто написать GRUB. И для этого я просто буду читать на этой странице.

https://www.dedoimedo.com/computers/grub-2.html

Еще одна вещь, которую я хочу рассказать об этой проблеме, — это решение, которое может работать, но учтите, что карты microSD очень чувствительны. Я создавал свои собственные образы Linux и быстро научился этому. Лучше всего использовать Qemu всякий раз, когда вы можете, но чтобы попытаться очистить старую таблицу разделов, вы можете попробовать запустить sgdisk --zap-allна диске.

sgdisk --zap-all /dev/sdd

На самом деле, иногда, если он выдает ошибку в первый раз, и это не ошибка только чтения -, вы можете запустить его снова, и, наконец, все таблицы разделов будут новыми или старыми.

И вы можете использовать Qemu для эмуляции Raspberry Pi на стандартном ПК на базе AMD/Intel -. Я бы порекомендовал это. Я знаю, что это больше информации, чем относится к исходному сообщению, но я думаю, что, скорее всего, эта ошибка возникла. Это эпоха контейнеров.

2
17.08.2020, 14:26
1 ответ

Попробуйте это:

sudo apt-get autoremove  packettracer
sudo apt-get remove packettracer
sudo apt-get clean

Если они не работают, отправьте вывод этих команд

1
18.03.2021, 23:12

Теги

Похожие вопросы