SSD를 사용하도록 부팅 프로세스를 어떻게 복구할 수 있나요?

SSD를 사용하도록 부팅 프로세스를 어떻게 복구할 수 있나요?

SSD에서 부팅되는 Lubuntu 20.04를 사용합니다.

오늘 시스템 업그레이드를 허용했는데 이후 update-initramfs가 실패했다는 오류 메시지를 받았습니다. 오류 메시지를 구글링해서 찾았습니다링크/boot에서 일부 공간을 확보하고 패키지를 다시 설치하면 문제가 해결될 수 있다고 제안했습니다. 한 번의 절차로 두 가지 수정 작업을 모두 수행하려는 실수를 저지른 것 같습니다.

나는 그랬다:

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

컴퓨터를 재부팅할 때까지 모든 것이 수정된 것처럼 보였습니다. 컴퓨터가 자동으로 재부팅되지 않았지만 부팅 메뉴에 들어가서 이전 커널을 선택했습니다. 효과가 있었어요. 손상되어 작동하는 부팅 명령을 검사해 보니 더 이상 SSD에서 부팅하지 않는 것 같습니다(틀렸을 수도 있음).

손상된 부팅 옵션(작동했던)은 다음과 같습니다.

menuentry 'Ubuntu, with 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' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  504e9392-5142-456a-852d-7838c4a522bc
        else
          search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo    'Loading Linux 5.4.0-86-generic ...'
        linux   /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro  quiet splash $vt_handoff
    }

... 작업 옵션은 다음과 같습니다.

menuentry 'Ubuntu, with 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' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  504e9392-5142-456a-852d-7838c4a522bc
        else
          search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo    'Loading 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    'Loading initial ramdisk ...'
        initrd  /initrd.img-5.4.0-84-generic
    }

손상을 복구하고 Lubuntu를 SSD에서 다시 부팅할 수 있는 방법이 있습니까? 이제 자동 제거 작업으로 인해 SSD의 일부 중요한 정보가 파괴되었을 수 있다고 생각합니다.

손상된 부팅 옵션은 충돌 전에 다음 출력을 생성합니다.

여기에 이미지 설명을 입력하세요

작동하는 부팅 옵션을 사용하면 이제 df에서 다음과 같은 응답을 받습니다(/boot가 SSD에 있는 것으로 보이므로 이 옵션이 하드 드라이브를 통해 부팅하고 있다는 제 생각은 아마도 잘못된 것 같습니다).

df -h
Filesystem      Size  Used Avail Use% Mounted on
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는 다음과 같습니다.

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

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

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

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}
function initrdfail {
    if [ -n "${have_grubenv}" ]; then if [ -n "${partuuid}" ]; then
      if [ -z "${initrdfail}" ]; then
        set initrdfail=1
        if [ -n "${boot_once}" ]; then
          set prev_entry="${default}"
          save_env prev_entry
        fi
      fi
      save_env initrdfail
    fi; fi
}
function recordfail {
  set recordfail=1
  if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi
}
function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    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 ] ; then
   font=unicode
else
insmod part_gpt
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  f81f27eb-c1f2-467c-a62b-fdd60b4f0592
else
  search --no-floppy --fs-uuid --set=root f81f27eb-c1f2-467c-a62b-fdd60b4f0592
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_GB
  insmod gettext
fi
terminal_output gfxterm
if [ "${recordfail}" = 1 ] ; then
  set timeout=30
else
  if [ x$feature_timeout_style = xy ] ; then
    set timeout_style=hidden
    set timeout=0
  # Fallback hidden-timeout code in case the timeout_style feature is
  # unavailable.
  elif sleep --interruptible 0 ; then
    set timeout=0
  fi
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/05_debian_theme ###
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
### END /etc/grub.d/05_debian_theme ###

### BEGIN /etc/grub.d/10_linux ###
function gfxmode {
    set gfxpayload="${1}"
    if [ "${1}" = "keep" ]; then
        set vt_handoff=vt.handoff=7
    else
        set vt_handoff=
    fi
}
if [ "${recordfail}" != 1 ]; then
  if [ -e ${prefix}/gfxblacklist.txt ]; then
    if hwmatch ${prefix}/gfxblacklist.txt 3; then
      if [ ${match} = 0 ]; then
        set linux_gfx_mode=keep
      else
        set linux_gfx_mode=text
      fi
    else
      set linux_gfx_mode=text
    fi
  else
    set linux_gfx_mode=keep
  fi
else
  set linux_gfx_mode=text
fi
export linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
    recordfail
    load_video
    gfxmode $linux_gfx_mode
    insmod gzio
    if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
    insmod part_gpt
    insmod ext2
    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root  504e9392-5142-456a-852d-7838c4a522bc
    else
      search --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
}
submenu 'Advanced options for Ubuntu' $menuentry_id_option 'gnulinux-advanced-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
    menuentry 'Ubuntu, with 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' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  504e9392-5142-456a-852d-7838c4a522bc
        else
          search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo    'Loading Linux 5.4.0-86-generic ...'
        linux   /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro  quiet splash $vt_handoff
    }
    menuentry 'Ubuntu, with Linux 5.4.0-86-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-86-generic-recovery-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
        recordfail
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  504e9392-5142-456a-852d-7838c4a522bc
        else
          search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo    'Loading Linux 5.4.0-86-generic ...'
        linux   /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro recovery nomodeset dis_ucode_ldr 
    }
    menuentry 'Ubuntu, with 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' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  504e9392-5142-456a-852d-7838c4a522bc
        else
          search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo    'Loading 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    'Loading initial ramdisk ...'
        initrd  /initrd.img-5.4.0-84-generic
    }
    menuentry 'Ubuntu, with Linux 5.4.0-84-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-recovery-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
        recordfail
        load_video
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  504e9392-5142-456a-852d-7838c4a522bc
        else
          search --no-floppy --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
        fi
        echo    'Loading 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    'Loading initial ramdisk ...'
        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 ###
menuentry 'UEFI Firmware Settings' $menuentry_id_option 'uefi-firmware' {
    fwsetup
}
### END /etc/grub.d/30_uefi-firmware ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

답변1

해결했습니다! 비슷한 문제가 발생하는 사람을 위해 방법을 설명하겠습니다. 두 개의 게시물이 문제 해결에 도움이 되었습니다.

이전 커널을 사용하여 시스템을 부팅했습니다(이전 커널이 없었다면 USB 스틱에서 부팅을 시도했을 것입니다).

먼저 Journalctl을 사용하여 실패한 부팅으로 인한 오류를 보는 방법을 알아냈습니다.

journalctl -b -2 -e

Journalctl의 출력을 원래 게시물에 추가했습니다. 올바른 부팅을 보려면 번호를 변경해야 할 수도 있습니다. 다음을 사용하여 올바른 번호를 찾을 수 있습니다.

journalctl --list-boots 

나에게 도움이 된 포스팅은여기

둘째, 로그에서 주요 문제를 다음과 같이 식별했습니다.

kernel panic - not syncing vfs unable to mount root fs on unknown-block(0 0)

이 문제는 다음을 통해 해결되었습니다.

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

여기서 5.4.0-86-generic은 손상되어 부팅이 중지된 커널의 이름입니다.

나에게 도움이 된 포스팅은이것

관련 정보