---
name: "switch_root"
section: "8"
platform: "linux"
package: "util-linux"
version: "2.42.4-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/switch_root"
---

# switch\_root(8)

switch to another filesystem as the root of the mount tree

## NAME

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

## SYNOPSIS

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

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

## 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

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

  Display help text and exit.

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

  Display version and exit.

## EXIT STATUS

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

## 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

*Peter Jones* \<pjones@redhat.com\>, *Jeremy Katz* \<katzj@redhat.com\>, *Karel Zak* \<kzak@redhat.com\>

## SEE ALSO

[**chroot**(2)](/chroot/2.md), [**init**(8)](/init/8.md), [**mkinitrd**(8)](/mkinitrd/8.md), [**mount**(8)](/mount/8.md)

## REPORTING BUGS

For bug reports, use the *issue tracker* \<https://github.com/util-linux/util-linux/issues\>.

## AVAILABILITY

The **switch\_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/\>.
