我的 bionic (18.04) 安装的 /boot 大小非常小,因为出于某种原因,Ubuntu 过去建议这样做。运行升级后,系统sudo do-release-upgrade
停止提示我需要在 /boot 上腾出 300+ MB 的空间,但它本来就没那么大:
$ df -T | grep -v tmpfs
Filesystem Type Size Used Avail Use% Mounted on
/dev/mapper/kubuntu-root ext4 914G 702G 166G 81% /
/dev/sda1 ext2 228M 86M 131M 40% /boot
/dev/sdb2 ext4 823G 404G 377G 52% /media/myusername/WDblue2TBbkup
/dev/sdb1 ext4 1012G 574G 386G 60% /media/myusername/WDblue2TBmedia
/
调整大小很困难,因为启动位于磁盘的前部,并且那里有一个 LVM2 分区,其中保存着ext4 文件系统中根目录 () 下的其余操作系统和数据。
关于如何进行有什么建议吗?
我正在考虑
- 找到 disco 将使用的内核,并查看是否可以在运行升级之前安装它。
我以前也曾通过以下方式升级
- 改变我的
apt/sources.list
以及相关文件,指向更高版本的存储库;这也是有可能的。
我觉得我需要修复一些小问题/boot
- 我可以创建一个新的启动目录作为 LVM 的一部分吗并只擦除旧的启动分区?
非常感谢所有提示、技巧、建议和解决方案。
编辑:我刚刚在剪贴板条目中发现了确切的空间不足消息,即“ The upgrade has aborted. The upgrade needs a total of 319 M free space on disk '/boot'.
”。
答案1
好吧,我会尝试这些命令:*)uname -a ==> 写下最新的“默认”内核版本。*)在您的“df”命令中 - 更改两次;a)df -hT;b)df -HT 并查看差异。 )执行以下操作:“du -sch /boot/| sort -hr”。这将显示您是否安装了多个内核。如果是,请在包管理器中卸载除“uname -a”内核之外的所有内核。我自己正在为此使用 Synaptic....
答案2
我刚刚做了这个:
sudo mkdir /boot-new
sudo cp --preserve=mode,ownership,timestamps --recursive /boot/ --target-directory=/boot-new # copy boot to a new directory in the root lvm
它将所有内容放入 /boot-new/boot,所以我需要sudo mv -r /boot-new/boot /boot-new/
。为了检查,我做了以下操作:
sudo diff -s -r /boot /boot-new/
这确认所有内容均已正确复制(-s
向控制台发送垃圾邮件,告知您每个文件都是相同的)。
然后我做了:
sudo cp /etc/fstab{,.$(date +%F)}
然后
sudo nano /etc/fstab
/boot
通过使用 来注释掉上一行,从而对其进行编辑#
。
最后:
sudo update-grub
然后重新启动,一切正常,我现在可以更新了。实际上,我可能应该直接尝试一下,但我不确定 GRUB 是否能正确处理 LVM2 卷。