我对 Linux 世界还很陌生。我目前安装了 Elementary OS Freya(基于 ubuntu 14.04)。我有三个分区。一个用于 / ,一个用于 linux-swap ,一个用于 /home ,全部为 ext4。我创建了一个分区来安装 Windows 10。然后我必须将磁盘转换为 MBR,因为它是 GPT。Grub 被破坏了,但在使用启动修复后,我能够启动我的 Linux。
然后我在其 NTFS 分区上安装了 Windows 10,grub 消失了。我尝试使用启动修复两次,但什么也没做。(Windows 10 正常启动)。我尝试从 live elementary-os CD 使用 grub-install,但出现了一些奇怪的错误,例如:
error: /usr/lib/grub/i386-pc/modinfo.sh doesn't exist. Please specify --target or --directory.
我检查了目录 /usr/lib/grub 并找到了 x86_64-efi。因此我尝试:
sudo mount /dev/sda1 /mnt
grub-install /dev/sda1 --target=x86_64-efi --root-directory=/mnt
仍然有错误。任何帮助都将不胜感激,我不想失去我的 Linux。我花了很多时间来配置它。
这是 boot-repair 中的 pasteBin粘贴箱
编辑:这是 fdisk -l 的输出
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 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
Disk identifier: 0x000345a3
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 78125055 39061504 7 HPFS/NTFS/exFAT
/dev/sda2 78125056 87889919 4882432 1 FAT12
/dev/sda3 87889920 205076479 58593280 1 FAT12
/dev/sda4 205076480 348436479 71680000 7 HPFS/NTFS/exFAT
/ 应该安装在第一个分区 /dev/sda1 上。如果我挂载该分区,则输出如下
sudo mount /dev/sda1 /mnt
sudo ls -l /mnt
drwxrwxrwx 1 root root 8192 Feb 10 2016 Boot
drwxrwxrwx 1 root root 0 Feb 10 04:35 BootInfo
-rwxrwxrwx 1 root root 400228 Oct 30 07:18 bootmgr
-rwxrwxrwx 1 root root 1 Oct 30 07:18 BOOTNXT
drwxrwxrwx 1 root root 0 Feb 10 04:35 boot-sav
-rwxrwxrwx 1 root root 8192 Feb 10 2016 BOOTSECT.BAK
drwxrwxrwx 1 root root 0 Feb 10 04:27 oldbooot
drwxrwxrwx 1 root root 0 Feb 10 2016 Recovery
drwxrwxrwx 1 root root 0 Feb 10 2016 System Volume Information
我是 Linux 新手,但这些文件似乎不对。看来 Windows 毁了我的 Linux。
答案1
如果你看一下 pastebin 内容,会发现 3 个危险信号:
sdb1 是什么? __________________________________________________________________________ 它是 vfat,包含以下启动文件:
/boot/grub/grub.cfg /syslinux.cfg /EFI/BOOT/grubx64.efi /ldlinux.sys=================== UEFI/Legacy 模式:此实时会话未处于 EFI 模式。安全启动可能已启用。
===================建议修复 Boot-Repair 实用程序的默认修复将恢复 sda 中的 [(generic mbr)] MBR,并使其在 sda1 上启动。将执行其他修复:unhide-bootmenu-10s fix-windows-boot
因此,本质上您需要禁用安全启动。确保两个操作系统均在 EFI 模式下安装。同时让启动修复恢复 sda 中的通用 MBR。