Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I am a new user of Ubuntu and don't know much about computers. I have used Ubuntu for about 3 weeks now, everythings been fine, but I got this message today:

microcode: failed to load file amd-ucode/microcode_amd.bin

It will not boot past this screen now. I am currently using my old laptop to ask this question. Any ideas?

share|improve this question
    
hello? I still need help –  Nick Dec 17 '12 at 21:58
add comment

2 Answers 2

The system is looking for the amd64-microcode package. This is firmware needed by hardware on your system. Ubuntu does a great job of detecting your hardware and in most cases installing what's needed, but it's not foolproof.

If you have been using the system for 3 weeks and this problem just started, most likely the kernel was recently updated, and the new kernel has to have this package. New kernels are installed by Software Updates. You may not have realized that a new kernel was installed.

It's always possible that a newly installed kernel breaks something. When this happens you can boot from the older kernel until you figure out what you need. In this case, it looks like the system needs you to manually install that package, which is easy.

First try to boot from the older kernel

The boot menu is handled by Grub2. When a new kernel is installed, it makes the new kernel the first choice and hides all older kenrels behind the menu item "Advanced Options for Ubuntu".

If Ubuntu is the only operating system on the computer, you may not see the Grub2 menu by default. To see it, hold down the Shift as the system boots.

When you see the Grub2 menu, use (the down arrow key) to move down to the advanced options, then hit Enter. You will see one or more boot options with an older kernel. Choose one, and you should boot ok.

Install the package

It can be hard to find technical packages in the Software Center. The easiest way to do it is to use the terminal.

Ctrl+Alt+t will open a terminal. Copy and paste:

sudo apt-get install amd64-microcode

Recovery mode

If for some reason you don't see other kernel options or still can't boot, you should see an option in the Advanced Options choices that ends in (Recovery Mode). Choose this. After it starts to run, you will see a dialog with various recovery choices.

First try Resume. This may allow you to boot without the problem you were having. If this works, install the package from the command line as above. Be sure to reboot afterwards.

If you still can't boot, try again and this time choose Root from the recovery dialog. This will drop you into a command line for root. You will be able to install the package but be careful when working as root. Be sure to reboot afterwards.

chroot

If none of the above work, you may be able to install the package using chroot from the live cd. One use of chroot is change the root environment from the LiveCD to the installed system hard drive you need to target. (This is usually on the hard drive, but could be on a usb or elsewhere.) In short, you are using the Live medium to boot a broken system that won't otherwise boot. This is a little more complicated but is not hard.

1) Boot from the LiveCD/USB you used to install Ubuntu (or at least make sure the live medium and the installed system have the same architecture - both 32-bit or both 64-bit). Use Try Ubuntu.

2) Open the terminal.

3) Mount your Ubuntu root partition: sudo mount /dev/sdXY /mnt

X is partition letter and Y is the partition number.

If you followed a standard "Replace Windows", I believe you will have /dev/sda1 as your root partition.

If you are not sure, the following commands may help you figure it out.

sudo fdisk -l
sudo blkid

If you are realy stuck on this part, you may need to ask for more help.

Let's assume root is on /dev/sda1

sudo mount /dev/sda1 /mnt

4) You then need to mount various parts of the filesystem. The Ubuntu Community page for resintalling GRub2, has a nice single command to handle this.

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

5) Chroot into the installed system with

sudo chroot /mnt

6) Install the package.

apt-get install amd64-microcode

You will be at a root prompt, so you won't need sudo. As always, be careful and reboot as soon as you are finished installing.

share|improve this answer
    
+1 looks like a good answer but it needs a little expansion, please explain to the OP how he would install from the liveCD or link to a answer on AU that shows him how. It sounds a bit intimidating, or just confusing, to new users when we use technical term but don't explain how. –  TrailRider Jan 20 '13 at 16:45
    
@TrailRider. Thanks for the suggestion. –  chaskes Jan 22 '13 at 18:05
    
great answer, not only did you tell him to do X,Y and Z but you explained why and what would happen when you did. I wish all posters had the patience to give these kinds of answers, it would make Ubuntu much easier for newbies to understand. Most posts seem to forget that a large majority of new users are coming from Windows and have no idea how a OS works. Instead of just instructing, answers like this teach. I don't mean to hijack your post so I will get off my soapbox...Bravo! –  TrailRider Jan 23 '13 at 2:03
    
@TrailRider. Thanks. I always appreciate advice on making an answer better. –  chaskes Jan 25 '13 at 7:24
add comment
  1. Boot your Ubuntu as normal
  2. When you see the log-in screen, try to Ctrl - Alt - F1
  3. In my case (ubuntu 12.10), a blank screen appears. dont be panic, try Ctrl - Alt - F2
  4. A login console shows up and ask you to login using your id and password. After login. Run these commands.
    sudo apt-get update
    sudo apt-get upgrade
  5. then restart your computer
    sudo reboot

Then try to login again.

if it doesn't work, you might need to install the amd package manually with the same procedure above but with install command
sudo apt-get install your_package_name

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.