我有两个问题:
我拿出我的旧硬盘,把它放在硬盘盒里。
然后我把它连接到一台运行 Windows Vista 的笔记本电脑上。
我还把一个装有 Ubuntu 14.04 的 USB 连接到笔记本电脑上。
下一步是在外置硬盘上安装 Ubuntu。
安装完成后,我必须重新启动才能启动 Ubuntu。我关掉笔记本电脑,把 BIOS 改成在外置硬盘上启动。
我打开它,什么也没发生。
好的,我决定从笔记本电脑启动内置硬盘。然后出现了一个来自 Ubuntu 的紫色窗口,询问我是要启动 Ubuntu 还是 Windows Vista。
我选择了 Ubuntu,它成功了。之后我做了同样的事情,选择了 Windows。它也成功了。但现在,如果不将外置硬盘连接到笔记本电脑,我就无法启动内置硬盘。它显示类似错误 grub 救援的内容。这是第一个问题。
问题二是我想在没有这台笔记本的情况下使用硬盘盒中的硬盘。我想将其连接到其他电脑。
我该怎么办?
答案1
您的 grub 似乎已安装在外部驱动器上,因此您需要修复它。是的,您可以在其他机器上使用外部硬盘。
修复 grub:
当您安装 Windows 时,Windows 会假定它是机器上唯一的操作系统 - 或者至少它不考虑 Linux。因此,它会用自己的引导加载程序替换 grub。您需要做的是用 grub 替换 Windows 引导加载程序。我见过各种使用 grub 命令或类似命令替换 grub 的说明,但对我来说,最简单的方法是直接chroot
进入您的安装并运行update-grub
. 。chroot
这很棒,因为它允许您在实际安装上工作,而不是尝试在这里和那里重定向内容。它真的很干净。
就是这样:
- 从实时 CD 启动。
- 确定主分区的分区号。GParted 可以帮到你。我假设这个答案是
/dev/sda2
,但是确保您的系统使用了正确的分区号! 挂载你的分区:
sudo mount /dev/sda2 /mnt # make sure that sda2 is correct!
绑定安装一些其他必要的东西:
for i in /sys /proc /run /dev; do sudo mount --bind "$i" "/mnt$i"; done
chroot
进入你的 Ubuntu 安装:sudo chroot /mnt
此时,您处于安装状态,而不是实时 CD,并以 root 身份运行。更新 grub:
update-grub
如果出现错误,请转到步骤 7。(否则,这是可选的。)
根据您的情况,您可能必须重新安装 grub:
grub-install /dev/sda update-grub # I'm not sure if this is necessary, but it doesn't hurt.
如果一切顺利,没有错误,那么一切就完成了:
exit sudo reboot
此时您应该可以正常启动。
如果您无法正常启动,并且由于没有错误消息而未执行步骤 7,请重试步骤 7。
- 有时给 GRUB2 正确的配置为您的分区安装此步骤是不够的,您必须将其安装(或重新安装)到主引导记录,步骤 7 就是这么做的。在聊天中帮助用户的经验表明,即使没有显示任何错误消息,步骤 7 有时也是必要的。
===================================================
Windows 安装程序不关心系统中的其他操作系统。因此,它会在主引导记录上写入自己的代码。这不是 Windows 安装程序的问题,而是故意造成的。如果您重新安装或升级 Windows,您将面临此问题。幸运的是,解决方案也很简单。
您需要修复 mbr。执行以下操作
使用 ubuntu 的实时 usb/cd 启动。用来boot-repair
修复问题。
使用 live usb/cd 启动后,在终端中运行以下命令,
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair
使用Recomended Repair
。
更多信息 -https://help.ubuntu.com/community/Boot-Repair
这些答案最初是在这里给出的。