我已将 linux mint 安装到 Surface Pro 3 上的外部 SSD 上。在安装过程中,我只接触了外部驱动器,并在最后的“用于引导加载程序安装的设备”选项中选择了它。我完成了安装并启动,它运行得很好。然而,在移除外部 SSD 并从内部启动后,我得到的是 GNU grub Minimal bash,如编辑行屏幕,而不是 Windows 启动。我怎样才能解决这个问题?
编辑:我非常希望我没有删除主驱动器上的任何内容。在我看来不太可能。我运行了 fdisk -l ,看起来一切都在那里。
答案1
在研究了各种不同的来源之后,我设法了解了一些有关引导过程、BCD 存储和 grub 的知识。我找到了解决方案。
我了解到 grub mbr,即第 1 阶段 grub,安装在主内部磁盘 (C:) 上。然而,第 2 阶段写在外部阶段(例如 E:)。当 E 断开连接时,Grub 无法找到其阶段 2,因此出现错误。现在:
1.打字exit
让我确信Windows启动管理器没问题。 2.在cmd上,我输入bcdedit /set {fwbootmgr} displayorder {bootmgr} /addfirst
,这使得Windows启动管理器出现在grub之前。我必须说,在此之前我尝试过bootrec /fixmbr & bootrec /fixboot & bootrec /rebuildcbd
但这没有帮助,因为它没有触及 grub 安装。
现在 Surface 可以直接启动进入 Windows。但这不是完整的解决方案,因为我也想要 Linux。我实际上明白我的 C 驱动器上需要 grub,因为如果不完成一些艰苦的工作,Surface 就无法从外部 SSD 启动。我的错误显然是,我选择将 grub 文件安装在外部磁盘上。解决方案应该是在主磁盘上重新安装它,这样我就可以看到菜单,希望它能让我在 E: 连接时在 linux/windows 之间进行选择,在未连接时选择 Windows。但这属于不同的主题。我现在很懒:)(可以保留它,当我想要 Windows 启动时输入 exit。但有时我没有键盘,将其用作 Windows 平板电脑)。