ubuntu下boot分区空间不足解决办法

不少同窗都是在本身的机器上安装双系统,也就是说用来装linux的空间不会不少。在装的过程当中都喜欢把boot挂单独挂分区,通常设置100M, linux

可随着linux升级,每每会攒下好几个内核,某一天系统会提示你升级失败,空间不足了。。。 数据库

更改boot分区大大小不晓得可不能够作到,貌似linux下尚未无损分区的概念。 ubuntu

既然已经知道是boot空间不足了,那首先咱们看看里面都有神马东西!! post

expired@expired:~$ ls /boot ui

abi-2.6.35-25-generic memtest86+.bin this

abi-2.6.35-27-generic memtest86+_multiboot.bin spa

abi-2.6.35-28-generic System.map-2.6.35-25-generic orm

config-2.6.35-25-generic System.map-2.6.35-27-generic rem

config-2.6.35-27-generic System.map-2.6.35-28-generic get

config-2.6.35-28-generic vmcoreinfo-2.6.35-25-generic

grub vmcoreinfo-2.6.35-27-generic

initrd.img-2.6.35-25-generic vmcoreinfo-2.6.35-28-generic

initrd.img-2.6.35-27-generic vmlinuz-2.6.35-25-generic

initrd.img-2.6.35-28-generic vmlinuz-2.6.35-27-generic

lost+found vmlinuz-2.6.35-28-generic

咱们能够看到都是一些内核启动文件,很明显有些是咱们不须要的,其实以上都仍是我已经卸载了俩比较老的内核的状况了,没商量,不须要的就当垃圾处理掉。

首先请用uname -a看下本身当前启动的是哪一个内核。

expired@expired:~$ uname -a

Linux expired 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux

从中能够看到我此刻启动的是2.6.35-28-generic,再用dpkg命令看下你的机器上都有哪些内核文件。

expired@expired:~$ dpkg --get-selections |grep linux-image

linux-image-2.6.35-22-generic deinstall

linux-image-2.6.35-24-generic deinstall

linux-image-2.6.35-25-generic install

linux-image-2.6.35-27-generic install

linux-image-2.6.35-28-generic install

linux-image-generic install

很多,理论上除正在用的均可以删除,但刚升级的东西可能不稳定,为保险起见,保留1-2个以前版本吧。

运行apt-get remove命令卸载不须要的内核。

expired@expired:~$ sudo apt-get remove linux-image-2.6.35-25-generic

The following packages will be REMOVED:

linux-image-2.6.35-25-generic

0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.

After this operation, 139MB disk space will be freed.

Do you want to continue [Y/n]? y

出现以上提示问是否继续,按y或者直接回车继续。完成后会有以下提示:

DKMS: uninstall Completed.

Examining /etc/kernel/postrm.d .

run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.35-25-generic /boot/vmlinuz-2.6.35-25-generic

run-parts: executing /etc/kernel/postrm.d/zz-update-grub 2.6.35-25-generic /boot/vmlinuz-2.6.35-25-generic

Generating grub.cfg ...

Found linux image: /boot/vmlinuz-2.6.35-28-generic

Found initrd image: /boot/initrd.img-2.6.35-28-generic

Found linux image: /boot/vmlinuz-2.6.35-27-generic

Found initrd image: /boot/initrd.img-2.6.35-27-generic

Found memtest86+ image: /memtest86+.bin

Found Windows 7 (loader) on /dev/sda1

Found Windows Vista (loader) on /dev/sda4

done

如今的ubuntu会自动重建启动菜单grub.cfg,因此就一步到位了。卸载完后能够用df命令看下boot分区的空间使用状况。

expired@expired:~$ df

Filesystem 1K-blocks Used Available Use% Mounted on

/dev/sda9 19223252 9429624 8817144 52% /

/dev/sda7 93207 53279 35116 61% /boot

ok,已经腾出35m空间了,如今能够运行sudo apt-get upgrade升级了。

再用dpkg看下还剩什么东西。

expired@expired:~$ dpkg --get-selections | grep linux-image

linux-image-2.6.35-25-generic deinstall

linux-image-2.6.35-27-generic install

linux-image-2.6.35-28-generic install

linux-image-generic install

linux-image-2.6.35-25-generic 显示deinstall,表示已经删除,也许你以为留着这个也很差看,那就试试下面的命令:

expired@expired:~$sudo dpkg -P linux-image-2.6.35-25-generic

(Reading database ... 286964 files and directories currently installed.)
Removing linux-image-2.6.35-25-generic ...
Purging configuration files for linux-image-2.6.35-25-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 2.6.35-25-generic /boot/vmlinuz-2.6.35-25-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 2.6.35-25-generic /boot/vmlinuz-2.6.35-25-generic

呵呵,其实打一开始就能够用purge这个参数一步到位地卸载,即:
expired@expired:~$sudo apt-get purge linux-image-3.2.0-26-generic

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
linux-image-3.2.0-26-generic*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 0 B of additional disk space will be used.
Do you want to continue [Y/n]? y
(Reading database ... 286964 files and directories currently installed.)
Removing linux-image-3.2.0-26-generic ...
Purging configuration files for linux-image-3.2.0-26-generic ...
Examining /etc/kernel/postrm.d .
run-parts: executing /etc/kernel/postrm.d/initramfs-tools 3.2.0-26-generic /boot/vmlinuz-3.2.0-26-generic
run-parts: executing /etc/kernel/postrm.d/zz-update-grub 3.2.0-26-generic /boot/vmlinuz-3.2.0-26-generic

由于以前已经remove过了,因此只留下个配置在数据库记录中,再purge时无空间释放。

0 B of additional disk space will be used

再次看下运行后的结果
expired@expired:~$ dpkg --get-selections | grep linux-image

linux-image-3.2.0-32-generic install
linux-image-generic install

expired@expired:~$ dpkg -l | grep linux-image

ii linux-image-3.2.0-32-generic 3.2.0-32.51 Linux kernel image for version 3.2.0 on 64 bit x86 SMP
ii linux-image-generic 3.2.0.32.35 Generic Linux kernel image

ok,刚才的残留已经删除了。

相关文章
相关标签/搜索