それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ディスクのパーティションテーブル一覧が更新されない

更新されない・・・

最近USBの抜き差しとgdisk してると困る、ディスクの一覧やパーティションの一覧が更新されない。

現象

lsblk
gdisk /dev/sdc ## パーティションテーブル変更
mount /dev/sdc5 /mnt # not found !なんでや!
lsblk #  sdc6 ない。
gdisk /dev/sdc # sdc6 ある。

なぜかパーティションテーブル変更が、即座にOSに反映されない。しかも使えない。再起動コース?

再起動はめんどくさくてちょっと調べてた。

調べたらあった。

rescan という、名前からして効果がありそうなものだった。

sudo su 
echo 1 > /sys/block/sdd/device/rescan
echo 1 >   /sys/block/sda/device/rescan
echo 1 >   /sys/block/sdb/device/rescan
echo 1 >   /sys/block/sdc/device/rescan

その他の選択肢。

でもうまくいかないときがある。

それでもダメなときは、parted の partprobe を試してみた

sudo partprobe

インストールはapt で一発

sudo su 
apt install parted
sudo partprobe

2017-02-01 試してたら次のようになった。

takuya@:~$ sudo 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.

たぶん、systemd がわるい。サービス化されてそれぞれの実行タイミングが不明になったもんな。 systemd になってからこういうことが多発する。systemd のせいで時間が余計にかかることが多くて困りますね。

lvm でdm(device mapping) されてると駄目っぽいのか

2020/09/14 追加

やっぱり再起動しないとだめなようで、理由がわからない。 lvm や cryptsetup ( dm-crypt )が挟まってるからだろうか。USBドライブですら再起動しないとだめになるのは辛い。

もし、パーティションを全削除していて、それが反映されないのであれば wipefs するというのも手段の一つだともう。

sudo wipefs -a /deb/sde

参考資料

HowTo: Reload (re-read) Partition Table In Ubuntu Linux - nixCraft

http://www.cyberciti.biz/tips/re-read-the-partition-table-without-rebooting-linux-system.html