
Я только что установил tree
через
sudo apt-get install tree
и мой терминал внезапно решил обновить grub
. На прошлой неделе я установил tree
, и произошло то же самое. Однако, когда я перезагрузил свой ПК позже той ночью, он загрузился в окно, отображающее
Grub _
и не изменился.
В конце концов я переустановил свою ОС (у меня WattOS, и я установил ее на новый ПК во вторник, так что это не был конец света — мне просто потребовалось 5 часов, чтобы все настроить заново).
Grub установился с рядом ошибок, которые я смутно припоминаю, когда видел в прошлый раз (они приведены в конце моего поста, чтобы их было легче читать).
Я поискал в Google:
- Почему дерево обновляет grub?
- Почему grub обновился/обновился?
Но мне не повезло. Подозреваю, что я что-то упускаю.
Может ли кто-нибудь объяснить:
- Почему это произошло?
- Означает ли это, что что-то не так?
- Если я должен/могу что-то сделать, чтобы это исправить.
Я бы предпочел не переустанавливать все (по понятным причинам!)
Спасибо.
Ошибки, обнаруженные при установке tree
:
sudo apt-get install tree
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
gimp-data libamd2 libbabl-0.1-0 libcamd2 libccolamd2 libcholmod3 libgegl-0.4-0 libgegl-common libgexiv2-2 libgimp2.0 libhpmud0 libimagequant0
libmetis5 libqt5designer5 libqt5help5 libqt5sql5 libqt5sql5-sqlite libqt5test5 libsane-hpaio libumfpack5 printer-driver-hpcups
printer-driver-postscript-hp python3-dbus.mainloop.pyqt5 python3-notify2 python3- olefile python3-pexpect python3-pil python3-ptyprocess
python3-pyqt5 python3-pyqt5.sip python3-renderpm python3-reportlab python3-reportlab- accel vlc-plugin-samba xsane xsane-common
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
tree
0 upgraded, 1 newly installed, 0 to remove and 174 not upgraded.
1 not fully installed or removed.
Need to get 49.6 kB of archives.
After this operation, 118 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bullseye/main amd64 tree amd64 1.8.0-1+b1 [49.6 kB]
Fetched 49.6 kB in 0s (110 kB/s)
Selecting previously unselected package tree.
(Reading database ... 123032 files and directories currently installed.)
Preparing to unpack .../tree_1.8.0-1+b1_amd64.deb ...
Unpacking tree (1.8.0-1+b1) ...
Setting up grub-pc (2.06-3~deb11u6) ...
Installing for i386-pc platform.
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
Installation finished. No error reported.
Generating grub configuration file ...
Found background: /usr/share/wattOS/splash.png
Found background image: /usr/share/wattOS/splash.png
Found linux image: /boot/vmlinuz-5.10.0-19-amd64
Found initrd image: /boot/initrd.img-5.10.0-19-amd64
Warning: os-prober will be executed to detect other bootable partitions. Its output will be used to detect bootable binaries on them and create new boot entries. Found Debian GNU/Linux 11 (bullseye) on /dev/mmcblk0p2 done Setting up tree (1.8.0-1+b1) ...
Processing triggers for man-db (2.9.4-2) ...
Обновлять
Я перезагрузил случайно, и мой ПК снова завис. Затем я переустановил WattOS как единственную ОС на моем жестком диске, и все заработало нормально. Я только что увидел ответ @eyoung100 и запустил
sudo apt upgrade
который прошёл без ошибок.
Потом я побежал
sudo apt autoremove
и на полпути я увидел тот же экран, что и в прошлый раз:
The grub-pc package is being upgraded. This menu allows you to select which devices you'd like grub-install to be automatically run for, if any.
Running grub-install automatically is recommended in most situations, to prevent the installed GRUB core image from getting out of sync with
GRUB modules or grub.cfg.
If you're unsure which drive is designated as boot drive by your BIOS, it is often a good idea to install GRUB to all of them.
Note: it is possible to install GRUB to partition boot records as well, and some appropriate partitions are offered here. However, this forces GRUB to use the blocklist mechanism, which makes it less reliable, and therefore is not recommended.
Я не нажал кнопку «ОК», так как в прошлый раз это привело к ошибкам.
Когда я затем попробовал в другом терминале
sudo apt upgrade
Он ответил:
Waiting for cache lock: Could not get lock /var/lib/dpkg/lock-frontend. It is held by process 39623 (apt)
Что неудивительно.
Я пробовал закрыть эту оболочку с помощью ctrl-c и ctrl-x, но ни то, ни другое не помогло. Я мог бы закрыть окно, но я боюсь.
Дополнительная информация запрошена
- Результат
sudo dmidecode -s bios-version
является
8GET38WW (1.15 )
- Результат
sudo dmidecode -t 0 | grep UEFI
ничего. (Я думаю, это означает, что он не поддерживается).
- Результат
cpuid | less
является
bash: cpuid: command not found
Могу только сказать, что это Lenovo Thinkpad L520, он восстановленный, и я не менял процессор. (Не знаю, как поступил предыдущий владелец).
- Результат
sudo parted --list
является
Model: ATA ADATA SU630 (scsi)
Disk /dev/sda: 240GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 231GB 231GB primary ext4 boot
2 231GB 240GB 9449MB primary linux-swap(v1)
Я ничего не вижу о fstype
или gpt
.
Как я уже сказал, я попытался установить его на очищенный диск.
Спасибо за ваше время!
решение1
Сужение ошибок
Я вижу много вещей, на которые нужно обратить внимание, прежде чем беспокоиться.grub
- Необходимо удалить 26 пакетов (минимум).
- Необходимо обновить 174 пакета.
- Grub нуждается в небольшом исследовании и возможном исправлении, как предполагает комментарий oldfred.
Нам нужно выбить маленькие шаги (1 и 2), чтобы избежать необходимости исправлять grub
дважды. Такие ответы мне нравятся по двум причинам:
- Я могу помочь новым пользователям Linux понять, что перезагрузка в Linux сильно отличается от перезагрузки в Windows.
- Как новый пользователь Linux, я надеюсь, что автор публикации поделится своими знаниями, как это делаю я.
Сначала мелочи
Просто взглянув на фрагмент выходных данных, я понял, что менеджер пакетов — APT, сокращение отРасширенный инструмент для упаковки. Если вам это нужно, попробуйте mam apt
.
apt update && apt autoremove
- Следует удалить 26 в 1 выше.apt upgrade
- Необходимо загрузить и установить 174 пакета, указанных в пункте 2 (которые могут включатьgrub
). Это может занять некоторое время в зависимости от вашего интернет-соединения.
Примечание:Обновление может прерваться из-за той же ошибки, которую OP вставил в свой вопрос. Я бы ожидал этого, но мы хотим, чтобы пакет 174 обновлял как можно больше. Если обновление прервется, продолжайте с слон и повторите шаг 2 после этого
А теперь слон в комнате
Олдфред, он хоть и стар, но он прав:
grub-install: warning: File system `ext2' doesn't support embedding.
grub-install: warning: Embedding is not possible. GRUB can only be installed in this setup by using blocklists. However, blocklists are UNRELIABLE and their use is discouraged..
Прежде чем мы сможем достоверно определить тип grub
установки, нам необходимо выполнить несколько действий (в произвольном порядке):
- Ваша версия BIOS/UEFI:
sudo dmidecode -s bios-version
- Включен ли/поддерживается ли UEFI:
sudo dmidecode -t 0 | grep UEFI
- Ваш процессор:
cpuid | less
- Ваш список разделов и тип таблицы:
sudo parted --list
Для grub-efi-amd64
работы у вас должен быть тип раздела ESP/EFI FAT32 и 64-битный ЦП. Пункт 3 можно найти в Google и т. д. следующим образом: Является ли семейство X Модель Y ЦП 64-битным, где X и Y — целые числа в строках Семейство и Модель. Пункт 4 должен содержать вывод раздела EFI, fstype: fat32
и тип таблицы gpt
. Пункт 2 должен содержать «поддерживается»
Из вида ошибки, процитированной ранее, я предполагаю, что вы попытались внедрить загрузочный код grub в корневой раздел, который установщик отформатировал как ext2
. Если OP использовал весь диск для установки, grub
необходимо переустановить, используя весь диск. Этот вариант будет работать независимо от того, есть ли EFI. Если раздел EFI существует, grub
необходимо переустановить только в нем. Пожалуйста, добавьте вывод 4 пунктов выше к вашему вопросу, и я обновлю этот ответ соответствующей командой.
Обновлять
На основе обновлений, предоставленных OP dmidecode
, parted
я с уверенностью могу сказать, что grub-pc
это правильная архитектура grub. Поскольку OP решил установить толькоWattOSна машине мы можем безопасно встроить grub
в загрузочный сектор всего жесткого диска:
sudo grub-install /dev/sda && sudo update-grub
sudo reboot
После перезапуска продолжите: apt update && apt-upgrade
Если grub
когда-либо снова потребуется обновление, просто выполните команды выше при каждом обновлении (за 15 лет работы с различными дистрибутивами Linux я, кажется, обновлял grub
менее 10 раз. Это не очень распространенный пакет для обновления).по моему мнению).
Примечания: Оставив номер раздела в grub-install
команде, мы указали grub, что его можно внедрить на весь диск.
Если update-grub
не удалось (выполнить по порядку):
sudo grub-install /dev/sda
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot