AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1097549
Accepted
Francesco Galgani
Francesco Galgani
Asked: 2022-04-02 01:33:11 +0800 CST2022-04-02 01:33:11 +0800 CST 2022-04-02 01:33:11 +0800 CST

dpkg: 错误处理包 linux-image-4.15.0-175-generic (/boot/grub/menu.lst not found)

  • 772

我在 Ubuntu 18.04 服务器上有这个问题,可能是因为/boot/grub/menu.lst不存在:

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:~# 

和:

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

任何想法?谢谢

grub2 ubuntu-18.04
  • 1 1 个回答
  • 548 Views

1 个回答

  • Voted
  1. Best Answer
    Francesco Galgani
    2022-04-02T06:54:12+08:002022-04-02T06:54:12+08:00

    我通过以下方式解决了。

    首先,我得到了分区的 UUID:

    # blkid
    /dev/vda1: UUID="1c698c6b-ace0-4021-8cf9-4c0ee7d5364e" TYPE="ext4" PARTUUID="55d1a726-01"
    /dev/vda2: LABEL="swap" UUID="4c30643f-055d-4ad7-babc-b2a6b8ac3138" TYPE="swap" 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"
    

    并检查了/boot目录:

    # ls /boot
    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
    

    我使用该信息手动重新创建menu.lst(从另一台机器复制默认注释代码):

    # menu.lst - See: grub(8), info grub, update-grub(8)
    #            grub-install(8), grub-floppy(8),
    #            grub-md5-crypt, /usr/share/doc/grub
    #            and /usr/share/doc/grub-legacy-doc/.
    
    ## default num
    # Set the default entry to the entry number NUM. Numbering starts from 0, and
    # the entry number 0 is the default if the command is not used.
    #
    # You can specify 'saved' instead of a number. In this case, the default entry
    # is the entry saved with the command 'savedefault'.
    # WARNING: If you are using dmraid do not use 'savedefault' or your
    # array will desync and will not let you boot your system.
    default     0
    
    ## timeout sec
    # Set a timeout, in SEC seconds, before automatically booting the default entry
    # (normally the first entry defined).
    # on ec2, with no console access, there is no reason for a timeout.  set to 0.
    timeout     0
    
    ## hiddenmenu
    # Hides the menu by default (press ESC to see the menu)
    hiddenmenu
    
    # Pretty colours
    #color cyan/blue white/blue
    
    ## password ['--md5'] passwd
    # If used in the first section of a menu file, disable all interactive editing
    # control (menu entry editor and command-line)  and entries protected by the
    # command 'lock'
    # e.g. password topsecret
    #      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
    # password topsecret
    
    #
    # examples
    #
    # title     Windows 95/98/NT/2000
    # root      (hd0,0)
    # makeactive
    # chainloader   +1
    #
    # title     Linux
    # root      (hd0,1)
    # kernel    /vmlinuz root=/dev/hda2 ro
    #
    
    #
    # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
    
    ### BEGIN AUTOMAGIC KERNELS LIST
    ## lines between the AUTOMAGIC KERNELS LIST markers will be modified
    ## by the debian update-grub script except for the default options below
    
    ## DO NOT UNCOMMENT THEM, Just edit them to your needs
    
    ## ## Start Default Options ##
    ## default kernel options
    ## default kernel options for automagic boot options
    ## If you want special options for specific kernels use kopt_x_y_z
    ## where x.y.z is kernel version. Minor versions can be omitted.
    ## e.g. 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
    
    ## default grub root device
    ## e.g. groot=(hd0)
    # groot=(hd0)
    
    ## should update-grub create alternative automagic boot options
    ## e.g. alternative=true
    ##      alternative=false
    # alternative=true
    
    ## should update-grub lock alternative automagic boot options
    ## e.g. lockalternative=true
    ##      lockalternative=false
    # lockalternative=false
    
    ## additional options to use with the default boot option, but not with the
    ## alternatives
    ## e.g. defoptions=vga=791 resume=/dev/hda5
    # defoptions=console=hvc0
    
    ## should update-grub lock old automagic boot options
    ## e.g. lockold=false
    ##      lockold=true
    # lockold=false
    
    ## Xen hypervisor options to use with the default Xen boot option
    # xenhopt=
    
    ## Xen Linux kernel options to use with the default Xen boot option
    # xenkopt=console=tty0
    
    ## altoption boot targets option
    ## multiple altoptions lines are allowed
    ## e.g. altoptions=(extra menu suffix) extra boot options
    ##      altoptions=(recovery) single
    # altoptions=(recovery mode) single
    
    ## controls how many kernels should be put into the menu.lst
    ## only counts the first occurence of a kernel, not the
    ## alternative kernel options
    ## e.g. howmany=all
    ##      howmany=7
    # howmany=all
    
    ## specify if running in Xen domU or have grub detect automatically
    ## update-grub will ignore non-xen kernels when running in domU and vice versa
    ## e.g. indomU=detect
    ##      indomU=true
    ##      indomU=false
    # indomU=true
    
    ## should update-grub create memtest86 boot option
    ## e.g. memtest86=true
    ##      memtest86=false
    # memtest86=true
    
    ## should update-grub adjust the value of the default booted system
    ## can be true or false
    # updatedefaultentry=false
    
    ## should update-grub add savedefault to the default options
    ## can be true or false
    # savedefault=false
    
    ## ## End Default Options ##
    
    title       Ubuntu 18.04.6 LTS, kernel 4.15.0-173-generic
    root        (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 (recovery mode)
    root        (hd0)
    kernel      /boot/vmlinuz-4.15.0-173-generic root=UUID=1c698c6b-ace0-4021-8cf9-4c0ee7d5364e ro  single
    initrd      /boot/initrd.img-4.15.0-173-generic
    
    
    ### END DEBIAN AUTOMAGIC KERNELS LIST
    

    然后我重新启动,最后:

    # 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 ... found: /boot/grub/menu.lst
    Searching for splash image ... none found, skipping ...
    Found kernel: /boot/vmlinuz-4.15.0-173-generic
    Replacing config file /run/grub/menu.lst with new version
    Found kernel: /boot/vmlinuz-4.15.0-175-generic
    Found kernel: /boot/vmlinuz-4.15.0-173-generic
    Replacing config file /run/grub/menu.lst with new version
    Updating /boot/grub/menu.lst ... done
    
    /etc/kernel/postinst.d/zz-update-grub:
    Sourcing file `/etc/default/grub'
    Generating grub configuration file ...
    Found linux image: /boot/vmlinuz-4.15.0-175-generic
    Found initrd image: /boot/initrd.img-4.15.0-175-generic
    Found linux image: /boot/vmlinuz-4.15.0-173-generic
    Found initrd image: /boot/initrd.img-4.15.0-173-generic
    done
    W: APT had planned for dpkg to do more than it reported back (0 vs 4).
       Affected packages: linux-image-4.15.0-175-generic:amd64
    

    在安装过程中,我选择了: 新菜单.lst

    最后,我再次重新启动并正确加载了新内核。

    • 0

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve