kali linux 分区上的 grub 损坏

kali linux 分区上的 grub 损坏

嘿,我曾经让 kali 和 windows 以这种方式一起工作:Windows 优先启动,我可以F11在 sdb5 上按下并选择,并且 Kali 正在运行。

我破坏了我的 Kali 安装,不得不在同一个地方重新安装它。在安装过程中,我选择不安装 grub,因为我想要相同的行为。

当我启动时,我将 Windows 作为默认设置(根据需要),但是当我按下F11并选择在 sdb5 上启动时,我遇到错误并最终进入 grub-rescue。

我尝试执行以下操作(在 grub 救援模式下)来修复它,但它不起作用(相同的错误):

set root=(hd1,sda5)
set prefix=(hd1,sda5)/boot/grub
insmod normal
normal

所以我尝试在 Kali live CD 上启动并执行以下操作:

$ sudo grub-install --recheck --root-directory=/media/root/fc3098f2-bc4e-490a-9503-4cb069ff3227 /dev/sdb5

它不起作用,我也遇到了错误:

文件 /media/root/fc3098f2-bc4e-490a-9503-4cb069ff3227/boot/grub/stage1 无法正确读取。

该问题可能来自于我在安装时没有安装 grub,并且我仍然有旧的 grub(?)

我不知道该怎么做才能像以前一样启动 Kali,你能帮助我吗?

更多信息:

这是我的sdb磁盘的状态,sdb5是我的kali分区,windows在sda上:图像

$ fsdik -l 给我:

Disk /dev/sdc: 1.8 TiB, 2000398934016 bytes, 3907029168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 7804DE5E-CFA4-40E9-BE9D-6A2FDA4FE8C6

Device      Start        End    Sectors  Size Type
/dev/sdc1      34     262177     262144  128M Microsoft reserved
/dev/sdc2  264192 3907028991 3906764800  1.8T Microsoft basic data

Partition 1 does not start on physical sector boundary.


Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 5BD63C37-E942-4B29-A8AE-B37A718A214D

Device          Start        End   Sectors   Size Type
/dev/sdb1        2048     264191    262144   128M Microsoft reserved
/dev/sdb2      264192  929523711 929259520 443.1G Microsoft basic data
/dev/sdb3   929523712 1748723711 819200000 390.6G Microsoft basic data
/dev/sdb4  1748723712 1748725759      2048     1M BIOS boot
/dev/sdb5  1748725760 1936895999 188170240  89.7G Linux filesystem
/dev/sdb6  1936896000 1953523711  16627712     8G Linux swap


Disk /dev/sda: 111.8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: 1063C98C-6F88-4F38-B945-B0C59D49DCF0

Device         Start       End   Sectors   Size Type
/dev/sda1       2048    616447    614400   300M Windows recovery environment
/dev/sda2     616448    819199    202752    99M EFI System
/dev/sda3     819200   1081343    262144   128M Microsoft reserved
/dev/sda4    1081344 233519103 232437760 110.9G Microsoft basic data
/dev/sda5  233519104 234440703    921600   450M Windows recovery environment


Disk /dev/sdd: 7.2 GiB, 7747397632 bytes, 15131636 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x008e5725

Device     Boot   Start      End Sectors  Size Id Type
/dev/sdd1  *       2048  7342079 7340032  3.5G  c W95 FAT32 (LBA)
/dev/sdd2       7342080 15116287 7774208  3.7G 83 Linux


Disk /dev/loop0: 2.5 GiB, 2634285056 bytes, 5145088 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

(我正在努力解决 grub 问题,请告诉我您是否需要有关我的系统状态的更多信息)

答案1

我最终按照这个答案修复了我的 Grub,以防有人遇到同样的问题:

从 kali linux live CD 启动后。我打开gparted发现sdb5就是安装kali的分区。然后我输入以下命令:

$ mount /dev/sdb5 /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/sdb
$ update-grub
$ exit
$ umount /mnt/dev/pts
$ umount /mnt/dev
$ umount /mnt/proc
$ umount /mnt/sys
$ umount /mnt

这已经恢复了分区上旧的 kali linux 引导加载程序,因此我可以在引导时按 f11 再次引导它(如果您想要真正的 grub,请点击链接了解更多详细信息)

https://forums.kali.org/showthread.php?20559-如何修复-Kali-Linux-Grub-With-Kali-Linux-Live-Cd-Dual-Boot-With-Windows-7

相关内容