总是爱折腾多系统,出了问题是难免的。
U盘启动到live模式,打开终端。
fdisk -l
查看输出结果,然后根据文件类型和分区大小来判定 Linux 系统安装在哪块硬盘和安装的分区。
挂载安装分区 /dev/sda3,sda3为Kali Linux所在分区
mount /dev/sda3 /mnt
挂载其他所需的目录(使用 –bind)
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
Chroot 到硬盘上的 Linux 系统
chroot /mnt
安装&更新 Grub
grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
退出 chroot 环境
exit
卸载分区
umount /mnt/dev
umount /mnt/proc
umount /mnt/sys
umount /mnt
reboot重启,引导修复完成
你应该是丢失了windows的引导吧,先在root/boot/grub/目录下找到grub.cfg文件并用Leafpad(对于新手这是个很友好的软件,因为它可以重写grub.cfg文件,vim好像无法重写grub.cfg而且命令繁多新手不易上手)打开找到### BEGIN /etc/grub.d/20_memtest86+ ###这里.在根据我下面的注释来修改引导项
menuentry "windows8" {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos1)' //这个地方改为你windows所在的分区注意windows7以上版本要改为那个200MB的分区
search --no-floppy --fs-uuid --set=root 3802386C0238316C //这个地方有些人没有set=root所以要自己修改,后面跟着的是UUID
chainloader +1}
查看分区UUID可以在终端命令输入 sudo blkid
root@neo:~# sudo blkid
/dev/sda1: UUID="3802386C0238316C" TYPE="ntfs"
/dev/sda2: UUID="02C2CDABC2CDA2F1" TYPE="ntfs"
/dev/sda5: UUID="748EA05D8EA01A1E" TYPE="ntfs"
/dev/sda6: UUID="F21EAF051EAEC249" TYPE="ntfs"
/dev/sda7: UUID="8454092554091B94" TYPE="ntfs"
/dev/sda9: UUID="ae39760a-4f3d-492a-95fa-586060fcf3e5" TYPE="swap"
/dev/sda8: UUID="e0aeb499-e7b7-4efe-9b6c-8e8883790e96" TYPE="ext4"
root@neo:~#
然后在你的set=root代码后写上你set root='(hd0,msdos1)' 里面所写分区的UUID并保存在重启.
grub启动界面选windows项,现在有木有看见那熟悉的田字图标?
在Win10下添加双引导就是了,用BOOTICE添加GRUB for dos 引导,然后在C根目录放入grldr, grldr.mbr menu.lst,用记事本编辑menu.lst,添加以下语句:---------------------分---割---线--------------------------------------------
title Landing Grub2
find --set-root /boot/grub/core.img|| root (hd0,6)
kernel /boot/grub/core.img
boot
----------------------分---割---线--------------------------------------------
安装系统的时候,把GRUB2引导系统安装到系统分区里,不要写入MBR,这样,电脑还是用window引导,进入Linux则用GRUB for DOS 引导进入GRUB2,通过GRUB2引导Linux。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)