如何调整 /boot 分区的大小?

Anu*_*ush 47 disk-usage 12.10

/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)
Run Code Online (Sandbox Code Playgroud)

如何使分配给 /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
Run Code Online (Sandbox Code Playgroud)

小智 50

这有两个部分:

  1. 打开终端并运行 ls /boot 如果启动时充满了旧内核,您可以删除它们,我建议保留原始内核、最新内核和最新内核之前的内核。最小的数字通常是正在发布的内核,最大的数字将是最新的。

  2. 要增加引导,您首先需要缩小另一个分区,以便您有可用空间。我建议使用 live cd 上的 gparted 工具来执行此操作。首先根据您的设置减小 / 或 /home 的大小。然后增加boot的大小。

  • 您还可以尝试运行 `apt-get autoremove` 来清除 `/boot` 中的旧内核文件以清理空间。 (22认同)
  • @BlueBomber,尝试“apt-get --purge autoremove”- --purge 选项可能就是您要找的。 (17认同)
  • 即使使用“--purge”,自动删除对我也没有任何作用。我不明白为什么 Ubuntu 默认安装只创建一个 512mb /boot,有足够的空间容纳两个内核,然后尝试保留旧的内核,没有足够的空间容纳新的内核,然后在升级时死掉。这显然是愚蠢的,而且近十年来都是如此。我就是不明白。 (10认同)
  • @JustinJenkins,我在其他地方也看到了这个推荐,但是 `apt-get autoremove` 不会自动删除我的旧内核。作为一种解决方法,我会定期手动删除它们,但我真的很想知道为什么 `apt-get autoremove` 对我不起作用。任何指针? (2认同)

小智 8

我假设这台 Linux 机器是一台虚拟机。

在 VM Sphere Center 或 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
Run Code Online (Sandbox Code Playgroud)

现在更新/etc/fstab(一定要进行备份,以防万一需要从CDROM / DVD启动恢复),更新线路安装/dev/sda3/boot(和评论的线路/dev/sda1

/boot

df -k/boot现在应该看到是 1GB,但您需要将其设置为默认启动设备。

使用fdisk /dev/sda,然后按p打印分区表。您将看到的/dev/sda1是默认引导设备。

使用a命令 infdisk禁用/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
Run Code Online (Sandbox Code Playgroud)

重启

在您在线一段时间后,如果您想使用 200MB 的/dev/sda1,只需重新创建/dev/sda1并放入您想要的任何 VG。