我正在尝试使用修复我的 GRUB那些指示:
mount /dev/sda3 /mnt
mount --bind /dev /mnt/dev
mount --bind /dev/pts /mnt/dev/pts
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt
grub-install /dev/sda
update-grub
exit
umount /mnt/dev/pts
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt
但是当我需要执行该update-grub
命令时,它会说command not found
,所以我尝试这样做apt-get update
以安装 grub ( apt-get install grub
) 但我只得到以下输出:
正在阅读包裹清单...完成
而且似乎没有什么更新。
所以我启动了另一个终端,并在使用chroot
命令之前进行了更新,并且它有效(数据包已下载)。
然后,我安装了 GRUB,然后尝试在命令update-grub
之后执行该命令chroot
,但我再次得到:
找不到命令
我发现有问题chroot命令和新软件包的安装,但我还没有找到任何解决方案......有什么想法吗?
谢谢
Roy ps:这里是kali分区的/etc/fsab文件内容:
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda5 during installation
UUID=a1160db5-2803-410c-bafb-5a1202e1af6d / ext4 errors=remount-ro 0 1
# swap was on /dev/sda6 during installation
UUID=7254d527-753d-47d7-9572-8064532f0cba none swap sw 0 0
/dev/sr0 /media/cdrom0 udf,iso9660 user,noauto 0 0
和 ls /usr:
bin games include lib lib32 lib64 local sbin share src var
答案1
update-grub 是一个 shell 脚本。我们可以尝试临时创建它
在 chroot /usr/sbin/update-grub 中创建以下内容。#!/bin/sh set -e exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
使其可以 root 身份或使用 sudo 执行 chmod +x /usr/sbin/update-grub
答案2
再次 Chroot。这样sudo mount /dev/sda5 /mnt/
下一步将挂载虚拟文件系统for dir in /dev /dev/pts /proc /sys /run; do sudo mount --bind $dir /mnt/$dir; done
用于互联网访问cp -a /etc/resolv.conf /mnt/etc/resolv.conf
然后 chroot
sudo chroot /mnt /bin/bash
在 chroot 中sudo grub-install --recheck /dev/sda && sudo update-grub
。