此脚本调整 Chrome 操作系统的分区大小。通常,这将用于双/多重启动 Chrome 操作系统和另一个操作系统,但它也可用于回收丢失的磁盘空间。
Chrome 操作系统强制执行特定的磁盘布局,并在添加或删除分区时通过格式化磁盘并重新安装来“修复”其安装。该脚本调整分区大小而不是创建新分区以避免触发“修复”。
如图所示,设备未使用内核 C(分区 6)和 rootfs C(分区 7)分区,因此我们可以安全地调整它们的大小(和使用)。用户状态分区(绿色,标记为“加密的用户数据”)由 Chrome 操作系统用来存储用户文件、扩展程序、Android 应用程序等。 chromeos-resize
根据用户的需要在这三个分区之间重新分配空间。
使用此脚本将删除这些分区上的所有数据,包括 Chrome 操作系统使用的任何下载和文件。如果该数据对您很重要,请备份该数据。
最初是为了服务 Chromebook Pixel 2015 (samus) Linux 社区而创建的,该社区注意到 Chrome 操作系统需要接收固件更新。
双/多重启动 Chrome 操作系统与其他操作系统非常有用,原因有很多:
chromeos-resize
还可用于从多启动系统恢复为仅包含 Chrome 操作系统或其他变体的系统。如果由于某种原因,磁盘上的空间因另一次调整大小而丢失,这将修复它。
在调整大小之前请通读整个部分。
仔细考虑您为每个分区分配多少空间!如果您稍后对分区大小不满意,则必须重新执行此过程并再次丢失三个分区上的所有数据。
Chrome 操作系统本身需要的空间很少,因此建议最小化分配给 Chrome 操作系统的空间,以便最大化其他操作系统的空间。通过在 shell 中运行$ df --human --output=used /dev/sda1
来检查用户状态分区中使用了多少空间。如果计划安装 Android 应用程序的 Google Play 商店,则应为用户态分区分配不少于 3 GiB 的空间。 (Chrome 操作系统和没有任何 Android 应用程序的 Play 商店使用近 3 GiB。)
如果内核 C 将用作引导分区(推荐),则应为其分配足够的空间用于多个内核。默认的 64 MiB 将能够容纳大约八个版本的 Linux 内核——对于大多数用户来说足够了。
调整用户态和内核 C 分区大小后,所有剩余空间将分配给 rootfs C 分区。为用户态和内核 C 分区分配较少的空间将导致 rootfs C 分区更大,因此建议在大多数用例中使用。
首先,在 Chrome 操作系统设备上启用开发者模式。
接下来,按Ctrl + Alt + T进入 shell,然后在提示符下键入“shell”。进入 shell 后:下载、读取并运行cros-resize.sh
。
$ cd ~ /Downloads/
$ curl https://raw.githubusercontent.com/ethanmad/chromeos-resize/master/cros-resize.sh
$ sudo bash cros-resize.sh
请注意,该脚本对分区的命名与本文档中的命名不同:
STATE
是用户状态或“有状态”分区,KERN-C
是内核C分区,ROOT-C
是 rootfs C 分区。 本作品在 GPL v3 下发布。
Copyright (c) 2016 Ethan Madison and Eric Hegnes
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
感谢 Jay Lee 和 chrubuntu-script 的作者为这个项目提供了灵感和基础。