Linux删除磁盘分区后,使用partprobe时提示:Re-reading the partition table failed with error 16: 设备或资源忙

需求 :对已经分区的硬盘进行重新分区

先说结论:其实就一种原因——磁盘被占用,可以利用lsof命令排错。就我本人而言,遇到的情况包括:

  1. 没有用umount卸载分区
  2. 本身是LVM分区,没有用vgremove删除相对应的Volume Group
  3. 当前工作路径就在磁盘的挂载点,导致无法umount
  4. 有其他用户的工作路径在该挂载点
  5. 有程序正在读写改磁盘
  6. ……

操作过程

  1. 先umount卸载分区,然后用fdisk操作目标硬盘,输入命令d,删完该硬盘的所有分区后,w写入操作,此时提示:
WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
  1. lsblk查看分区信息,发现还是以前的分区,并且依然挂载在原来的挂载点。
  2. 根据提示,使用partprobe来同步磁盘分区信息,但得出以下信息:
Error: Partition(s) 1 on /dev/sdc have been written, but we have been 
unable to inform the kernel of the change, probably because it/they are 
in use.  As a result, the old partition(s) will remain in use.  You 
should reboot now before making further changes.

意思大概是“内核无法得知磁盘的改变,可能是由于挂载点被占用,推荐重启”,可是我们已经umount了挂载点,怎么还会有占用呢?

  1. 服务器怎么能随便重启呢?接下来使用lsof来查看是什么占用了我的磁盘。
lsof | grep  /dev/sdc

发现有一个远程登录的用户在占用,踢掉即可

  1. 重新partprobe,成功了
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值