我是 Ubuntu 的新用户,对计算机不太了解。我已经使用 Ubuntu 大约 3 周了,一切都很好,但今天我收到了这条消息:
microcode: failed to load file amd-ucode/microcode_amd.bin
现在无法通过此屏幕启动。我目前正在使用我的旧笔记本电脑来询问这个问题。有什么想法吗?
答案1
系统正在寻找 amd64-microcode 包。这是系统硬件所需的固件。Ubuntu 可以很好地检测硬件,并且在大多数情况下安装所需的硬件,但它并非万无一失。
如果您已经使用系统 3 周,而这个问题刚刚出现,那么很可能是内核最近更新了,而新内核必须包含此软件包。新内核由软件更新安装。您可能没有意识到安装了新内核。
新安装的内核总是有可能破坏某些功能。当这种情况发生时,您可以从旧内核启动,直到您弄清楚需要什么。在这种情况下,系统似乎需要您手动安装该软件包,这很容易。
首先尝试从旧内核启动
启动菜单由 Grub2 处理。安装新内核时,它会将新内核作为首选,并将所有旧内核隐藏在菜单项“Ubuntu 高级选项”后面。
如果计算机上只有 Ubuntu 操作系统,则默认情况下您可能看不到 Grub2 菜单。要查看它,请Shift在系统启动时按住 。
当您看到 Grub2 菜单时,使用↓(向下箭头键)向下移动到高级选项,然后点击Enter。您将看到一个或多个带有较旧内核的启动选项。选择一个,然后您应该可以正常启动。
安装包
在软件中心找到技术包可能很难。最简单的方法是使用终端。
Ctrl++Alt将t打开一个终端。复制并粘贴:
sudo apt-get install amd64-microcode
恢复模式
如果由于某种原因你没有看到其他内核选项或仍然无法启动,你应该在高级选项选择结束于(恢复模式)。选择这个。它开始运行后,你会看到一个带有各种恢复选项的对话框。
第一次尝试恢复。这可能使您能够顺利启动而不会出现之前遇到的问题。如果可行,请按照上述方法从命令行安装软件包。之后请务必重新启动。
如果仍然无法启动,请重试并选择根从恢复对话框中。这将使您进入 root 的命令行。您将能够安装该包,但当心以 root 身份工作时。之后请务必重新启动。
chroot
如果以上方法都不起作用,您可以使用 live cd 中的 chroot 安装软件包。chroot 的一个用途是将根环境从 LiveCD 更改为您需要定位的已安装系统硬盘驱动器。(这通常在硬盘驱动器上,但可能在 USB 或其他地方。)简而言之,您正在使用 Live 介质来启动一个无法启动的损坏系统。这有点复杂,但并不难。
1) 从您用于安装 Ubuntu 的 LiveCD/USB 启动(或者至少确保实时介质和已安装的系统具有相同的架构 - 均为 32 位或均为 64 位)。使用 Try Ubuntu。
2)打开终端。
3)挂载你的 Ubuntu 根分区:sudo mount /dev/sdXY /mnt
X 是分区字母,Y 是分区号。
如果您遵循标准的“替换 Windows”,我相信您将拥有 /dev/sda1 作为您的根分区。
如果您不确定,以下命令可能会帮助您解决问题。
sudo fdisk -l
sudo blkid
如果您真的遇到这部分问题,您可能需要寻求更多帮助。
假设 root 在 /dev/sda1 上
sudo mount /dev/sda1 /mnt
4) 然后你需要挂载文件系统的各个部分。Ubuntu 社区页面,用于重新安装 GRub2,有一个很好的单一命令来处理这个问题。
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
5)Chroot 进入安装的系统
sudo chroot /mnt
6)安装该软件包。
apt-get install amd64-microcode
您将处于 root 提示符下,因此您不需要sudo
。与往常一样,当心安装完成后立即重新启动。
答案2
- 正常启动 Ubuntu
- 当您看到登录屏幕时,请尝试按 Ctrl - Alt - F1
- 在我的情况下(ubuntu 12.10),出现空白屏幕。不要惊慌,尝试 Ctrl - Alt - F2
- 出现登录控制台并要求您使用您的 ID 和密码登录。登录后。运行这些命令。
sudo apt-get update
sudo apt-get upgrade - 然后重新启动计算机
sudo reboot
然后尝试再次登录。
如果不起作用,你可能需要使用上述相同的步骤手动安装 amd 包,但使用安装命令
sudo apt-get install your_package_name