如果在重新启动之前激活了暂停功能,硬盘将无法启动。使用Live USB/CD引导可以解决这个问题(暂时性地)。

我正在运行12.04 64位,并且双启动了Win7,为了充分披露,尽管我怀疑这与我的问题无关。
引导加载程序(GRUB)经常无法加载,我会看到一个黑屏和一个闪烁的光标。这已经发生了十次中有八次,我可以始终修复它,但是我不知道为什么会发生这种情况。
我目前的解决方法是启动一个Live CD(我尝试过KNOPPIX和Ubuntu,结果相同),然后问题就解决了。以某种方式,使用Live CD启动足以“唤醒”我的硬盘。然后我重新启动,GRUB神奇地再次出现。
那么到底发生了什么?是否可能有一个程序损坏了我的MBR,而Live CD则恢复了它?我如何缩小可能性范围?谢谢。
额外信息:
这个问题仍然存在。我现在确信这与硬件无关,因为我在过去一个月里多次启动Windows都没有问题。最近当我再次开始使用Ubuntu时,问题又出现了。
我更感兴趣的是弄清楚到底发生了什么,而不仅仅是修复问题。有没有工具、日志等可以帮助我解开这个谜团?
更新:
现在我能够持续地重现这个问题了。似乎只要在重新启动之前将电脑置于暂停模式,问题就会出现。电脑可以正常进入和退出暂停模式,但当我重新启动系统时,它无法启动。我在暂停电脑之前和之后都尝试过这个命令:
sudo hdparm -I /dev/sda > hdsettings.txt

然后我对这两个文件进行了比较,发现有一处变动:在安全设置下,"frozen" 变成了 "not frozen"。虽然我不知道具体含义,但至少存在差异。

2不,光盘启动盘不能做到那样的事情。很可能是你的硬盘出现了一些错误。也许在硬盘连接器上有一些松动或者发热后开始旋转了。 - Web-E
你有没有检查过BIOS,看看是否有关于硬盘延迟启动的设置? - Mitch
@Web-E - 在多次暂停和休眠循环后,问题不再出现。只有在重新启动系统后才会出现。 - Usagi
@Mitch - 延迟启动是什么意思? - Usagi
我仍然遇到这个问题,而且我仍然可以通过简单地启动一个Live CD来修复它。我不认为这是硬件问题,因为修复过程如此可重现。在Live CD启动时,是否有日志文件可以打印出来? - Usagi
这是BIOS中的一个选项,可以延迟硬盘启动的时间。您的系统是哪个品牌和型号? - Mitch
@Mitch - 这是一台带有AMD芯片的东芝Satellite笔记本电脑。 - Usagi
是什么型号的卫星? - Mitch
@Mitch - A665D-S5178 - Usagi
在BIOS中似乎没有这个选项,但我注意到有一个新的BIOS可用。尝试更新一下,看看是否有帮助。 - Mitch
看我的答案 - 你可以通过按照以下步骤获取更多引导细节。 - whiskers75
在你成功从硬盘启动后,你是否可以在没有使用光盘的情况下重复进行重启?换句话说,只有在冷启动之后才会出现问题,热启动是可以的吗? - psusi
@psusi - 冷是指主板温度吗?在我解决问题后,我可以重启多次而不会遇到问题。我还关机了几个小时,重新启动时也没有出现任何问题。唯一似乎引起问题的因素是我使用Linux的时间长度。这让我相信,在Linux上有一些程序导致了这个问题,但它肯定不是一个启动过程,否则问题会每次都发生。 - Usagi
3个回答

编辑:看起来Grub没有错误,所以这个答案不适用。抱歉。@Web-E似乎是正确的方向。
从Live CD启动。打开终端。
sudo add-apt-repository ppa:yannubuntu/boot-repair && sudo apt-get update

按下 Enter - 然后输入:
sudo apt-get install -y boot-repair && boot-repair

然后打开引导修复工具。执行建议的修复操作。如果这不能解决问题,那么请将引导摘要的链接粘贴在这里。

启动盘没问题,用户可以在重启后成功从硬盘引导。只有当 grub 损坏时才需要 boot-repair - Web-E
是的,我意识到了。这就是为什么我给你的回答点了赞。 - Varun Venkatesh

我不久前也遇到了类似的问题。我使用了一个我不再使用的DVR中取出的硬盘。这些硬盘使用了一种名为“Power-up in Standby”模式的定制固件,该模式可以防止硬盘在启动时过多地消耗电流;然后,定制固件会向硬盘发送特殊命令以使其旋转起来。你可以通过重新启动计算机或者使用hdparm完全禁用硬盘上的这个功能。这样硬盘就会进入活动模式。
注意:请阅读hdparm的man页面(-s选项)。
1. 从任何Linux Live CD(Linux >= 2.6.22)启动。 2. 以root身份在终端中输入以下命令: hdparm -s0 /dev/sdX(你的驱动器字母) 3. 完全关闭计算机,然后重新打开。
希望对你有所帮助!

有没有办法判断这个选项是否已打开? - Usagi
我尝试了你的终端命令,得到了以下结果:"/dev/sda: spin-up: 将 power-up in standby 设置为 0 (关闭) HDIO_DRIVE_CMD(powerup_in_standby) 失败:输入/输出错误" - Usagi
我不知道我的硬盘是否具有这个功能,但我正在阅读 hdparm 的手册,它非常有用 :D 另外,在尝试所有这些的过程中,我发现问题与挂起相关。虽然我还没有解决问题,但我离成功又近了一步! - Usagi
根据其他遇到这个错误的人所说,问题可以通过更改驱动器的跳线配置来解决。您的驱动器上有跳线吗?如果有的话,请问设置是什么? - francismb
是的,我尝试了所有的位置,但都没有成功。我在想我的驱动可能没有这个选项。是否还有其他我可以在驱动器或通过Linux更改的电源管理功能呢? - Usagi
没有跳线怎么样?你的驱动器型号是什么? - francismb
嗯,我的硬盘默认就没有跳线。型号是东芝MK5065GSXN HDD2J12 B UL01 T。 - Usagi

两件事可能导致这个问题:GRUB故障或MBR损坏。
修复GRUB故障:
在终端中输入以下内容:
sudo apt-get --reinstall install grub-gfxpayload-lists grub-pc grub2-common
sudo apt-get intall grub2

修复MBR
安装Grub Customizer:
sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer

打开Grub Customizer并转到文件>安装到MBR...然后选择确定。
所有这些都应该解决您的问题,尽管如果不能解决,可能是Ubuntu安装的分区存在坏块,影响了GRUB的加载。