ฉันใช้ Lubuntu 20.04 ซึ่งบูทจาก SSD
วันนี้ฉันอนุญาตให้ระบบทำการอัปเกรด และต่อมาได้รับข้อความแสดงข้อผิดพลาดแจ้งว่าการอัปเดต-initramfs ล้มเหลว ฉัน googled ข้อความแสดงข้อผิดพลาดและพบสิ่งนี้ ลิงค์ ซึ่งแนะนำว่าปัญหาสามารถแก้ไขได้โดยเพิ่มพื้นที่ว่างบน /boot และติดตั้งแพ็คเกจใหม่ ฉันคิดว่าฉันทำผิดพลาดในการพยายามแก้ไขทั้งสองอย่างในขั้นตอนเดียว
ฉันทำ:
sudo apt ลบเครื่องมือ initramfs
sudo apt-get ลบอัตโนมัติ
sudo apt-get ทำความสะอาด
sudo apt ติดตั้ง initramfs-tools
sudo apt-get อัปเดต
ทุกอย่างดูเหมือนจะได้รับการแก้ไขจนกว่าฉันจะรีบูทเครื่อง เครื่องไม่สามารถรีบูตโดยอัตโนมัติ แต่ฉันเข้าสู่เมนูการบูตและเลือกเคอร์เนลที่เก่ากว่า นั่นได้ผล การตรวจสอบคำสั่งบูตที่เสียหายและใช้งานได้ ฉันเชื่อว่าฉันไม่ได้บูตจาก SSD อีกต่อไป (ฉันอาจผิดก็ได้)
ตัวเลือกการบูตเสีย (ซึ่งเคยทำงาน) คือ:
เมนูรายการ 'Ubuntu พร้อม 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' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
ไฟ
echo 'กำลังโหลด Linux 5.4.0-86-generic ...'
linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro สาดเงียบ $vt_handoff
}
... และตัวเลือกการทำงานคือ:
เมนูรายการ 'Ubuntu พร้อม 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' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
ไฟ
echo 'กำลังโหลด Linux 5.4.0-84-generic ...'
linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 ro สาดเงียบ $vt_handoff
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /initrd.img-5.4.0-84-generic
}
มีวิธีใดบ้างที่ฉันสามารถซ่อมแซมความเสียหายและทำให้ Lubuntu กลับไปบูทจาก SSD ได้ ตอนนี้ฉันคิดว่าการดำเนินการลบอัตโนมัติอาจทำลายข้อมูลสำคัญบางอย่างใน SSD
ตัวเลือกการบู๊ตที่ใช้งานไม่ได้จะสร้างผลลัพธ์นี้ก่อนที่จะหยุดทำงาน:

ถ้าฉันใช้ตัวเลือกการบูตที่ใช้งานได้ ตอนนี้ฉันได้รับการตอบกลับต่อไปนี้จาก df (/boot ดูเหมือนจะอยู่บน SSD ดังนั้นดูเหมือนว่าฉันคิดว่าตัวเลือกนี้กำลังบูทผ่านฮาร์ดไดรฟ์น่าจะผิด)
df -h
ขนาดระบบไฟล์ที่ใช้ Avail Use% Mounted on
อูเดฟ 16G 0 16G 0% /เดฟ
tmpfs 3.2G 2.1M 3.2G 1% /รัน
/dev/nvme0n1p3 468G 121G 324G 28% /
tmpfs 16G 92M 16G 1% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /รัน/ล็อค
tmpfs 16G 0 16G 0% /sys/fs/cgroup
tmpfs 16G 11M 16G 1% /tmp
/dev/loop1 128K 128K 0 100% /snap/เปล่า/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% /บูต
/dev/nvme0n1p1 532M 5.3M 527M 1% /บูต/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% /รัน/ผู้ใช้/1000
/dev/sdb1 1.9T 1008G 856G 55% /media/paul/Seagate Backup Plus ไดรฟ์
grub.cfg ที่สมบูรณ์ของฉันคือ:
#
# ห้ามแก้ไขไฟล์นี้
#
# มันถูกสร้างขึ้นโดยอัตโนมัติโดย grub-mkconfig โดยใช้เทมเพลต
# จาก /etc/grub.d และการตั้งค่าจาก /etc/default/grub
#
### เริ่มต้น /etc/grub.d/00_header ###
ถ้า [ -s $prefix/grubenv ]; แล้ว
ตั้งค่า have_grubenv=true
load_env
ไฟ
ถ้า [ "${initrdfail}" = 2 ]; แล้ว
ตั้งค่า initrdfail=
elif [ "${initrdfail}" = 1 ]; แล้ว
ตั้ง next_entry="${prev_entry}"
ตั้งค่า prev_entry=
save_env prev_entry
ถ้า [ "${next_entry}" ]; แล้ว
ตั้งค่า initrdfail=2
ไฟ
ไฟ
ถ้า [ "${next_entry}" ] ; แล้ว
ตั้งค่าเริ่มต้น = "${next_entry}"
ตั้งค่า next_entry=
save_env next_entry
ตั้งค่า boot_once=true
อื่น
ตั้งค่าเริ่มต้น = "0"
ไฟ
ถ้า [ x"${feature_menuentry_id}" = xy ]; แล้ว
menuentry_id_option="--id"
อื่น
เมนูentry_id_option=""
ไฟ
ส่งออกเมนูentry_id_option
ถ้า [ "${prev_saved_entry}" ]; แล้ว
ตั้ง save_entry="${prev_saved_entry}"
save_env ที่บันทึกแล้ว
ตั้งค่า prev_saved_entry=
save_env prev_saved_entry
ตั้งค่า boot_once=true
ไฟ
ฟังก์ชัน savedefault {
ถ้า [ -z "${boot_once}" ]; แล้ว
save_entry="${chosen}"
save_env ที่บันทึกแล้ว
ไฟ
}
ฟังก์ชัน initrdfail {
ถ้า [ -n "${have_grubenv}" ]; แล้วถ้า [ -n "${partuuid}" ]; แล้ว
ถ้า [ -z "${initrdfail}" ]; แล้ว
ตั้งค่า initrdfail=1
ถ้า [ -n "${boot_once}" ]; แล้ว
ตั้ง prev_entry="${default}"
save_env prev_entry
ไฟ
ไฟ
save_env เริ่มต้นล้มเหลว
ไฟ; ไฟ
}
บันทึกฟังก์ชันล้มเหลว {
ตั้งบันทึกล้มเหลว = 1
ถ้า [ -n "${have_grubenv}" ]; แล้วถ้า [ -z "${boot_once}" ]; จากนั้น save_env บันทึกล้มเหลว; ไฟ; ไฟ
}
ฟังก์ชัน load_video {
ถ้า [ x$feature_all_video_module = xy ]; แล้ว
insmod all_video
อื่น
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
ไฟ
}
ถ้า [ x$feature_default_font_path = xy ] ; แล้ว
ฟอนต์=ยูนิโค้ด
อื่น
insmod part_gpt
insmod ต่อ 2
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root f81f27eb-c1f2-467c-a62b-fdd60b4f0592
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root f81f27eb-c1f2-467c-a62b-fdd60b4f0592
ไฟ
font="/usr/share/grub/unicode.pf2"
ไฟ
ถ้า loadfont $font ; แล้ว
ตั้ง gfxmode=อัตโนมัติ
load_วิดีโอ
insmod gfxterm
ตั้ง locale_dir=$คำนำหน้า/ภาษา
ตั้งค่า lang=en_GB
insmod รับข้อความ
ไฟ
terminal_output gfxterm
ถ้า [ "${recordfail}" = 1 ] ; แล้ว
ตั้งหมดเวลา = 30
อื่น
ถ้า [ x$feature_timeout_style = xy ] ; แล้ว
ตั้งค่า timeout_style=hidden
ตั้งหมดเวลา = 0
# รหัสทางเลือกที่ซ่อนอยู่หมดเวลาในกรณีที่คุณสมบัติ timeout_style คือ
#ไม่พร้อมใช้งาน
elif sleep --interruptible 0 ; แล้ว
ตั้งหมดเวลา = 0
ไฟ
ไฟ
### สิ้นสุด /etc/grub.d/00_header ###
### เริ่มต้น /etc/grub.d/05_debian_theme ###
ตั้งค่า menu_color_normal=ขาว/ดำ
ตั้งค่า menu_color_highlight=สีดำ/สีเทาอ่อน
### สิ้นสุด /etc/grub.d/05_debian_theme ###
### เริ่มต้น /etc/grub.d/10_linux ###
ฟังก์ชัน gfxmode {
ตั้ง gfxpayload="${1}"
ถ้า [ "${1}" = "เก็บ" ]; แล้ว
ตั้งค่า vt_handoff=vt.handoff=7
อื่น
ตั้งค่า vt_handoff=
ไฟ
}
ถ้า [ "${recordfail}" != 1 ]; แล้ว
ถ้า [ -e ${prefix}/gfxblacklist.txt ]; แล้ว
ถ้า hwmatch ${prefix}/gfxblacklist.txt 3; แล้ว
ถ้า [ ${match} = 0 ]; แล้ว
ตั้ง linux_gfx_mode=เก็บ
อื่น
ตั้งค่า linux_gfx_mode=text
ไฟ
อื่น
ตั้งค่า linux_gfx_mode=text
ไฟ
อื่น
ตั้ง linux_gfx_mode=เก็บ
ไฟ
อื่น
ตั้งค่า linux_gfx_mode=text
ไฟ
ส่งออก linux_gfx_mode
menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
ไฟ
linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro สาดเงียบ $vt_handoff
}
เมนูย่อย 'ตัวเลือกขั้นสูงสำหรับ Ubuntu' $menuentry_id_option 'gnulinux-advanced-f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
เมนูรายการ 'Ubuntu พร้อม 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' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
ไฟ
echo 'กำลังโหลด Linux 5.4.0-86-generic ...'
linux /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro สาดเงียบ $vt_handoff
}
menuentry 'Ubuntu พร้อม Linux 5.4.0-86-generic (โหมดการกู้คืน)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-86-generic-recovery -f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
บันทึกล้มเหลว
load_วิดีโอ
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
ไฟ
echo 'กำลังโหลด Linux 5.4.0-86-generic ...'
ลินุกซ์ /vmlinuz-5.4.0-86-generic root=/dev/nvme0n1p3 ro การกู้คืน nomodeset dis_ucode_ldr
}
เมนูรายการ 'Ubuntu พร้อม 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' {
บันทึกล้มเหลว
load_วิดีโอ
gfxmode $linux_gfx_mode
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
ไฟ
echo 'กำลังโหลด Linux 5.4.0-84-generic ...'
linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 ro สาดเงียบ $vt_handoff
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /initrd.img-5.4.0-84-generic
}
menuentry 'Ubuntu พร้อม Linux 5.4.0-84-generic (โหมดการกู้คืน)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-5.4.0-84-generic-recovery -f81f27eb-c1f2-467c-a62b-fdd60b4f0592' {
บันทึกล้มเหลว
load_วิดีโอ
insmod gzio
ถ้า [ x$grub_platform = xxen ]; จากนั้น insmod xzio; insmod lzopio; ไฟ
insmod part_gpt
insmod ต่อ 2
ถ้า [ x$feature_platform_search_hint = xy ]; แล้ว
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
อื่น
ค้นหา --no-ฟล็อปปี้ --fs-uuid --set=root 504e9392-5142-456a-852d-7838c4a522bc
ไฟ
echo 'กำลังโหลด Linux 5.4.0-84-generic ...'
linux /vmlinuz-5.4.0-84-generic root=UUID=f81f27eb-c1f2-467c-a62b-fdd60b4f0592 การกู้คืน ro nomodeset dis_ucode_ldr
echo 'กำลังโหลด ramdisk เริ่มต้น ...'
initrd /initrd.img-5.4.0-84-generic
}
}
### สิ้นสุด /etc/grub.d/10_linux ###
### เริ่มต้น /etc/grub.d/10_linux_zfs ###
### สิ้นสุด /etc/grub.d/10_linux_zfs ###
### เริ่มต้น /etc/grub.d/20_linux_xen ###
### สิ้นสุด /etc/grub.d/20_linux_xen ###
### เริ่มต้น /etc/grub.d/20_memtest86+ ###
### สิ้นสุด /etc/grub.d/20_memtest86+ ###
### เริ่มต้น /etc/grub.d/30_os-prober ###
### สิ้นสุด /etc/grub.d/30_os-prober ###
### เริ่มต้น /etc/grub.d/30_uefi-firmware ###
menuentry 'การตั้งค่าเฟิร์มแวร์ UEFI' $menuentry_id_option 'uefi-firmware' {
ตั้งค่า fw
}
### สิ้นสุด /etc/grub.d/30_uefi-firmware ###
### เริ่มต้น /etc/grub.d/40_custom ###
# ไฟล์นี้เป็นวิธีที่ง่ายในการเพิ่มรายการเมนูที่กำหนดเอง เพียงพิมพ์คำว่า
# รายการเมนูที่คุณต้องการเพิ่มหลังจากความคิดเห็นนี้ ระวังอย่าเปลี่ยน
# บรรทัด 'exec tail' ด้านบน
### สิ้นสุด /etc/grub.d/40_custom ###
### เริ่มต้น /etc/grub.d/41_custom ###
ถ้า [ -f ${config_directory}/custom.cfg ]; แล้ว
ที่มา ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; แล้ว
ที่มา $prefix/custom.cfg;
ไฟ
### สิ้นสุด /etc/grub.d/41_custom ###