# pivot_root(8) - man - phpMan

[PIVOT_ROOT(8)](https://www.chedong.com/phpMan.php/man/PIVOTROOT/8/markdown)                           System Administration                          [PIVOT_ROOT(8)](https://www.chedong.com/phpMan.php/man/PIVOTROOT/8/markdown)



## NAME
       pivot_root - change the root filesystem

## SYNOPSIS
       **pivot**___**root** _new_root_ _put_old_

## DESCRIPTION
       **pivot**___**root** moves the root file system of the current process to the directory _put_old_ and
       makes _new_root_ the new root file system. Since **pivot**___**[root**(8)](https://www.chedong.com/phpMan.php/man/root/8/markdown) simply calls **pivot**___**[root**(2)](https://www.chedong.com/phpMan.php/man/root/2/markdown), we
       refer to the man page of the latter for further details.

       Note that, depending on the implementation of **pivot**___**root**, root and current working directory
       of the caller may or may not change. The following is a sequence for invoking **pivot**___**root** that
       works in either case, assuming that **pivot**___**root** and **chroot** are in the current **PATH**:

           cd new_root
           pivot_root . put_old
           exec chroot . command

       Note that **chroot** must be available under the old root and under the new root, because
       **pivot**___**root** may or may not have implicitly changed the root directory of the shell.

       Note that **exec** **chroot** changes the running executable, which is necessary if the old root
       directory should be unmounted afterwards. Also note that standard input, output, and error
       may still point to a device on the old root file system, keeping it busy. They can easily be
       changed when invoking **chroot** (see below; note the absence of leading slashes to make it work
       whether **pivot**___**root** has changed the shell’s root or not).

## OPTIONS
### -V --version
           Display version information and exit.

### -h --help
           Display help text and exit.

## EXAMPLE
       Change the root file system to _/dev/hda1_ from an interactive shell:

           mount /dev/hda1 /new-root
           cd /new-root
           pivot_root . old-root
           exec chroot . sh <dev/console >dev/console 2>&1
           umount /old-root

       Mount the new root file system over NFS from 10.0.0.1:/my_root and run **init**:

           ifconfig lo 127.0.0.1 up   # for portmap
           # configure Ethernet or such
           portmap   # for lockd (implicitly started by mount)
           mount -o ro 10.0.0.1:/my_root /mnt
           killall portmap   # portmap keeps old root busy
           cd /mnt
           pivot_root . old_root
           exec chroot . sh -c 'umount /old_root; exec /sbin/init' \
             <dev/console >dev/console 2>&1

## SEE ALSO
       [**chroot**(1)](https://www.chedong.com/phpMan.php/man/chroot/1/markdown), **pivot**___**[root**(2)](https://www.chedong.com/phpMan.php/man/root/2/markdown), [**mount**(8)](https://www.chedong.com/phpMan.php/man/mount/8/markdown), **switch**___**[root**(8)](https://www.chedong.com/phpMan.php/man/root/8/markdown), [**umount**(8)](https://www.chedong.com/phpMan.php/man/umount/8/markdown)

## REPORTING BUGS
       For bug reports, use the issue tracker at <https://github.com/karelzak/util-linux/issues>.

## AVAILABILITY
       The **pivot**___**root** command is part of the util-linux package which can be downloaded from Linux
       Kernel Archive <<https://www.kernel.org/pub/linux/utils/util-linux/>>.



util-linux 2.37.2                            2021-06-02                                [PIVOT_ROOT(8)](https://www.chedong.com/phpMan.php/man/PIVOTROOT/8/markdown)
