如何确保 iSCSI 就绪之后再登录用户/启动 explorer.exe - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liyafe1997
V2EX    Windows

如何确保 iSCSI 就绪之后再登录用户/启动 explorer.exe

  •  
  •   liyafe1997 2024-03-30 05:24:48 +08:00 2362 次点击
    这是一个创建于 592 天前的主题,其中的信息可能已经有所发展或是发生改变。

    家里父母的电脑他们习惯把文件放在桌面上,确实也很方便,为了防止硬盘损坏导致丢文件,我在 NAS 里创建了一个 iSCSI 然后挂载到父母的电脑上,然后把桌面转移到 iSCSI 分区里( D:\Desktop ),但是启动时经常会出现下图的情况

    img

    很明显就是 explorer 加载的时候 iSCSI 还没连上,有什么 trick 能确保 explorer 加载之前,甚至用户登录之前,先连上 iSCSI 吗?

    22 条回复    2024-04-01 10:28:39 +08:00
    xixiv5
        1
    xixiv5  
       2024-03-30 05:31:11 +08:00
    你试试计划任务 开机运行 bat 或者 PowerShell
    liyafe1997
        2
    liyafe1997  
    OP
       2024-03-30 05:42:00 +08:00
    @xixiv5 不是 iSCSI 不会自动连,Windows 的 iSCSI 配好之后是会自动连接的,但是它不能保证在用户登录的时候 iSCSI ready ,所以就会导致上面的情况,也不是每次都出现,重启大概 30%概率出现。
    wuzhewuyou
        3
    wuzhewuyou  
       2024-03-30 05:54:48 +08:00 via Android
    那么,无盘启动的电脑用了啥绝技?始终能找到 iscsi 盘
    liyafe1997
        4
    liyafe1997  
    OP
       2024-03-30 06:04:40 +08:00
    @wuzhewuyou 那是因为直接从 iscsi 盘引导的
    gregy
        5
    gregy  
       2024-03-30 06:49:42 +08:00
    用计划任务在开机以后重启 explorer 进程试试呢
    geelaw
        6
    geelaw  
       2024-03-30 07:19:38 +08:00   3
    写一个自定义的 shell ,然后设置目标用户的 HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System 里面的 Shell 值( REG_SZ 字符串)为你的 shell 的完整路径。

    你的 shell 需要是一个 GUI 程序,并且 bitness 和系统相符,它调用 SHGetKnownFolderPath 获得用户的桌面文件夹,注意 dwFlags 应该设置 KF_FLAG_DONT_VERIFY ,然后等待这个文件夹可以被访问(或者超过固定时间),然后 CreateProcessW 启动 explorer.exe ,然后自己退出。

    参考阅读:
    https://learn.microsoft.com/en-us/previous-versions/windows/embedded/ms838576(v=winembedded.5)?redirectedfrom=MSDN
    https://learn.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shgetknownfolderpath
    https://learn.microsoft.com/en-us/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw
    vibbow
        7
    vibbow  
       2024-03-30 08:04:16 +08:00
    如果只是为了文件防丢,那用 goodsync 自动同步到 nas 里就行呀
    NewYear
        8
    NewYear  
       2024-03-30 10:13:12 +08:00
    @geelaw

    这里涉及另外一个知识点,就是如何让杀毒软件认为这是用户自己的行为,加入进去的程序是自己写的,不是病毒篡改的,要不下次肯定会“自动修复”掉。

    像 Windows 开放了很多入口给程序员使用,然而现在都是成为了“病毒专属”,杀毒软件对待这些入口就像对待“漏洞”一样,有一个消灭掉一个。。。。
    BwNVlwSq
        9
    BwNVlwSq  
       2024-03-30 10:42:44 +08:00 via Android
    用同步工具把桌面同步过去就行了吧。。。
    kokutou
        10
    kokutou  
       2024-03-30 10:48:15 +08:00
    组策略 计算机启动和登录时总是等待网络 打开试试?
    gamexg
        11
    gamexg  
       2024-03-30 12:12:24 +08:00
    弄个自动备份吧
    我感觉自动同步更可靠,至少自动同步是本机+NAS 两份
    目前的情况万一 NAS 故障文件直接看不到了

    第三方的备份软件,或者直接用 windows 的备份
    windows 的备份支持备份到局域网 smb ,开启后可以做到开启备份的文件每小时备份一个快照到 NAS.
    Dragonish3600
        12
    Dragonish3600  
       2024-03-30 12:15:32 +08:00 via iPhone   1
    正确做法应该是使用 SMB 然后用组策略把用户目录重定向

    如果非要用 iscsi ,你这问题可以通过修改服务,把 iscsi 设置为某个先启动服务的依赖项即可
    geelaw
        13
    geelaw  
       2024-03-30 12:44:46 +08:00
    @NewYear #8 可以把程序放在只有该用户有权限控制的位置,然后设置杀毒软件的忽略名单。我自己的某些用户用 PowerShell 作为 shell ,没有被修改过。另外就是 shell 的设置不值得病毒使用,因为想要做到开机自启有无数种办法(任务计划、Run 、RunOnce 等等等等),把自己设置为 shell 是非常麻烦的一种。
    sunnysab
        14
    sunnysab  
       2024-03-30 14:04:53 +08:00
    我觉得可以按 #12 的方案试一下。

    还有一个加补丁的方案:自己写一个简单的 Windows 服务,在服务加载时阻塞 Windows 的启动,直到 D:\ 的状态为 Ready :D
    hxy100
        15
    hxy100  
       2024-03-30 16:53:37 +08:00
    通篇看下来,还是叫觉得 6 楼 geelaw 给出的方案最为靠谱;
    liyafe1997
        16
    liyafe1997  
    OP
       2024-03-30 18:15:49 +08:00 via Android
    @ladypxy 我试了下把那个 MSiSCSI 设为 User Profile 的依赖项,但是这样启动会变得很慢,卡在欢迎那里转圈圈至少 2 分钟,这时 iSCSI 肯定已经启动了的,我在 NAS 那边都已经看到已连接了。
    liyafe1997
        17
    liyafe1997  
    OP
       2024-03-30 18:16:19 +08:00 via Android
    @ladypxy SMB 会不会也有这个问题?启动的时候 SMB 没连接
    Greatshu
        18
    Greatshu  
       2024-03-30 23:59:41 +08:00
    你怎么觉得 NAS 硬盘比电脑硬盘更稳定,NAS ,网线,路由器都是新的故障点。这没有解决问题,只是转移的问题并制造了新的问题。
    NewYear
        19
    NewYear  
       2024-03-31 00:31:41 +08:00
    @geelaw 谢谢
    liyafe1997
        20
    liyafe1997  
    OP
       2024-03-31 01:01:15 +08:00
    @Greatshu 主要是数据安全,NAS 有 RAID1 还有快照冷备,防止电脑硬盘突然损坏丢文件
    liyafe1997
        21
    liyafe1997  
    OP
       2024-03-31 01:02:26 +08:00
    最后我放弃 iSCSI 了,把桌面和我的文档那些还原默认路径,就保存在本机硬盘上,然后用“文件历史记录”这个功能自动备份

    bnx
        22
    bnx  
       2024-04-01 10:28:39 +08:00
    @liyafe1997 你这么操作倒是没啥大问题,就是这个东西我记得是增量备份。第一份备份出问题了,后续的文件怕是不好找。
    既然你有 nas ,可以用群号的 Synology Drive ,试试。但我感觉那玩意也是增量备份的。。。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     910 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 80ms UTC 20:10 PVG 04:10 LAX 12:10 JFK 15:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86