通过USB在外部HDD上安装Ubuntu后进行Grub救援


11

我在内部HDD中安装了Windows 7,并想试用Ubuntu,所以我有一个USB可以将Ubuntu LiveUSB插入并在外部 HDD 上安装Ubuntu ,一切正常。

现在的问题。如果我卸下外部硬盘驱动器并尝试正常启动Windows,它将显示grub救援屏幕。引导到Windows的唯一方法是连接外部HDD。

有什么办法可以使我不必连接外部硬盘就可以启动Windows 7?



您可以启动实时USB吗?
minigeek

Answers:


9

当您安装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

如果您没有CD,可以从Windows制作Windows修复CD。也可以从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样式的引导加载程序时可以将其忽略:

在此处输入图片说明


谢谢您的答复bcbc,问题是我无法从cd部分启动它,我什至试图更改启动部分,但一无所获
Victor Suarez

1
您是说无法从Windows修复CD引导吗?然后,您可以lilo改为从Ubuntu 安装。这与Windows Bootloader的工作原理相同。
bcbc 2012年

杜德非常感谢你,我尝试了第二种选择,其中我使用了“ sudo apt-get install lilo”,它的工作原理。非常感谢您,必须将外部硬盘驱动器连接到启动设备上真是太痛苦了:D
Victor Suarez

6
  1. 您必须使用Windows CD / DVD 修复内部HDD 的MBR。(startup-repair

  2. 附加辅助磁盘,使用活动CD进行引导,然后使用boot-repair工具在辅助HDD上安装GRUB。见下图:

    在此处输入图片说明

    Place Grub into从下拉菜单中选择-您的辅助硬盘。

    要确定辅助硬盘的名称,请打开资源管理器,然后参阅“引导修复”工具说明


嗨,Web-E谢谢您的答复,但问题是我无法从CD引导它,甚至尝试更改引导顺序
Victor Suarez

3

轻松拯救GRUB2 ...
步骤:
1.下载YUMI Multiboot USB Creator。
2.下载Rescatux / Super Grub2磁盘
3.1使用YUMI多引导USB创建器将Rescatux或Super Grub2磁盘安装到Pendrive中。
或者
3.2将其安装在CD中,或者甚至可以尝试使用软盘(Super Grub2磁盘)。
4.从您创建的其他媒体(Pendrive / CDROM /软盘)启动。

  1. 超级Grub2磁盘的说明(方法1)
    5.1在YUMI Mulitboot界面中,选择GRUB Bootable ISO或Windows XP /
    7/8,然后按Enter。5.2在下一个屏幕上,选择“ Super Grub2 Disk”条目,然后按Enter。
    5.3在Super Grub2 Disk主屏幕上。从菜单中选择第二个(检测任何操作系统。新下载列表的方式与之不同,只需从菜单列表中选择第二个)。
    5.4接下来,从操作系统选择列表中选择Ubuntu。这将加载您的Ubuntu OS。
    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。这将检测系统中加载的其他操作系统。

  2. Rescatux的说明(方法2)
    6.1在YUMI Mulitboot界面中,选择GRUB Bootable ISO或Windows XP /
    7/8,然后按Enter。6.2在下一个屏幕上,选择Rescatux Disk条目,然后按Enter。
    6.3在Recatux引导屏幕上,如果看到有关错误的信息,Unable to boot due to CPU error则选择Live 486,否则选择默认Live(amd64)
    6.4在几次系统初始化屏幕后,将显示Rescapp GUI。6.5从Rescapp GUI中选择Grub(+),然后选择Restore Grub,最后选择Restore Grub !!!
    6.6从下一个屏幕中选择Linux分区(避免使用loop1,它通常是Rescatux设备分区),然后按OK。
    6.7选择“硬盘分区”以安装Grub,然后按OK。
    6.8等待Rescapp执行安装操作,成功安装后将显示一条消息,然后按OK。
    6.9在屏幕的下角单击以关闭Rescatux。

    已抢救GRUB2

1

我是这样解决的:

问题

从USB驱动器安装时,USB驱动器将变为SDA。磁盘将变为SDB,SDC等。卸下USB驱动器并重新引导后,磁盘将变为SDA,SDB等,并且系统将不会引导。

解:

临时添加一个连接到SATA的光学读取器(内部)。通过USB连接的外部读取器很可能会产生与上述相同的问题。

由于光学读取器未显示为磁盘,因此第一个磁盘将是SDA,安装顺利,并且系统将成功启动。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.