修复VMWare添加磁盘后VM内看不到

VMware workstation似乎有个bug, 当添加新的SCSI磁盘时VM内不会显示新的 /dev/ 块设备, 例如:

1
2
3
4
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1M 0 part
└─sda2 8:2 0 50G 0 part /

此时通过VMware控制台添加一个200G的磁盘, 再运行 lsblk 并不会有任何变化.

需要执行以下脚本”刷新”:

1
2
3
for h in $(ls /sys/class/scsi_host); do
echo '- - -' > /sys/class/scsi_host/$h/scan
done

再运行 lsblk 就可以看到磁盘了:

1
2
3
4
5
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 50G 0 disk
├─sda1 8:1 0 1M 0 part
└─sda2 8:2 0 50G 0 part /
sdb 8:16 0 200G 0 disk

参考

[SOLVED] Virtual Hard Disk is added, but not showing using lsblk -d command