我遇到过一个有趣的场景。
我有一些 Debian Live CD 映像(我已经尝试过debian-8.11.0-amd64-netinst.iso,debian-9.6.0-amd64-netinst.iso以及我使用 live-build 构建的一些自定义图像)并将dd
图像保存到 USB 驱动器上。
我使用 USB 驱动器启动计算机并将 Debian 安装到硬盘上。
安装完成后,计算机将重新启动。
此时,登录后,我发现无法使用仍插入的 USB 驱动器。
我可以看到它/dev/sdb
,但/dev
没有显示 USB 驱动器的任何分区。
我尝试过fdisk -l /dev/sdb
但得到了fdisk: cannot open /dev/sdb: No medium found
。
我看到相关的唯一dmesg
两行是
sd 2:0:0:0: Attached scsi generic sg1 type0
sd 2:0:0:0: [sdb] Attached SCSI removable disk
这是有趣的部分。
如果我拔下驱动器并重新插入,它会被检测到并且工作正常。
如果我重新启动盒子(或者reboot
然后poweroff
打开电源),它就不起作用。
但是,如果在盒子断电后,我拔下驱动器并重新插入,则在下次启动时它可以工作。
我想知道 Debian 安装程序中是否有某种机制可以阻止 USB 驱动器工作以避免重新启动安装循环。
我查看了一些文件,发现/bin/live-medium-eject
它没有对 USB 设备执行任何操作,并且有以下评论:
# ignoring usb mass storage devices
# (they need coldreboot to recover)
造成这种行为的原因是什么?
编辑1
我还尝试了 Ubuntu 18.04 和 CentOS 7.6。 Ubuntu 产生与 Debian 相同的行为,但 CentOS 可以在首次启动时识别 USB 驱动器。