问题描述
/boot以某种方式变得100%完整。
df -k
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/ubuntu-root 191078052 31758960 149612804 18% /
udev 3997520 8 3997512 1% /dev
tmpfs 1602244 856 1601388 1% /run
none 5120 0 5120 0% /run/lock
none 4005600 1792 4003808 1% /run/shm
none 102400 28 102372 1% /run/user
/dev/sda1 233191 218740 2010 100% /boot
mount
/dev/mapper/ubuntu-root on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
/dev/sda1 on /boot type ext2 (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
vmware-vmblock on /run/vmblock-fuse type fuse.vmware-vmblock (rw,nosuid,nodev,default_permissions,allow_other)
gvfsd-fuse on /run/user/foo/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=foo)
如何将分配给/boot的空间更大?
有一个相关的问题如何在/boot中释放更多空间?,但这不是我想要做的。
添加。
Disk /dev/sda: 200.0 GB, 200049647616 bytes
255 heads, 63 sectors/track, 24321 cylinders, total 390721968 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0007f9dc
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 390721535 195109889 5 Extended
/dev/sda5 501760 390721535 195109888 8e Linux LVM
Disk /dev/mapper/ubuntu-root: 198.8 GB, 198784843776 bytes
255 heads, 63 sectors/track, 24167 cylinders, total 388251648 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/ubuntu-root doesn't contain a valid partition table
Disk /dev/mapper/ubuntu-swap_1: 1006 MB, 1006632960 bytes
255 heads, 63 sectors/track, 122 cylinders, total 1966080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/mapper/ubuntu-swap_1 doesn't contain a valid partition table
最佳解决方案
这有两个部分:
-
打开终端并运行ls /boot如果启动时装满了旧内核,你可以对它们进行快乐删除,我建议保留原始版本,最新版本和最新版本。最低的数字通常是发货内核,最高的数字将是最新的。
-
要增长启动,首先需要缩小另一个分区,以便拥有可用空间。我建议在live cd上使用gparted工具来做到这一点。首先根据您的设置减小/或/home的大小。然后增加启动的大小。
次佳解决方案
我假设这台Linux机器是一台VM。
在VM球体中心或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
显示分区表。
Device Boot Start End Blocks Id System
/dev/sda1 2048 411647 204800 83 Linux
/dev/sda2 411648 20971519 10279936 5 Extended
/dev/sda3 * 20971520 23068671 1048576 83 Linux
/dev/sda5 413696 20971519 10278912 8e Linux LVM
重启
在你上网一段时间之后,如果你想要使用200MB的/dev/sda1
,只需重新创建/dev/sda1
并放入你想要的任何VG。
参考资料