每次重启 Windows 10 计算机时,我都必须重新启动 iSCSI 服务

每次重启 Windows 10 计算机时,我都必须重新启动 iSCSI 服务

每当我重新启动时,iSCSI 驱动器都不会连接,并且我会在 Microsoft iSCSI 启动器中看到“重新连接”,如果我尝试断开连接,则会收到错误消息,但在重新启动 iSCSI 服务后(此时我已编写了一个简短的 powershell 脚本并将其放在我的桌面上),iSCSI 驱动器会重新连接。

有人建议删除所有门户并添加它们而不使用“快速连接”,但这似乎没有帮助。

iSCSI 服务器是 FreeNAS 设备,它有 1 个门户,1 个目标和 2 个扩展。它以前有 2 个目标,每个目标有一个扩展,但我将 2 个目标合并为一个。

我曾考虑过创建一个计划任务来在我登录时重新启动 iSCSI 服务,但我觉得每次可能仍需在驱动器上重新创建 Steam 库。

故事的以下部分与该主题不太相关,但可能包含一些线索:

我有一台 Windows 10 游戏电脑,没有硬盘,只有几个 SATA SSD(如果这很重要,我可以把它分解开来,但最重要的是我的主板上没有 SATA 端口)

我没有安装用于“慢速存储”的硬盘或使用 SMB(速度相当慢),而是从我的 NAS 中安装了 2 个 iSCSI 驱动器(相同的目标/门户,2 个不同的范围)。

有一段时间,这“刚刚起作用”,我在 2018 年黑色星期五买了一个 1TB m.2 SATA SSD 和一个适配器,这填满了我最后一个 SATA 端口。

问题最近才开始出现,当时我有一个内置 USB3 集线器,可以插入 5.25 英寸托架……安装后,我的新 1TB SSD 和 iSCSI 驱动器突然停止工作。我解决了这个问题。PCIe 到 M.2 适配器松动了,固定它的螺丝无法正常工作,所以我更换了螺丝,运行了 chkdsk 等,一切正常。但是……不知何故这搞乱了 iSCSI?目前尚不清楚,但它是同时发生的。除非游戏“The Talos Principal”(安装在 1TB SSD 上)会搞乱它。(当 SSD 松动时,我遇到了一次有趣的崩溃,但同样,与 iSCSI 问题不太相关)

我更改了 NAS 上的 iSCSI 设置,使其具有 1 个门户 + 1 个目标和 2 个扩展,而不是 1 个门户和 2 个目标(每个目标上有一个扩展)。这让 Windows 非常困惑,我这样做主要是因为这样看起来更干净,但我能够关闭 iSCSI 服务、卸载驱动程序、从注册表中删除 iSCSI 设置,然后重新添加所有内容,一切似乎都很好。

答案1

因此我最终创建了一个计划任务,启动 iSCSI 服务,但会延迟直到网络准备就绪(类似的解决方案建议延迟一分钟)。

然后我将 Steam 设置为登录后 90 秒启动而不是登录时启动......

这并不理想,但是我重新启动了计算机...然后去喝咖啡或做其他事情,然后我回来就可以在我的 iSCSI 驱动器上玩游戏而不必摆弄设置。

计划任务如下所示:

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.4" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2016-03-11T17:58:47.9924646</Date>
    <Author>gkmachine</Author>
    <URI>\Start iSCSI service at startup delayed</URI>
  </RegistrationInfo>
  <Triggers>
    <BootTrigger>
      <ExecutionTimeLimit>PT10M</ExecutionTimeLimit>
      <Enabled>true</Enabled>
    </BootTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>S-1-5-18</UserId>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>true</RunOnlyIfNetworkAvailable>
    <IdleSettings>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <DisallowStartOnRemoteAppSession>false</DisallowStartOnRemoteAppSession>
    <UseUnifiedSchedulingEngine>true</UseUnifiedSchedulingEngine>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
    <RestartOnFailure>
      <Interval>PT5M</Interval>
      <Count>999</Count>
    </RestartOnFailure>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>powershell</Command>
      <Arguments>"-Command" "Restart-Service -Name 'Microsoft iSCSI Initiator Service'"</Arguments>
    </Exec>
  </Actions>
</Task>

我使用 Glary Utilities 将“Steam Client Bootstrapper”的启动延迟了 90 秒,但也许您可以删除启动应用程序并设置计划任务,而不是安装奇怪的辅助实用程序(但我喜欢 Glary,并保留它)。

相关内容