I try to repair an broken Ubunu 14.04 with chroot. What I did, is to boot Ubuntu from USB mounted the original system that has to be repaired and changed to this system with chroot:

sudo mount /dev/sdXY /mnt 
sudo mount -o bind /dev /mnt/dev 
sudo mount -o bind /sys /mnt/sys 
sudo mount -t proc /proc /mnt/proc 
sudo cp /proc/mounts /mnt/etc/mtab 
sudo chroot /mnt /bin/bash 

That worked fine, but in chroot environment I don't have access to the internet, so apt isn't able to resolve hostnames. What am I supposed to do?

ping www.askubuntu.com

does not work either.

  • I think my command should be for d in dev sys run proc; do sudo mount -o bind /$d /mnt/$d ; done May 19, 2014 at 16:24
  • try and get back to me soon :-) May 19, 2014 at 16:27
  • Seems to work, but I am not quite sure, because it my be an other reason making it work. Thank you anyway!
    – user5950
    May 19, 2014 at 16:54

1 Answer 1


On newer Ubuntu systems, name resolution is handled by the resolvconf service, and /etc/resolv.conf is a symbolic link to /run/resolvconf/resolv.conf. You can either add a bind mount to the /run filesystem along with your other bind mounts before executing the chroot command

sudo mount -o bind /run /mnt/run

so that the chroot system picks up the host system's DNS settings or, once you're in the chrooted system, temporarily create a static /etc/resolv.conf with nameserver(s) of your choice e.g.

echo 'nameserver' | sudo tee -a /etc/resolv.conf
  • 2
    What are "newer Ubuntu systems"; in other words since which version is name resolution handled by resolvconf?
    – Pro Backup
    Aug 11, 2014 at 16:04
  • @ProBackup at least from 12.04 I think, although it may have been backported - see DNS in Ubuntu 12.04 Aug 11, 2014 at 16:12
  • 2
    doing sudo mount --bind /run /mnt/run worked for me chrooting into a botched 17.10 upgrade. Thanks for the answer!
    – labyrinth
    Nov 17, 2017 at 1:02
  • Is there a permanent solution?
    – birgersp
    Aug 28, 2018 at 15:58
  • 2
    It’s probably a bit defeating the purpose of chroot if you bind the whole /run directory with a lot of sockets, so probably binding only the needed sockets is a better idea (resolvconf, maybe nscd and syslog)
    – eckes
    Mar 19, 2019 at 9:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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