我正在尝试将 Raspberry PI 的 SD 卡升级为更大的卡。我看过并尝试过这样的指南:https://raspberrypi.stackexchange.com/questions/499/how-can-i-resize-my-root-partition
我的设置与他们看起来的设置有点不同,并且我无法弄清楚如何正确执行此操作而不在此过程中杀死分区表。
fdisk 输出:
Device Boot Start End Sectors Size Id
/dev/mmcblk0p1 8192 2357421 2349230 1.1G e W95 FAT16 (LBA)
/dev/mmcblk0p2 2357422 15523839 13166418 6.3G 85 Linux extended
/dev/mmcblk0p5 2359296 2424829 65534 32M 83 Linux
/dev/mmcblk0p6 2424832 2553855 129024 63M c W95 FAT32 (LBA)
/dev/mmcblk0p7 2555904 14467069 11911166 5.7G 83 Linux
/dev/mmcblk0p8 14467072 15515647 1048576 512M 83 Linux
gparted截图:
也许有人可以借我几句明智的话吗?
答案1
如果您有 Gparted,那就用 Gparted 来完成这一切。这样你就不必记住确切的数字或任何东西。第二个建议是:不要让分区交换位置。如果要扩大root
分区,请将 移动data
到可用空间的末尾并root
就地扩大。这是因为您无法确定不存在按编号引用分区的过时代码。
答案2
如果您想调整根分区的大小,我没有看到任何问题。您不需要杀死分区。
首先,您需要调整扩展分区的大小/dev/mmcblk0p2
。您可以通过Gparted
.然后将 /dev/mmcblk0p8
分区移动到磁盘末尾。最后将根/dev/mmcblk0p7
分区大小调整为所有可用空间。
如果您Gparted
不想调整扩展分区的大小/dev/mmcblk0p2
(我认为是因为它在该分区内运行),那么您有两种方法:
- 在 fdisk 程序中重新创建从 mmcblk0p2 到 mmcblk0p8 的所有分区。
- 从计算机上的 USB 闪存驱动器启动 SystemRescueCD,然后再次尝试在 SystemRescueCD 上使用 GParted。
使用这两个程序时要小心。 Fdisk 程序无法移动分区及其内部的数据。不要更改启动分区/dev/mmcblk0p6
和根分区的起始扇区号/dev/mmcblk0p7
,否则您将恢复已安装的 Linux 的启动。
如果您选择第一种方式,那么您需要记住以扇区为单位的所有分区的所有信息。然后删除mmcblk0p2
分区。不要在此步骤写入结果,fdisk 不会立即应用更改。如果您退出fdisk
或按 Ctrl+C,则不会有任何改变。然后使用旧的起始扇区号和新的最后扇区号创建mmcblk0p2
扩展分区(按n
然后按)。然后使用旧的起始和结束扇区号e
重新创建其他逻辑分区(按n
然后按l
)从/dev/mmcblk0p5
到。/dev/mmcblk0p8
按t
键更改分区类型。检查(按p
)所有分区都将具有旧的开始和结束扇区号,并且类型不包括mmcblk0p2
扩展分区的结束扇区号。如果一切顺利,则按w
键将更改写入磁盘。重新启动您的服务器。然后,您可以使用GParted
将最后两个分区移动到磁盘末尾并调整根分区的大小。
另外:
如果 fdisk 不想重新创建分区,请尝试使用parted:
$ sudo parted /dev/mmcblk0
(parted) unit s
(parted) print
(parted) resizepart 2 -1s
(parted) print
(parted) quit
$ sudo partprobe /dev/mmcblk0
$ sudo gparted /dev/mmcblk0
祝你好运!并且要小心。
答案3
如果安装了任何分区,则无法调整其大小。仔细一看,扩展分区内的两个分区上有两个关键符号。这将防止对分区进行任何更改。
有多种方法可以解决您的问题,但您需要从其他设备启动才能卸载所有分区。
一种可能性是使用读卡器将卡连接到单独的系统,并在卸载自动安装的任何分区后使用 Gparted 调整您需要的任何分区的大小。