我正在运行 12.04 64 位并与 Win7 双启动,全面披露,虽然我怀疑这与我的问题无关。
引导加载程序 (GRUB) 经常无法加载,我会看到黑屏,屏幕上只有一条闪烁的线。我每次关机十次,八次都会遇到这种情况,我可以不断修复它,但是,我不知道为什么会发生这种情况。
我目前的解决方法是启动 Live CD(我尝试过 KNOPPIX 和 Ubuntu,结果相同),就这样。不知何故,使用 Live CD 启动足以“唤醒”我的硬盘。然后我重新启动,GRUB 又神奇地出现了。
那么到底发生了什么?是否有可能某个程序正在破坏我的 MBR,而实时 CD 正在恢复它?我该如何缩小可能性?谢谢。
额外的
这仍然是一个问题。我现在确信这与硬件无关,因为我在过去一个月中在 Windows 上进行了几次启动循环,没有出现任何问题。最近当我再次开始使用 Ubuntu 时,问题又出现了。
我更感兴趣的是弄清楚到底发生了什么,而不是真正解决问题。有什么工具、日志等可以用来解开这个谜团吗?
更新
我现在可以不断重现该问题。似乎如果在重新启动之前的任何时间点将计算机置于挂起模式,就会出现问题。计算机可以正常进入和退出挂起模式,但当我重新启动系统时,它无法启动。我在挂起计算机之前和之后尝试过这个命令:
sudo hdparm -I /dev/sda > hdsettings.txt
然后我对这两个文件进行了比较,发现有一点发生了变化:安全设置下的冻结变为未冻结。我不知道这是什么意思,但无论如何这都是一个区别。
答案1
编辑: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
然后打开启动修复。执行建议的修复。如果这不能解决问题,请在此处粘贴启动摘要的链接。
答案2
不久前我也遇到过类似的问题。我使用的是从一台从未使用的 DVR 上取下来的硬盘。这些硬盘使用自定义固件,该固件具有一项称为待机模式下启动的功能,可防止硬盘在启动时消耗过多电流;然后,自定义固件会向硬盘发送特殊命令以使其旋转。可以通过重新启动计算机来防止这种情况,或者您可以使用 hdparm 完全禁用硬盘上的此功能。然后硬盘将处于活动模式。
注意:阅读 hdparm (-s 选项) 的手册页。
- 从任何 Linux Live CD 启动 (Linux >= 2.6.22)
以 root 身份在终端中输入:
hdparm -s0 /dev/sdX(您的驱动器号)
完全关闭计算机并重新打开
希望这可以帮助!
答案3
有两个原因可能导致此问题: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 的加载。