SWITCH\_ROOT(8) System Administration SWITCH\_ROOT(8)

# [NAME](#NAME)

switch\_root - switch to another filesystem as the root of the mount tree

# [SYNOPSIS](#SYNOPSIS)

**switch\_root** \[**-hV**]

**switch\_root** *newroot init* \[*arg*...]

# [DESCRIPTION](#DESCRIPTION)

**switch\_root** moves already mounted */proc*, */dev*, */sys* and */run* to *newroot* and makes *newroot* the new root filesystem and starts *init* process.

**WARNING: switch\_root removes recursively all files and directories on the current root filesystem.**

# [OPTIONS](#OPTIONS)

**-h**, **--help**

Display help text and exit.

**-V**, **--version**

Display version and exit.

# [EXIT STATUS](#EXIT_STATUS)

**switch\_root** returns 1 on failure, it never returns on success.

# [NOTES](#NOTES)

**switch\_root** will fail to function if *newroot* is not the root of a mount. If you want to switch root into a directory that does not meet this requirement then you can first use a bind-mounting trick to turn any directory into a mount point:

```
mount --bind $DIR $DIR
```

# [AUTHORS](#AUTHORS)

*Peter Jones* &lt;pjones@redhat.com&gt;, *Jeremy Katz* &lt;katzj@redhat.com&gt;, *Karel Zak* &lt;kzak@redhat.com&gt;

# [SEE ALSO](#SEE_ALSO)

[**chroot**(2)](/man/os/util-linux/chroot.2), [**init**(8)](/man/os/util-linux/init.8), [**mkinitrd**(8)](/man/os/util-linux/mkinitrd.8), [**mount**(8)](/man/os/util-linux/mount.8)

# [REPORTING BUGS](#REPORTING_BUGS)

For bug reports, use the *issue tracker* &lt;https://github.com/util-linux/util-linux/issues&gt;.

# [AVAILABILITY](#AVAILABILITY)

The **switch\_root** command is part of the util-linux package which can be downloaded from *Linux Kernel Archive* &lt;https://www.kernel.org/pub/linux/utils/util-linux/&gt;.

2026-10-19 util-linux 2.42.4

---

Document: switch_root(8) from util-linux 2.42.4-r1 (Chainguard OS)
