Change root (chroot) is an operation that changes the apparent root directory for the current running process and their children. A program that is run in such a modified environment cannot access files and commands outside that environmental directory tree.
Ensure you met all requirements, as per Requirements
Mount the temporary API filesystems:
cd /location/of/new/root mount -t proc proc proc/ mount --rbind /sys sys/ mount --rbind /dev dev/ mount --rbind /run run/ (optionally)
If you need to use an internet connection in the chroot environment, copy over the DNS details:
cp /etc/resolv.conf etc/resolv.conf
Change root into /location/of/new/root, specifying the shell (
/bin/bash in this example):
chroot /location/of/new/root /bin/bash
After chrooting it may be necessary to load the local bash configuration:
source /etc/profile source ~/.bashrc
Optionally, create a unique prompt to be able to differentiate your chroot environment:
export PS1="(chroot) $PS1"
When finished with the chroot, you can exit it via:
Unmount the temporary file systems:
cd / umount --recursive /location/of/new/root
chrootsource and destination (check current environment architecture with
chrootenvironment must be loaded (for example, with
Changing root is commonly done for performing system maintenance on systems where booting and/or logging in is no longer possible.
Common examples are: