我在内置硬盘上安装了 Windows 7,想试试 Ubuntu,所以我有一个 USB 可以安装 Ubuntu LiveUSB,并在外部的HDD 和一切运行正常。
现在问题来了。如果我移除外部硬盘并尝试正常启动 Windows,它会显示 grub 救援屏幕。启动 Windows 的唯一方法是连接外部硬盘。
有什么办法可以让我无需连接外部硬盘就能启动 Windows 7?
答案1
当您安装 Ubuntu 时,它会将 Grub 引导加载程序放在内部驱动器 MBR 上,但所有 grub 模块都存储在外部驱动器上的 Ubuntu 分区上。如果无法加载模块,Grub 将不会让您做太多事情,因此,如果不插入外部驱动器,您将无法启动任何东西。
你应该做的是将 Windows 引导程序保留在内部驱动器上,并将 Grub 安装到外部驱动器上。然后,无论何时插入外部驱动器,只需在启动时覆盖即可从外部驱动器启动。
要将 Grub 安装到外部 MBR(假设它是/dev/sdb
):
sudo grub-install /dev/sdb
要让 Windows 在没有外部设备的情况下启动,请重新安装 Windows 引导加载程序。为此,请从 Windows 7 修复 CD 或 Windows 安装 DVD 启动到修复提示符并运行:
bootrec /fixmbr
如果您没有 Windows 修复 CD,可以从 Windows 制作。也可以从 Ubuntu 安装中安装类似 Windows 的引导加载程序:
sudo apt-get install lilo
sudo lilo -M /dev/sda mbr
请注意,lilo
将会弹出一个大的警告屏幕,但可以安全地忽略它,因为这指的是用于启动 Linux 时。
它的使用方式如下lilo
(注意命令区分大小写):
bcbc@neptune:~$ sudo apt-get install lilo
[sudo] password for bcbc:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
lilo-doc
The following NEW packages will be installed:
lilo
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 275 kB of archives.
After this operation, 807 kB of additional disk space will be used.
Get:1 http://mirror.csclub.uwaterloo.ca/ubuntu/ precise/main lilo amd64 1:23.2-2 [275 kB]
Fetched 275 kB in 1s (198 kB/s)
Preconfiguring packages ...
Selecting previously unselected package lilo.
(Reading database ... 505850 files and directories currently installed.)
Unpacking lilo (from .../lilo_1%3a23.2-2_amd64.deb) ...
Processing triggers for man-db ...
Setting up lilo (1:23.2-2) ...
bcbc@neptune:~$ sudo lilo -M /dev/sda mbr
Backup copy of /dev/sda in /boot/boot.0800
The Master Boot Record of /dev/sda has been updated.
bcbc@neptune:~$
您会看到类似这样的警告 - 当您使用lilo
Windows 风格的引导加载程序时可以忽略它:
答案2
答案3
轻松拯救 GRUB2...
步骤:
1. 下载由美多重启动 USB 创建器。
. 下载Rescatux/超级 Grub2磁盘
3.1 使用 YUMI 多重启动 USB 创建器将 Rescatux 或 Super Grub2 磁盘安装到 Pendrive 中。
或者
3.2 将其安装在您的 CD 中,或者您甚至可以尝试使用软盘(Super Grub2 磁盘)。4
. 从您创建的其他媒体(Pendrive/CDROM/Floppy)启动。
- Super Grub2 Disk 说明(方法 1)
5.1 从 YUMI Mulitboot 界面选择 GRUB Bootable ISOs 或 Windows XP/7/8,然后按 Enter 键
5.2 在下一个屏幕上选择 Super Grub2 Disk 条目并按 Enter 键。
5.3 在 Super Grub2 Disk 主屏幕上。从菜单中选择第二个(检测任何操作系统。新下载我的列表不同,只需从菜单列表中选择第二个)。
5.4 接下来从操作系统选择列表中选择 Ubuntu。这将加载您的 Ubuntu 操作系统。
5.5 登录后使用终端并输入以下命令。
5.6 键入sudo fdisk -lu
以确定您的硬盘和根分区设备。应该是这样的Disco /dev/sda: 500.1 GB
5.7 恢复 Grub2:输入sudo grub-install /dev/sda
结果应该类似于Installation finished. No error reported.
5.8 如果您除了 Ubuntu 之外还安装了其他操作系统,则需要使用执行 Grub2 更新sudo update-grub
。这将检测系统中加载的其他操作系统。
- Rescatux 说明(方法 2)
6.1 从 YUMI Mulitboot 界面选择 GRUB Bootable ISOs 或 Windows XP/7/8,然后按 Enter
6.2 在下一个屏幕上选择 Rescatux Disk 条目并按 Enter。
6.3 在 Recatux 启动屏幕上,如果您看到有关的错误,Unable to boot due to CPU error
则选择直播 486否则选择默认直播 (amd64).
6.4 经过几个系统初始化屏幕Rescapp 图形用户界面将显示。 6.5 从 Rescapp GUI 选择蛴螬 (+)然后恢复 Grub最后恢复 Grub!!!
6.6 在下一个屏幕中选择 Linux 分区(避免 loop1,因为大多数情况下它是 Rescatux 设备分区)并按 OK。6.7
选择硬盘分区来安装 Grub,然后按 OK。6.8
等待 Rescapp 执行安装操作,安装成功后将显示一条消息,然后按 OK。6.9
在屏幕的下角单击它以关闭 Rescatux。
GRUB2 获救。
答案4
我用这种方法解决了:
问题
从 USB 驱动器安装时,USB 驱动器变为 SDA。磁盘变为 SDB、SDC 等。移除 USB 驱动器并重新启动后,磁盘变为 SDA、SDB 等,系统将无法启动。
解决方案:
临时添加一个连接到 SATA(内置)的光学读取器。通过 USB 连接的外部读取器很可能会产生与上述相同的问题。
由于光学读取器未显示为磁盘,因此第一个磁盘将是 SDA,安装顺利,系统将成功启动。