Hyper-V中Ubuntu虚拟机外接磁盘分区fdisk可见但lsblk不可见,需手动写入分区表才可挂载的问题求助
我在Hyper-V服务器上运行了一台Ubuntu虚拟机,已经成功把两个USB外接硬盘(一个SSD,一个机械硬盘)以SCSI硬盘的形式直通给了Linux虚拟机。
但是遇到了一个头疼的问题:每次启动虚拟机后,这些磁盘的分区都没法挂载,运行lsblk命令也看不到它们的身影。不过当我用fdisk打开这些设备,按下w键写入分区表之后,磁盘就会立刻出现在lsblk的输出里,也能正常挂载使用了。
我想请教各位大佬,有没有办法让这些磁盘在虚拟机启动时就能自动被识别并允许挂载,不需要每次都手动操作?
我已经验证过其中那块机械硬盘的扇区大小和实际硬件的扇区大小是完全匹配的。而且在非虚拟化的Linux环境下使用这些硬盘时,分区在系统启动时就能被正常识别,完全没有这个问题。
现在每次重启主机或者虚拟机都得手动登录进去修复分区、手动挂载,给日常的维护工作带来了不少麻烦。
另外,我查看dmesg日志时发现了很多类似下面的条目,不确定是不是和当前的问题有关,也不太明白这些日志的含义,先贴出来供大家参考:
[978792.161396] sr 0:0:0:1: [sr0] tag#373 unaligned transfer
[978792.161397] blk_update_request: I/O error, dev sr0, sector 2097139 op 0x0:(READ) flags 0x0 phys_seg 1 prio class 0
[978792.162284] Buffer I/O error on dev sr0, logical block 2097139, async page read.
麻烦大家帮忙分析一下,谢谢了!
备注:内容来源于stack exchange,提问作者Alexander L

