请记住,我对 uBuntu 还很陌生。我的启动分区只有 200-300MB,而且已经满了。所以一个小时后,我设法用一个 1GB 的新分区替换了它,按照我在这个论坛上的一个答案中找到的指南:
在 VM Sphere Centre 或 AWS 等上将 SCSI 设备扩展 1GB,这样 /dev/sda 就会获得额外的 1GB 空间。
将服务器重新启动到单用户模式。使用 fdisk -l /dev/sda 确认新大小增加了 1GB。
使用 fdisk /dev/sda 创建一个 1GB 的 sda3 分区。保存分区表。Ubuntu 将需要 partprobe 来更新分区表。现在运行:
mkfs.ext4 /dev/sda3
umount /boot
dd if=/dev/sda1 of=/dev/sda3
e2fsck -y /dev/sda3
resize2fs /dev/sda3
e2fsck -y /dev/sda3
现在更新 /etc/fstab(一定要制作备份,以防万一需要从 CDROM/DVD 启动进行恢复),更新该行以在 /boot 上挂载 /dev/sda3(并注释掉 /dev/sda1 的行)
挂载 /boot
df -k 应该看到 /boot 现在有 1GB,但是您需要将其设为默认启动设备。
使用 fdisk /dev/sda,然后按 p 打印分区表。您将看到 /dev/sda1 是默认启动设备。
使用 fdisk 中的 a 命令禁用 /dev/sda1 作为默认启动设备,并再次启用 /dev/sda3 作为默认启动设备。p 显示分区表。
重启
重启后服务器启动正常,所以我以为我已经完成了,但事实并非如此!我仍然无法运行更新:
- apt-get dist-upgrade - 由于依赖关系损坏而无法工作
- apt --fix-broken install - 写入失败(设备上没有剩余空间)
我最好的猜测是,我的新 1GB 启动分区没问题,但是当 uBuntu 尝试使用 apt 命令下载新文件时,它仍然想将新文件放在旧的启动分区上?我该怎么办,或者还有什么问题?
答案1
好吧,我搞定了。我发现我需要分区的 UUID 才能编辑 fstab 文件。我使用以下命令获取了 UUID
blkid
:。
我之前做过所有这些,但我没有意识到我的新 sda3 分区具有与旧 sda1 分区相同的 UUID,尽管它们具有不同的 PARTUUID。我考虑将 PARTUUID 添加到 fstab,但我使用命令
tune2fs
在 sda3 上创建一个全新的 UUID。我再次sudo nano /etc/fstab
使用新 UUID 编辑了 fstab(使用)。
umount /boot
mount /boot
重新启动后,apt patchning 命令就可以正常工作了。我想我之前就应该注意到df -k
我的启动分区仍然在 sda1 上。
是时候删除我的 VMware 快照了!:D