Puncte:2

Cum pot repara procesul de pornire (astfel încât să folosească SSD-ul meu)?

drapel vn

Eu folosesc Lubuntu 20.04, care pornește de pe un SSD.

Astăzi am permis sistemului să facă upgrade și, ulterior, am primit un mesaj de eroare care spunea că update-initramfs a eșuat. Am căutat pe google mesajul de eroare și am găsit asta legătură ceea ce sugerează că problema ar putea fi rezolvată eliberând spațiu pe /boot și reinstalând un pachet. Cred că am făcut o greșeală încercând să fac ambele remedieri într-o singură procedură.

Am facut:

sudo apt elimina initramfs-tools
sudo apt-get auto-remove 
sudo apt-get clean 
sudo apt install initramfs-tools
sudo apt-get update 

Totul părea a fi reparat până când am repornit aparatul. Mașina nu a putut reporni automat, dar am intrat în meniul de pornire și am ales un nucleu mai vechi. Asta a funcționat. Inspectând comenzile de boot stricate și funcționale, cred că nu mai pornesc de pe SSD (s-ar putea să greșesc și eu).

Opțiunea de pornire ruptă (care înainte funcționa) este:

menuentry „Ubuntu, cu Linux 5.4.0-86-generic” --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-86-generic-advanced-f81f27eb-c1f2 -467c-a62b-fdd60b4f0592' {
        recordfeil
        încărcare_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; apoi insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; atunci
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        altfel
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo „Se încarcă Linux 5.4.0-86-generic...”
        linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro quiet splash $vt_handoff
    }

... iar varianta de lucru este:

meniul „Ubuntu, cu Linux 5.4.0-84-generic” --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-advanced-f81f27eb-c1f2 -467c-a62b-fdd60b4f0592' {
        recordfeil
        încărcare_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; apoi insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; atunci
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        altfel
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo „Se încarcă Linux 5.4.0-84-generic...”
        linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 ro quiet splash $vt_handoff
        echo „Se încarcă discul ram inițial...”
        initrd /initrd.img-5.4.0-84-generic
    }

Există vreo modalitate de a repara deteriorarea și de a face Lubuntu din nou la pornirea de pe SSD? Acum cred că operația de ștergere automată ar fi distrus unele informații vitale de pe SSD.

Opțiunea de pornire întreruptă produce această ieșire înainte de a se prăbuși:

introduceți descrierea imaginii aici

Dacă folosesc opțiunea de pornire de lucru, acum primesc următorul răspuns de la df (/boot pare să fie pe SSD, așa că se pare că ideea mea că această opțiune a pornit prin hard disk este probabil greșită).

df -h
Filesystem Size Used Avail Use% Montat pe
udev 16G 0 16G 0% /dev
tmpfs 3.2G 2.1M 3.2G 1% /run
/dev/nvme0n1p3 468G 121G 324G 28% /
tmpfs 16G 92M 16G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 16G 0 16G 0% /sys/fs/cgroup
tmpfs 16G 11M 16G 1% /tmp
/dev/loop1 128K 128K 0 100% /snap/bare/5
/dev/loop3 62M 62M 0 100% /snap/core20/1081
/dev/loop2 56M 56M 0 100% /snap/core18/2128
/dev/loop4 165M 165M 0 100% /snap/gnome-3-28-1804/161
/dev/loop5 243M 243M 0 100% /snap/gnome-3-38-2004/76
/dev/loop0 56M 56M 0 100% /snap/core18/2074
/dev/loop6 66M 66M 0 100% /snap/gtk-common-themes/1515
/dev/loop7 66M 66M 0 100% /snap/gtk-common-themes/1519
/dev/loop8 699M 699M 0 100% /snap/libreoffice/227
/dev/nvme0n1p2 510M 318M 155M 68% /boot
/dev/nvme0n1p1 532M 5,3M 527M 1% /boot/efi
/dev/loop9 163M 163M 0 100% /snap/gnome-3-28-1804/145
/dev/loop10 33M 33M 0 100% /snap/snapd/13170
/dev/loop11 33M 33M 0 100% /snap/snapd/12883
/dev/loop12 701M 701M 0 100% /snap/libreoffice/229
/dev/loop13 242M 242M 0 100% /snap/gnome-3-38-2004/70
tmpfs 3.2G 8.0K 3.2G 1% /run/user/1000
/dev/sdb1 1.9T 1008G 856G 55% /media/paul/Seagate Backup Plus Drive

Grub.cfg-ul meu complet este:

#
# NU EDITAȚI ACEST FIȘIER
#
# Este generat automat de grub-mkconfig folosind șabloane
# din /etc/grub.d și setările din /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; atunci
  set have_grubenv=true
  load_env
fi
if [ "${initrdfail}" = 2 ]; atunci
   set initrdfail=
elif [ "${initrdfail}" = 1 ]; atunci
   set next_entry="${prev_entry}"
   set prev_entry=
   save_env prev_entry
   if [ "${next_entry}" ]; atunci
      setați initrdfail=2
   fi
fi
if [ "${next_entry}" ] ; atunci
   set default="${next_entry}"
   setează next_entry=
   save_env next_entry
   set boot_once=true
altfel
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; atunci
  menuentry_id_option="--id"
altfel
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; atunci
  set saved_entry="${prev_saved_entry}"
  save_env save_entry
  setați prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  dacă [ -z „${boot_once}” ]; atunci
    save_entry="${chosen}"
    save_env save_entry
  fi
}
function initrdfail {
    if [ -n "${have_grubenv}" ]; atunci dacă [ -n "${partuuid}" ]; atunci
      dacă [ -z "${initrdfail}" ]; atunci
        setați initrdfail=1
        dacă [ -n „${boot_once}” ]; atunci
          set prev_entry="${default}"
          save_env prev_entry
        fi
      fi
      save_env initrdfail
    fi; fi
}
function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; atunci dacă [ -z "${boot_once}" ]; apoi save_env recordfail; fi; fi
}
funcția load_video {
  if [ x$feature_all_video_module = xy ]; atunci
    insmod all_video
  altfel
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; atunci
   font=unicode
altfel
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; atunci
  căutare --no-floppy --fs-uuid --set=root f81f27eb-c1f2-467c-a62b-fdd60b4f0592
altfel
  căutare --no-floppy --fs-uuid --set=root f81f27eb-c1f2-467c-a62b-fdd60b4f0592
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; atunci
  setați gfxmode=auto
  încărcare_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_GB
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; atunci
  setați timeout=30
altfel
  if [ x$feature_timeout_style = xy ] ; atunci
    setați timeout_style=ascuns
    setați timeout=0
  # Codul de timeout ascuns de rezervă în cazul în care funcția timeout_style este
  # indisponibil.
  elif sleep --întreruptibil 0; atunci
    setați timeout=0
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=alb/negru
set menu_color_highlight=negru/gri deschis
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
funcția gfxmode {
    setați gfxpayload="${1}"
    if [ "${1}" = "păstrați" ]; atunci
        set vt_handoff=vt.handoff=7
    altfel
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; atunci
  if [ -e ${prefix}/gfxblacklist.txt ]; atunci
    dacă hwmatch ${prefix}/gfxblacklist.txt 3; atunci
      dacă [ ${potrivire} = 0 ]; atunci
        setați linux_gfx_mode=keep
      altfel
        setați linux_gfx_mode=text
      fi
    altfel
      setați linux_gfx_mode=text
    fi
  altfel
    setați linux_gfx_mode=keep
  fi
altfel
  setați linux_gfx_mode=text
fi
export linux_gfx_mode
meniul „Ubuntu” --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
    recordfeil
    încărcare_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; apoi insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    if [ x$feature_platform_search_hint = xy ]; atunci
      căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
    altfel
      căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
    fi
    linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro quiet splash $vt_handoff
}
submeniu „Opțiuni avansate pentru Ubuntu” $menuentry_id_option „gnulinux-advanced-f81f27eb-c1f2-467c-a62b-fdd60b4f0592” {
    menuentry „Ubuntu, cu Linux 5.4.0-86-generic” --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-86-generic-advanced-f81f27eb-c1f2 -467c-a62b-fdd60b4f0592' {
        recordfeil
        încărcare_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; apoi insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; atunci
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        altfel
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo „Se încarcă Linux 5.4.0-86-generic...”
        linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro quiet splash $vt_handoff
    }
    menuentry 'Ubuntu, cu Linux 5.4.0-86-generic (mod de recuperare)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-86-generic-recovery -f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
        recordfeil
        încărcare_video
        insmod gzio
        if [ x$grub_platform = xxen ]; apoi insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; atunci
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        altfel
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo „Se încarcă Linux 5.4.0-86-generic...”
        linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro recovery nomodeset dis_ucode_ldr 
    }
    meniul „Ubuntu, cu Linux 5.4.0-84-generic” --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-advanced-f81f27eb-c1f2 -467c-a62b-fdd60b4f0592' {
        recordfeil
        încărcare_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; apoi insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; atunci
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        altfel
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo „Se încarcă Linux 5.4.0-84-generic...”
        linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 ro quiet splash $vt_handoff
        echo „Se încarcă discul ram inițial...”
        initrd /initrd.img-5.4.0-84-generic
    }
    menuentry 'Ubuntu, cu Linux 5.4.0-84-generic (mod de recuperare)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-recovery -f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
        recordfeil
        încărcare_video
        insmod gzio
        if [ x$grub_platform = xxen ]; apoi insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; atunci
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        altfel
          căutare --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo „Se încarcă Linux 5.4.0-84-generic...”
        linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 ro recovery nomodeset dis_ucode_ldr 
        echo „Se încarcă discul ram inițial...”
        initrd /initrd.img-5.4.0-84-generic
    }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/10_linux_zfs ###
### END /etc/grub.d/10_linux_zfs ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_memtest86+ ###
### END /etc/grub.d/20_memtest86+ ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/30_uefi-firmware ###
intrarea de meniu „Setări firmware UEFI” $menuentry_id_option „uefi-firmware” {
    fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# Acest fișier oferă o modalitate ușoară de a adăuga intrări personalizate în meniu. Pur și simplu tastați
# intrări de meniu pe care doriți să le adăugați după acest comentariu. Ai grijă să nu te schimbi
# linia „coada executiv” de mai sus.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; atunci
  sursă ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; atunci
  sursă $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
ChanganAuto avatar
drapel us
De ce crezi că nu mai pornești de pe SSD? Nu, apt autoremove nu face absolut nimic la setările de pornire și nici la oricare dintre celelalte comenzi.
Nmath avatar
drapel ng
Ați încercat deja `boot-repair` dintr-o sesiune live?
guiverc avatar
drapel cn
Ar fi trebuit să furnizați mesajul de eroare real; Din descrierea ta, cred că ai rămas fără spațiu pe disc, unde este posibil ca și comenzile ulterioare să eșueze sau să agraveze problema. Citiți mesajul de eroare real (mai ales dacă este spațiu pe disc) și acționați corespunzător (adică dacă este lipsă de spațiu pe disc, trebuie să creați mai mult spațiu pe disc). Desktopul Ubuntu recomandă 25 GB ca minim pentru a evita astfel de probleme; totuși, site-urile de bloguri ale unor terțe părți recomandă adesea mai puțin, ceea ce tind să ducă la erori de genul acesta; mai puțin este bine, dar trebuie să monitorizați și să vă întrețineți sistemul mai mult.
drapel vn
@ChanganAuto - Boot-ul care a încetat să funcționeze specifică root=/dev/nvme0n1p3 (care este SSD-ul meu). Boot-ul mai vechi, care încă funcționează, specifică root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592. Nu știu ce înseamnă asta, dar am bănuit că ar putea fi pe hard disk.
drapel vn
Am adăugat mai multe informații la întrebarea inițială. @Nmath - Nu am încercat repararea boot-ului. Este următorul lucru pe care intenționez să-l fac, dar încerc să înțeleg ce s-a întâmplat și să obțin sfaturi mai întâi, deoarece chiar nu vreau să înrăutățesc lucrurile!
drapel vn
@guiverc - Nu am copiat mesajul de eroare rezultat în urma upgrade-ului: am crezut că este minor și va dispărea când voi elibera spațiu. Tot ce îmi amintesc este că problema se referea la update-initramfs și se potrivea cu problema descrisă în link.
Puncte:0
drapel vn

S-a rezolvat! Voi explica cum pentru oricine se confruntă cu o problemă similară. Două postări m-au ajutat să rezolv problema.

Am pornit sistemul folosind un kernel anterior (dacă nu l-aș fi avut aș fi încercat să pornesc de pe un stick USB).

În primul rând, am aflat cum să folosesc journalctl pentru a vedea erorile de la boot-ul eșuat:

journalctl -b -2 -e

Am adăugat rezultatul de la journalctl la postarea mea originală. Poate fi necesar să schimbați numărul pentru a vedea boot-ul corect. Puteți găsi numărul potrivit folosind:

journalctl --list-boots 

Postarea care m-a ajutat este Aici

În al doilea rând, am identificat problema cheie din jurnal ca:

kernel panic - nu se sincronizează vfs, nu se poate monta root fs pe unknown-block (0 0)

Acest lucru a fost rezolvat de:

sudo update-initramfs -u -k 5.4.0-86-generic
sudo update-grub

Unde 5.4.0-86-generic este numele nucleului care s-a rupt și a oprit pornirea.

Postarea care m-a ajutat este acest

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.