インストールツリーにgrubをインストールする - 心配することはありますか?

インストールツリーにgrubをインストールする - 心配することはありますか?

tree先ほどインストールしました。

sudo apt-get install tree

私の端末は突然更新することにしましたgrub。先週インストールしたところ、tree同様のことが起こりました。しかし、その夜遅くにコンピュータを再起動したときにディスプレイウィンドウに起動しました。

Grub _

何も変わらなかった。

結局のところ、OSを再インストールしました(私はWattOSを使用しており、昨年の火曜日に新しいコンピュータにインストールしたため、世界は終わりませんでした。すべてをリセットするのに5時間しかかかりませんでした)。

Grubをインストールしたときに最後に見たものを覚えておくいくつかのエラーがありました(読みやすくするために投稿の一番下に含まれています)。

私はこれをグーグルしました:

  1. ツリーがGrubを更新するのはなぜですか?
  2. なぜgrubのアップグレード/更新をする必要がありますか?

しかし、私は幸運ではありません。私は何かを逃したと思います。

誰でも説明できますか?

  1. なぜこれが起こるのですか?
  2. これは何かが間違っているという意味ですか?
  3. それを修正するために私がしなければならないこと/できることがあれば。

すべてを再インストールしたくありません(明らかな理由があります!)

ありがとうございます。

インストール中にエラーが発生しました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.

前回エラーが発生したため、「OK」を選択しませんでした。

それから別の端末で試してみると

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を使ってシェルを閉じようとしましたが、どちらも役に立ちませんでした。窓を閉めても構いませんが、心配です。

追加情報のリクエスト

  1. 結果
sudo dmidecode -s bios-version

はい

8GET38WW (1.15 )
  1. 結果
sudo dmidecode -t 0 | grep UEFI

何もない。 (これはサポートされていないことを意味します)。

  1. 結果
cpuid | less

はい

bash: cpuid: command not found

私が言うことができるのは、これがレノボのThinkPad L520、リファブ製品であり、CPUを交換していないということだけです。 (以前の所有者がどうでしたかはよくわかりません。)

  1. 結果
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

  1. (少なくとも)26個のパッケージを削除する必要があります。
  2. 174個のパッケージにアップグレードが必要です。
  3. oldfredのコメントからわかるように、Grubにはいくつかの調査と可能な修正が必要です。

潜在的に問題を2回修正する必要がないように、小さなステップ(1と2)をキャンセルする必要がありますgrub。私は2つの理由でこのタイプの答えが好きです。

  1. Linuxでの再起動は、Windowsでの再起動とは大きく異なることを新しいLinuxユーザーが理解するのに役立ちます。
  2. 新しいLinuxユーザーとして、私がここでやったように、OPが彼の知識を伝えることを願っています。

小さいものから先に

出力スニペットだけを見ると、パッケージマネージャがAPTであることがわかります。高度なパッケージングツール。必要に応じて試してくださいmam apt

  1. apt update && apt autoremove- 上記の26-in-1を削除する必要があります。
  2. apt upgrade- 2に記載されている174個のパッケージ(含まれる場合がありますgrub)をダウンロードしてインストールする必要があります。インターネット接続の状態によっては多少時間がかかる場合があります。

ノート:OPが質問に貼り付けたのと同じエラーが原因でアップグレードが中断される可能性があります。そうしたらいいのですが、174個のパッケージセットができるだけアップグレードされてほしいです。アップグレードが中断された場合は続行してください。 その後、手順2を繰り返します。

今部屋の中の象

年上のOldfredの言葉が正しかった。

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
  • あなたのCPU:cpuid | less
  • パーティションリストとテーブルタイプ:sudo parted --list

機能するには、grub-efi-amd64FAT32のESP / EFIパーティションタイプと64ビットCPUが必要です。箇条書き3は次のように検索できます。家族の箇条書き4には、EFIパーティションの出力fstype: fat32とテーブルの種類を含める必要がありますgpt。項目2には「サポート」を含める必要があります。

前述のエラーから、インストーラがフォーマットしたルートパーティションに grub ブートコードを含めようとしているとしますext2。 OPがインストールにフルディスクを使用した場合は、grubフルディスクを使用して再インストールする必要があります。このオプションはEFIかどうかにかかわらず動作します。 EFIパーティションがある場合は、grub再インストールしてください。質問に上記の4項目の結果を追加してください。適切なコマンドでこの回答を更新します。


修正する

OPが提供するアップデートに基づいて、dmidecodeこれが正しいグラブアーキテクチャであるとparted安全に言うことができます。grub-pcOPはインストールのみを選択したためワットオペレーティングシステムマシンでgrub次のコマンドを使用して、ハードドライブ全体のブートセクタを安全に含めることができます。

sudo grub-install /dev/sda && sudo update-grub

sudo reboot

再起動後続行:再アップグレードする必要apt update && apt-upgrade がある場合は、アップグレードするたびに上記のコマンドを実行します。 (約15年間、さまざまなLinuxディストリビューションからアップグレードされた回数は10回未満のようですgrub。これは一般的なアップグレードパッケージではありません)。grub私の考えでは)。

ノート:コマンドからパーティション番号を省略することで、grub-installgrubにディスク全体を埋め込むことができることを通知しました。

失敗した場合update-grub(順番にエクスポート):

  • sudo grub-install /dev/sda
  • sudo grub-mkconfig -o /boot/grub/grub.cfg
  • sudo reboot

関連情報