You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

恢复Windows安装后的GRUB时,chroot环境中无Grub-installl命令的问题求助

恢复Windows安装后的GRUB时,chroot环境中无Grub-installl命令的问题求助

兄弟,我之前也踩过这个坑,别着急,咱们一步步排查解决:

  • 先检查命令拼写!你写的是Grub-installl(多了一个l),正确的命令是grub-install——手滑打错字这种情况太常见了,先试试输入正确的命令看能不能用。

  • 如果拼写没错,那大概率是你的chroot环境里没安装GRUB相关的包。这时候可以在chroot环境里先更新软件源,再安装对应版本的GRUB:

    • 如果你用的是Debian/Ubuntu系发行版(比如Ubuntu、Linux Mint):
      • BIOS/Legacy模式:apt update && apt install grub-pc
      • UEFI模式:apt update && apt install grub-efi-amd64 grub2-common
    • 如果你用的是Fedora/RHEL系:
      • BIOS/Legacy模式:dnf update && dnf install grub2
      • UEFI模式:dnf update && dnf install grub2-efi
    • 如果你用的是Arch Linux:pacman -Sy grub
  • 检查挂载的分区是否完整!你提到挂载了bin、proc、run、dev、dev/pts,但可能漏了/sys?可以先退出chroot(输入exit),然后执行mount --bind /sys /mnt/sys,重新chroot到/mnt再试试——grub-install需要访问sysfs的内容,没挂载的话可能出问题。

  • 实在不行,也可以跳过chroot,直接在Live CD/USB环境里安装GRUB:

    1. 先挂载Linux根分区到/mnt(比如mount /dev/sda2 /mnt
    2. 如果是UEFI模式,挂载EFI分区到/mnt/boot/efi(比如mount /dev/sda1 /mnt/boot/efi
    3. 直接运行安装命令:
      • BIOS模式:grub-install --root-directory=/mnt /dev/sda(注意这里是磁盘/dev/sda,不是分区)
      • UEFI模式:grub-install --efi-directory=/mnt/boot/efi --bootloader-id=GRUB

另外要注意,得确认你的启动模式是UEFI还是Legacy BIOS,以及磁盘分区表是GPT还是MBR,这会直接影响GRUB的安装方式哦!

备注:内容来源于stack exchange,提问作者Matin Mat8

火山引擎 最新活动