Am cumpărat recent un Lenovo Thinkpad T470 folosit. După ce am instalat Ubuntu 20.04 și l-am folosit puțin, am observat că se bloca din când în când, se pare că discul SSD nu mai răspunde. După aceasta, aș putea întotdeauna să repornesc sistemul și lucrurile ar fi bine.
Dar zilele trecute s-a prăbușit în timp ce sistemul se actualiza și la pornire primeam mesajul că sistemul a renunțat la așteptarea dispozitivului de sistem de fișiere rădăcină și
ALERTA! UUID=xxx nu există. A căzut într-o coajă!
Am încercat să adaug rootdelay=5 din parametrii de pornire GRUB (apăsând „e”), dar nu a ajutat.
Așa că au început experimentele mele. Nu există date valoroase despre sistem, așa că am încercat o mulțime de sfaturi încercând să restabilim sistemul, inclusiv încercând să reparăm și să formatez partițiile, dar fără noroc.
SSD-ul pare să fie ok din punct de vedere fizic ok - rularea memoriei BIOS și a testelor de stocare livrate împreună cu sistemul, totul pare în regulă. Am decis să reinstalez Ubuntu cu Live USB, dar nu am nicio opțiune pentru alegerea unei partiții atunci când rulez programul de instalare. La rularea boot-repair, am o problemă similară - butonul pentru repararea boot-ului nu este acolo.
Deci aceasta este a doua mea încercare de a salva sistemul și am decis să documentez acest lucru până la un detaliu, sper că acest lucru îi poate ajuta pe alții.
Se actualizează initram și GRUB
Urmând sfaturile date aici
ALERTA! /dev/disk/by-uuid/xxxxxxxxx nu există. Căzând într-o coajă
Am pornit cu Live USB (Ubuntu 20.04) și m-am uitat la ieșirea de la sudo blkid
:
ubuntu@ubuntu:~$ sudo blkid
/dev/sda1: UUID="2020-07-31-16-51-12-00" LABEL="Ubuntu 20.04.1 LTS amd64" TYPE="iso9660" PTUUID="zzzz" PTTYPE="dos" PARTUUID=" zzzzz"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"
/dev/loop5: TYPE="squashfs"
/dev/sda2: SEC_TYPE="msdos" UUID="zzzz" TYPE="vfat" PARTUUID="zzz"
/dev/sda3: UUID="yyy" TYPE="ext4" PARTUUID="zzzz"
UUID-ul dat în mesajul de eroare de boot este diferit de cel de la care primesc blkid
. Pe baza acestor informații și a rezultatelor de la fdisk -l
Dispozitiv Boot Start End Sectors Size ID Tip
/dev/sda1 * 0 5439487 5439488 2.6G 0 Gol
/dev/sda2 5017392 5025327 7936 3,9M ef EFI (FAT-12/16/32)
/dev/sda3 5439488 30031871 24592384 11.7G 83 Linux
Am decis sa continui:
ubuntu@ubuntu:~$ sudo mount /dev/sda3 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
mount: /mnt/dev: punctul de montare nu există.
Ok - pot crea mai întâi directoarele, np
sudo mkdir /mnt/dev
ubuntu@ubuntu:~$ sudo mount /dev/sda3 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
mount: /mnt/dev: punctul de montare nu există.
ubuntu@ubuntu:~$ sudo mkdir /mnt/dev
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /mnt/proc
mount: /mnt/proc: punctul de montare nu există.
ubuntu@ubuntu:~$ sudo mkdir /mnt/proc
ubuntu@ubuntu:~$ sudo mount --bind /proc /mnt/proc
ubuntu@ubuntu:~$ sudo mount --bind /sys /mnt/sys
mount: /mnt/sys: punctul de montare nu există.
ubuntu@ubuntu:~$ sudo mkdir /mnt/sys
ubuntu@ubuntu:~$ sudo mount --bind /sys /mnt/sys
ubuntu@ubuntu:~$ sudo chroot /mnt
chroot: nu a reușit să ruleze comanda â/bin/bashâ: nu există un astfel de fișier sau director
https://unix.stackexchange.com/questions/128046/chroot-failed-to-run-command-bin-bash-no-such-file-or-directory
Trebuie să facem bash
accesibil din chroot
ubuntu@ubuntu:~$ sudo chroot /mnt /usr/bin/bash
chroot: nu a reușit să ruleze comanda â/usr/bin/bashâ: nu există un astfel de fișier sau director
ubuntu@ubuntu:~$ care bash
/usr/bin/bash
ubuntu@ubuntu:~$ sudo mkdir /mnt/usr
ubuntu@ubuntu:~$ sudo mount --bind /usr /mnt/usr
ubuntu@ubuntu:~$ sudo chroot /mnt /usr/bin/bash
chroot: nu a reușit să ruleze comanda â/usr/bin/bashâ: nu există un astfel de fișier sau director
Bine
ubuntu@ubuntu:~$ sudo mkdir /mnt/lib
ubuntu@ubuntu:~$ sudo mkdir /mnt/lib64
ubuntu@ubuntu:~$ sudo mount --bind /lib /mnt/lib
ubuntu@ubuntu:~$ sudo mount --bind /lib64 /mnt/lib64
ubuntu@ubuntu:~$ sudo chroot /mnt /usr/bin/bash
bash-5.0#
DA! Înapoi la actualizarea initramfs!
bash-5.0# update-initramfs -u
bash: /usr/sbin/update-initramfs: /bin/sh: interpret defectuos: Nu există un astfel de fișier sau director
Știu trucul ăsta acum.
bash-5.0# ieșire
Ieșire
ubuntu@ubuntu:~$ sudo mkdir /mnt/bin
ubuntu@ubuntu:~$ sudo mount --bind /bin /mnt/bin
ubuntu@ubuntu:~$ sudo chroot /mnt /usr/bin/bash
bash-5.0# update-initramfs -u
update-initramfs este dezactivat deoarece rulează pe medii numai pentru citire
Dezamăgitor.
https://superuser.com/questions/903142/how-to-run-update-initramfs-from-bootable-usb
bash-5.0# unde este update-initramfs
update-initramfs: /usr/sbin/update-initramfs /usr/sbin/update-initramfs.distrib /usr/share/man/man8/update-initramfs.8.gz
bash-5.0# cat /usr/sbin/update-initramfs
#! /bin/sh
echo „update-initramfs este dezactivat deoarece rulează pe medii de doar citire”
iesirea 0
Trebuie să sunăm mkinitramfs
direct, se pare
bash-5.0# cd /lib/modules
bash-5.0# ls
5.4.0-42-generic
Captivant!
root@ubuntu:/# mkinitramfs -o /boot/initrm.img-5.4.0-42-generic 5.4.0-42-generic
atingeți: nu se poate atinge „/boot/initrm.img-5.4.0-42-generic”: nu există un astfel de fișier sau director
mktemp: nu s-a putut crea directorul prin șablonul â/var/tmp/mkinitramfs_XXXXXXâ: nu există un astfel de fișier sau director
Am inteles. Mai sunt câteva directoare de montat.
root@ubuntu:/# exit
Ieșire
ubuntu@ubuntu:~$ sudo mkdir /mnt/boot
ubuntu@ubuntu:~$ sudo mount --bind /boot /mnt/boot
ubuntu@ubuntu:~$ sudo chroot /mnt /usr/bin/bash
root@ubuntu:/# mkinitramfs -o /boot/initrm.img-5.4.0-42-generic 5.4.0-42-generic
mktemp: nu s-a putut crea directorul prin șablonul â/var/tmp/mkinitramfs_XXXXXXâ: nu există un astfel de fișier sau director
root@ubuntu:/# exit
Ieșire
ubuntu@ubuntu:~$ sudo mkdir /mnt/var
ubuntu@ubuntu:~$ sudo mount --bind /var /mnt/var
ubuntu@ubuntu:~$ sudo chroot /mnt /usr/bin/bash
Degete încrucișate!
root@ubuntu:/# mkinitramfs -o /boot/initrm.img-5.4.0-42-generic 5.4.0-42-generic
...
/usr/sbin/mkinitramfs: 76: modprobe: nu a fost găsit
/usr/sbin/mkinitramfs: 75: modprobe: nu a fost găsit
/usr/sbin/mkinitramfs: 76: modprobe: nu a fost găsit
găsiți: â/var/tmp/mkinitramfs_TcMfi0/lib/modules/5.4.0-42-generic/kernelâ: Nu există un astfel de fișier sau director
/usr/sbin/mkinitramfs: 75: modprobe: nu a fost găsit
/usr/sbin/mkinitramfs: 76: modprobe: nu a fost găsit
E: /usr/share/initramfs-tools/hooks/brltty a eșuat cu returnarea 1.
Nicio bucurie.
eroare initramfs la instalare/actualizare
Urmând sfaturile de mai sus cu privire la pachete, din păcate, nu a ajutat:
root@ubuntu:/# apt-get auto-remove && apt-get clean && apt-get update && apt-get upgrade
Citirea listelor de pachete... Gata
Construirea arborelui de dependență
Citirea informațiilor despre stare... Gata
0 actualizat, 0 nou instalat, 0 de eliminat și 0 neactualizat.
Ign:1 cdrom://Ubuntu 20.04.1 LTS _Focal Fossa_ - Release amd64 (20200731) focal InRelease
Hit:2 cdrom://Ubuntu 20.04.1 LTS _Focal Fossa_ - Lansare amd64 (20200731) lansare focală
Err:3 http://archive.ubuntu.com/ubuntu focal InRelease
Eroare temporară la rezolvarea „archive.ubuntu.com”
Err:4 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Eroare temporară la rezolvarea „archive.ubuntu.com”
Err:5 http://security.ubuntu.com/ubuntu focal-security InRelease
Eșec temporar la rezolvarea „security.ubuntu.com”
Err:6 cdrom://Ubuntu 20.04.1 LTS _Focal Fossa_ - Release amd64 (20200731) focal Release.gpg
Nu s-a putut crea fișierul temporar /tmp/apt.conf.NMc68S pentru transmiterea config către apt-key
Se citesc listele de pachete... Eroare!
W: A apărut o eroare în timpul verificării semnăturii. Depozitul nu este actualizat și vor fi utilizate fișierele index anterioare. Eroare GPG: cdrom://Ubuntu 20.04.1 LTS _Focal Fossa_ - Lansare amd64 (20200731) Versiune focală: Nu s-a putut crea fișierul temporar /tmp/apt.conf.NMc68S pentru trecerea configurației la apt-key
W: Nu s-a putut prelua http://archive.ubuntu.com/ubuntu/dists/focal/InRelease Eroare temporară la rezolvarea „archive.ubuntu.com”
W: Nu s-a putut prelua http://security.ubuntu.com/ubuntu/dists/focal-security/InRelease Eroare temporară la rezolvarea „security.ubuntu.com”
W: Nu s-a putut prelua http://archive.ubuntu.com/ubuntu/dists/focal-updates/InRelease Eroare temporară la rezolvarea „archive.ubuntu.com”
W: Nu s-a putut prelua cdrom://Ubuntu 20.04.1 LTS _Focal Fossa_ - Versiunea amd64 (20200731)/dists/focal/Release.gpg Nu s-a putut crea fișierul temporar /tmp/apt.conf.NMc68S pentru trecerea configurației la apt- cheie
W: Unele fișiere index nu au putut fi descărcate. Ele au fost ignorate, sau cele vechi au fost folosite în schimb.
E: Sub-procesul a returnat un cod de eroare
E: Imposibil de mkstemp /tmp/clearsigned.message.WSluIb - GetTempFile (2: Nu există un astfel de fișier sau director)
E: Listele de pachete sau fișierul de stare nu au putut fi analizate sau deschise.
root@ubuntu:/#
Inteligența se termină aici. Ajutorul cel mai apreciat.