在之前的帖子《Linux调整分区后Grub修复》中提到,Linux调整磁盘分区大小后会出现Grub引导损坏的问题,可以参考那篇帖子中的方法,进入grub rescue进行修复。
但是修复后进入系统后发现,随着磁盘调整,以前自动挂载的盘符也不见了,只剩下了File System。但是利用fdiisk -l
能看到所有分区的存在,说明内核没有识别重新调整后的分区。
一、使用partx重读磁盘分区信息
1.查看内核是否已经识别新的分区:
cat /proc/partitions
(这个截图是我已经添加过的了,只是示意。)
如果内核没有识别调整后的分区表,我们需要重读磁盘分区表。
有三个命令可以让内核重读磁盘分区表:
partprob
partx
kpartx
可以使用man或–help查看每个命令的用法。这里使用partx,其用法列在下面。
partx命令
-a 登记某块盘上的所有分区信息,如果分区信息有记录,则报错。
-d 删除内核中关于某磁盘的所有分区的记录。(不是卸载!)
通过partx工具让内核重读磁盘分区表
partx -d /dev/sda //因为内核中存有部分未调整磁盘的信息,故先将所有信息清零
partx -a /dev/sda //添加调整后的磁盘分区信息
partx -s /dev/sda //显示磁盘分区信息
通过partx工具查看扇区和磁盘大小
二、自动挂载磁盘分区
到此,系统重启后,就可以识别出其他磁盘分区,但加载时还需要输入用户密码加载。可以修改/etc/fstab
文件中的分区挂载设置。
lsblk -f //列出所有块设备信息
显示出sda5、sda6两个分区的UUID号,拷贝之后,编辑/etc/fstab
,将要挂载的两个新分区挂在上面。
保存后退出,重启后系统会自动挂载这两个分区。
注:
在调整分区重启后,在启动界面一直出现a start job is running for的问题,后来参考帖子【2】
解决,谨谢!
参考帖子:
【1】Linux磁盘管理,http://253737.blog.51cto.com/243737/1693547/
【2】A start job is running for解决办法,http://tieba.baidu.com/p/3684156805