嘿,我曾经让 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,请点击链接了解更多详细信息)