Điểm:0

dpkg: error processing package linux-image-4.15.0-175-generic (/boot/grub/menu.lst not found)

lá cờ eg

I have this issue on Ubuntu 18.04 Server, probably because /boot/grub/menu.lst doesn't exist:

root@myserver:~# apt install -f
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  liblua5.1-0 libyajl2
Use 'apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Setting up linux-image-4.15.0-175-generic (4.15.0-175.184) ...
Processing triggers for linux-image-4.15.0-175-generic (4.15.0-175.184) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-4.15.0-175-generic
W: initramfs-tools configuration sets RESUME=/dev/mapper/vg-lv_swap
W: but no matching swap device is available.
I: The initramfs will attempt to resume from /dev/vda2
I: (UUID=4c30643f-055d-4ad7-babc-b2a6b8ac3138)
I: Set the RESUME variable to override this.
/etc/kernel/postinst.d/x-grub-legacy-ec2:
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... 

Could not find /boot/grub/menu.lst file. Would you like /boot/grub/menu.lst gene
rated for you? (y/N) /usr/sbin/update-grub-legacy-ec2: line 1101: read: read err
or: 0: Bad file descriptor
run-parts: /etc/kernel/postinst.d/x-grub-legacy-ec2 exited with return code 1
dpkg: error processing package linux-image-4.15.0-175-generic (--configure):
 installed linux-image-4.15.0-175-generic package post-installation script subpr
ocess returned error exit status 1
Errors were encountered while processing:
 linux-image-4.15.0-175-generic
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@myserver:~# locate menu.lst
/boot/grub.bak/menu.lst_backup_by_grub2_prerm
/boot/grub.bak/menu.lst~
/var/lib/ucf/cache/:run:grub:menu.lst
root@myserver:~# cat /var/lib/ucf/cache/:run:grub:menu.lst
## ## End Default Options ##

title       Ubuntu 18.04.6 LTS, kernel 4.15.0-173-generic
root        (hd0)
kernel      /vmlinuz-4.15.0-173-generic root=/dev/mapper/vg-lv_root ro console=hvc0 
initrd      /initrd.img-4.15.0-173-generic

title       Ubuntu 18.04.6 LTS, kernel 4.15.0-173-generic (recovery mode)
root        (hd0)
kernel      /vmlinuz-4.15.0-173-generic root=/dev/mapper/vg-lv_root ro  single
initrd      /initrd.img-4.15.0-173-generic

### END DEBIAN AUTOMAGIC KERNELS LIST
root@myserver:~# 

and:

root@myserver:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            461M     0  461M   0% /dev
tmpfs            99M  776K   98M   1% /run
/dev/vda1        23G  5.3G   17G  25% /
tmpfs           493M     0  493M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           493M     0  493M   0% /sys/fs/cgroup
/dev/vdb1       147G   52G   88G  38% /var/www/html/video
tmpfs            99M     0   99M   0% /run/user/0
root@myserver:~# uname -a
Linux myserver.com 4.15.0-173-generic #182-Ubuntu SMP Fri Mar 18 15:53:46 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

Any idea? Thank you

Nikita Kipriyanov avatar
lá cờ za
`/boot` có nằm trên hệ thống tệp khác không và nó có được gắn kết không? Ngoài ra, đây có phải là máy vật lý/máy ảo hay có thể là vùng chứa không?
Francesco Galgani avatar
lá cờ eg
Để biết thêm thông tin, tôi đã di chuyển máy chủ này từ máy này sang máy khác và sử dụng `grub-repair` để khôi phục Grub. Nó khởi động bình thường, nhưng thiếu `menu.lst`.
Francesco Galgani avatar
lá cờ eg
@NikitaKipriyanov Không, `/boot` nằm trong cùng một hệ thống tệp. Đó là một máy ảo trong VPS.
Francesco Galgani avatar
lá cờ eg
Tôi vừa cập nhật câu hỏi thêm đầu ra của `df -f` và `uname -a`
Nikita Kipriyanov avatar
lá cờ za
Hiện tại nó có khởi động qua grub (cũ) hay grub2 không?
Francesco Galgani avatar
lá cờ eg
Đầu ra của `grub-install -V` là `grub-install (GRUB) 2.02-2ubuntu8.23`
Nikita Kipriyanov avatar
lá cờ za
Vì vậy, bạn thực sự sử dụng grub2 nhưng hệ thống cố gắng cập nhật grub kế thừa. Đây là nguyên nhân. Kiểm tra xem gói nào sở hữu `/etc/kernel/postinst.d/x-grub-legacy-ec2` và xóa gói đó. Ngoài ra, hãy thử cài đặt lại grub2. Ý tôi là, tất nhiên, trước tiên hãy sao lưu và chuẩn bị chiến lược khôi phục.
Francesco Galgani avatar
lá cờ eg
@NikitaKipriyanov Cảm ơn những gợi ý của bạn, tuy nhiên tôi đã giải quyết theo một cách khác, như tôi đã báo cáo trong câu trả lời của mình.
Điểm:0
lá cờ eg

Tôi đã giải quyết theo cách sau.

Đầu tiên, tôi nhận được UUID của phân vùng:

# blkid
/dev/vda1: UUID="1c698c6b-ace0-4021-8cf9-4c0ee7d5364e" TYPE="ext4" PARTUUID="55d1a726-01"
/dev/vda2: LABEL="hoán đổi" UUID="4c30643f-055d-4ad7-babc-b2a6b8ac3138" TYPE="hoán đổi" PARTUUID="55d1a726-02"
/dev/vdb1: LABEL="video" UUID="60b104ef-36ea-440f-806d-e9f71cff8732" TYPE="ext4" PARTUUID="c075fe69-01"
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop4: TYPE="squashfs"

và đã kiểm tra /khởi động danh mục:

# ls/khởi động
config-4.15.0-173-generic initrd.img-4.15.0-173-generic vmlinuz-4.15.0-173-generic
config-4.15.0-175-generic initrd.img-4.15.0-175-generic vmlinuz-4.15.0-175-generic
grub System.map-4.15.0-173-generic
grub.bak System.map-4.15.0-175-generic

Tôi đã sử dụng thông tin đó để tạo lại thủ công menu.lst (sao chép mã nhận xét mặc định từ máy khác):

# menu.lst - Xem: grub(8), info grub, update-grub(8)
# grub-install(8), grub-soft(8),
# grub-md5-crypt, /usr/share/doc/grub
# và /usr/share/doc/grub-legacy-doc/.

## số mặc định
# Đặt mục nhập mặc định thành số mục nhập NUM. Việc đánh số bắt đầu từ 0 và
# mục nhập số 0 là mặc định nếu lệnh không được sử dụng.
#
# Bạn có thể chỉ định 'đã lưu' thay vì một số. Trong trường hợp này, mục nhập mặc định
# là mục được lưu bằng lệnh 'savedefault'.
# CẢNH BÁO: Nếu bạn đang sử dụng dmraid, đừng sử dụng 'savedefault' hoặc
# mảng sẽ không đồng bộ hóa và sẽ không cho phép bạn khởi động hệ thống của mình.
mặc định 0

## thời gian chờ giây
# Đặt thời gian chờ, tính bằng giây SEC, trước khi tự động khởi động mục nhập mặc định
# (thường là mục nhập đầu tiên được xác định).
# trên ec2, không có quyền truy cập bảng điều khiển, không có lý do gì để hết thời gian chờ. đặt thành 0.
hết thời gian 0

## menu ẩn
# Ẩn menu theo mặc định (nhấn ESC để xem menu)
menu ẩn

# Màu sắc xinh xắn
#màu lục lam/xanh trắng/xanh dương

## mật khẩu ['--md5'] mật khẩu
# Nếu được sử dụng trong phần đầu tiên của tệp menu, hãy tắt tất cả chỉnh sửa tương tác
# điều khiển (trình chỉnh sửa mục nhập menu và dòng lệnh) và các mục nhập được bảo vệ bởi
# lệnh 'khóa'
# ví dụ. mật khẩu tối mật
# mật khẩu --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# mật khẩu tuyệt mật

#
# ví dụ
#
# tiêu đề Windows 95/98/NT/2000
# gốc (hd0,0)
# làm cho hoạt động
# bộ nạp xích +1
#
# tiêu đề Linux
# gốc (hd0,1)
# kernel /vmlinuz root=/dev/hda2 ro
#

#
# Đặt các đoạn khởi động tĩnh trước và/hoặc sau AUTOMAGIC KERNEL LIST

### BẮT ĐẦU DANH SÁCH HẠT NHÂN TỰ ĐỘNG
## dòng giữa các điểm đánh dấu AUTOMAGIC KERNELS LIST sẽ được sửa đổi
## bởi tập lệnh debian update-grub ngoại trừ các tùy chọn mặc định bên dưới

## KHÔNG BỎ LỠ HỌ, Chỉ cần chỉnh sửa chúng theo nhu cầu của bạn

## ## Bắt đầu Tùy chọn Mặc định ##
## tùy chọn hạt nhân mặc định
## tùy chọn hạt nhân mặc định cho tùy chọn khởi động tự động
## Nếu bạn muốn các tùy chọn đặc biệt cho các kernel cụ thể, hãy sử dụng kopt_x_y_z
## trong đó x.y.z là phiên bản nhân. Các phiên bản nhỏ có thể được bỏ qua.
## ví dụ. kopt=root=/dev/hda1 ro
## kopt_2_6_8=root=/dev/hdc1 ro
## kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=/dev/mapper/vg-lv_root ro

## thiết bị gốc grub mặc định
## ví dụ. groot=(hd0)
# groot=(hd0)

## nên update-grub tạo các tùy chọn khởi động tự động thay thế
## ví dụ. thay thế = đúng
## thay thế=sai
# thay thế=đúng

## nên cập nhật-grub khóa các tùy chọn khởi động tự động thay thế
## ví dụ. lockalternative=true
## lockalternative=false
# lockalternative=false

## tùy chọn bổ sung để sử dụng với tùy chọn khởi động mặc định, nhưng không phải với
## lựa chọn thay thế
## ví dụ. deoptions=vga=791 tiếp tục=/dev/hda5
# deoptions=console=hvc0

## nên cập nhật-grub khóa các tùy chọn khởi động tự động cũ
## ví dụ. lockold=false
## lockold=true
# lockold=false

## Tùy chọn trình ảo hóa Xen để sử dụng với tùy chọn khởi động Xen mặc định
# xenhopt=

## Các tùy chọn nhân Xen Linux để sử dụng với tùy chọn khởi động Xen mặc định
# xenkopt=console=tty0

## tùy chọn mục tiêu khởi động altoption
## nhiều dòng thay thế được cho phép
## ví dụ. altoptions=(hậu tố menu bổ sung) tùy chọn khởi động bổ sung
## altoptions=(phục hồi) đơn
# altoptions=(chế độ khôi phục) đơn

## kiểm soát số lượng hạt nhân sẽ được đưa vào menu.lst
## chỉ tính lần xuất hiện đầu tiên của kernel, không phải
## tùy chọn hạt nhân thay thế
## ví dụ. bao nhiêu = tất cả
## bao nhiêu = 7
# bao nhiêu=tất cả

## chỉ định nếu chạy trong Xen domU hoặc tự động phát hiện grub
## update-grub sẽ bỏ qua các kernel non-xen khi chạy trong domU và ngược lại
## ví dụ. indomU=phát hiện
## indomU=true
## indomU=false
# indomU=true

## nên cập nhật-grub tạo tùy chọn khởi động memtest86
## ví dụ. memtest86=true
## memtest86=false
# memtest86=true

## nên cập nhật-grub điều chỉnh giá trị của hệ thống khởi động mặc định
## có thể đúng hoặc sai
# updatedefaultentry=false

## nên update-grub thêm savedefault vào các tùy chọn mặc định
## có thể đúng hoặc sai
# savedefault=false

## ## Kết thúc Tùy chọn Mặc định ##

tiêu đề Ubuntu 18.04.6 LTS, kernel 4.15.0-173-generic
gốc (hd0)
kernel /boot/vmlinuz-4.15.0-173-generic root=UUID=1c698c6b-ace0-4021-8cf9-4c0ee7d5364e ro console=hvc0 
initrd /boot/initrd.img-4.15.0-173-generic

title Ubuntu 18.04.6 LTS, kernel 4.15.0-173-generic (chế độ khôi phục)
gốc (hd0)
kernel /boot/vmlinuz-4.15.0-173-generic root=UUID=1c698c6b-ace0-4021-8cf9-4c0ee7d5364e ro đơn
initrd /boot/initrd.img-4.15.0-173-generic


### KẾT THÚC DANH SÁCH CÁC HẠT NHÂN TỰ ĐỘNG DEBIAN

Sau đó, tôi khởi động lại và cuối cùng:

# apt cài đặt -f
Đọc danh sách gói... Xong
Xây dựng cây phụ thuộc       
Đang đọc thông tin trạng thái... Xong
Các gói sau đã được cài đặt tự động và không còn cần thiết nữa:
  liblua5.1-0 libyajl2
Sử dụng 'apt autoremove' để xóa chúng.
0 đã nâng cấp, 0 mới cài đặt, 0 cần xóa và 0 chưa nâng cấp.
1 chưa được cài đặt hoặc gỡ bỏ hoàn toàn.
Sau thao tác này, 0 B dung lượng đĩa bổ sung sẽ được sử dụng.
Thiết lập linux-image-4.15.0-175-generic (4.15.0-175.184) ...
Xử lý kích hoạt cho linux-image-4.15.0-175-generic (4.15.0-175.184) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Đang tạo /boot/initrd.img-4.15.0-175-generic
W: bộ cấu hình initramfs-tools RESUME=/dev/mapper/vg-lv_swap
W: nhưng không có thiết bị trao đổi phù hợp.
Tôi: Các initramfs sẽ cố gắng tiếp tục từ/dev/vda2
Tôi: (UUID=4c30643f-055d-4ad7-babc-b2a6b8ac3138)
Tôi: Đặt biến TIẾP TỤC để ghi đè lên điều này.
/etc/kernel/postinst.d/x-grub-legacy-ec2:
Tìm kiếm thư mục cài đặt GRUB ... đã tìm thấy: /boot/grub
Tìm kiếm tệp mặc định ... đã tìm thấy: /boot/grub/default
Đang kiểm tra tệp GRUB menu.lst hiện có ...tìm thấy: /boot/grub/menu.lst
Tìm kiếm hình ảnh giật gân ... không tìm thấy, bỏ qua ...
Hạt nhân đã tìm thấy: /boot/vmlinuz-4.15.0-173-generic
Thay thế tệp cấu hình /run/grub/menu.lst bằng phiên bản mới
Hạt nhân đã tìm thấy: /boot/vmlinuz-4.15.0-175-generic
Hạt nhân đã tìm thấy: /boot/vmlinuz-4.15.0-173-generic
Thay thế tệp cấu hình /run/grub/menu.lst bằng phiên bản mới
Đang cập nhật /boot/grub/menu.lst... xong

/etc/kernel/postinst.d/zz-update-grub:
Tệp nguồn `/etc/default/grub'
Đang tạo tệp cấu hình grub ...
Đã tìm thấy hình ảnh linux: /boot/vmlinuz-4.15.0-175-generic
Đã tìm thấy hình ảnh initrd: /boot/initrd.img-4.15.0-175-generic
Đã tìm thấy hình ảnh linux: /boot/vmlinuz-4.15.0-173-generic
Đã tìm thấy hình ảnh initrd: /boot/initrd.img-4.15.0-173-generic
xong
W: APT đã lên kế hoạch để dpkg làm được nhiều hơn những gì nó đã báo cáo lại (0 so với 4).
   Các gói bị ảnh hưởng: linux-image-4.15.0-175-generic:AMD64

Trong quá trình cài đặt, tôi đã chọn: menu mới.lst

Cuối cùng, tôi đã khởi động lại và kernel mới đã được tải chính xác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.