Once you’ve moved past the basics of running Linux on a Chromebook, two things trip people up: the Linux container filling up local storage, and needing more than one isolated Linux environment. Here’s how Crostini’s storage and container system works under the hood, and how to manage both.
vmc resize-disk termina --size <GB> for finer control. For a second isolated environment, install a new LXC container inside the existing Termina VM using lxc launch.
How Crostini’s Storage Actually Works
ChromeOS runs Linux inside a lightweight virtual machine called Termina, and your actual Linux distribution (Debian by default) runs as an LXC container inside that VM. This means Linux files don’t sit directly in your Chromebook’s regular storage — they live inside a virtual disk image that grows as you install packages and save files, up to a size limit you set.

Checking Current Disk Usage
- Open Settings > Advanced > Developers > Linux development environment.
- Click the “Disk size” section to see current usage versus the allocated maximum.
- From inside the Linux terminal, run
df -hto see usage from the container’s own perspective — useful if the graphical usage bar seems out of sync.
Resizing the Linux Disk
- Go to Settings > Advanced > Developers > Linux development environment > Disk size.
- Drag the slider to your desired size, up to your Chromebook’s available free space.
- Note that shrinking the disk below current usage isn’t allowed — you’ll need to delete files inside Linux first with
du -sh ~/*to find large folders, then remove what you don’t need.
⚠ This can affect running processes — resizing while heavy compiling or downloads are active inside Linux can interrupt them. Close active Linux tasks before resizing.
Running Multiple Containers
The default setup gives you one container (“penguin”) inside the Termina VM. Power users who want an isolated second environment — for example, testing a different Linux distribution without touching your main setup — can add another:
- Open the Linux terminal.
- Run
lxc image list images:to see available distro images (Debian, Ubuntu, Fedora, and others depending on your image server access). - Launch a new container with
lxc launch images:debian/12 mysecondcontainer, replacing the name as needed. - Enter it with
lxc exec mysecondcontainer -- /bin/bash.
Both containers share the same underlying disk allocation, so a second container eats into the same storage pool you configured above — plan disk size accordingly.
Reclaiming Space Without Deleting Everything
- Run
sudo apt autoremoveandsudo apt cleaninside the terminal to clear cached package files, which often reclaims several hundred MB with no data loss. - Check
~/.cacheand Docker images (if installed) withdocker system prune— these silently accumulate over months of use. - If space is still tight, consider whether you need the full disk resize instead of cleanup — see the resizing steps above.
Still Not Working?
If the Linux terminal won’t start at all after a resize attempt, see our dedicated guide on the “failed to start container” error. If Linux won’t install in the first place, start with our Linux won’t install or start guide before attempting advanced container management. As a last resort, uninstalling and reinstalling Linux from Settings resets the Termina VM entirely — but this deletes all container data, so back up anything important inside Linux to Google Drive or an external drive first.
FAQ
Does resizing the Linux disk affect my ChromeOS files?
No — the Linux disk image is separate from your regular Downloads and Drive storage. Resizing only changes how much of your Chromebook’s free space is reserved for Linux.
Can I run a full desktop environment in a second container?
Yes, technically, but ChromeOS only provides a graphical window into the default container out of the box. Additional containers typically require terminal-only (headless) use unless you configure X11 forwarding manually.
Will deleting the second container affect my main Linux setup?
No — containers are isolated from each other. Removing one with lxc delete mysecondcontainer doesn’t touch the default “penguin” container or its files.
