所有由罗佳(博主)发布的文章

Windows下挂载目录为驱动器

曾经我的电脑使用一块128G的SSD来放系统,程序和其他文件都在另一块机械硬盘里,后来换上了960G的SSD之后光是放了个系统和装了一些软件依然还空着500多G,所以想着还是把原本的80多G软件全都移到SSD里去吧。

那么问题来了,这些软件的安装位置全是D盘,如果直接把程序移走那会出很多问题,这就意味着我必须要确保把它们移到SSD后依然属于D盘,然后就想到了两个常规方案:分区,挂vhd。

首先是分区,在我用了macos和一些linux后越来越觉得分区这个操作很多余,完全可以使用文件夹来取代分区。主要问题在于分区会产生额外的空间限制,所以慢慢地我开始不再给自己的硬盘分区了,于是这个方案排除,但如果没有其它选择,这个方案还是优于vhd的。

然后是vhd,考虑到性能损耗和文件碎片问题,直接就排除了,我也不想看到一个几十G大的vhd。

由于当时我已经把所有软件移到了 C:\files\Drivers\D ,所以直接开始寻找是否有办法直接把目录挂在为一个驱动器。一查果然有,一般都是说用subst命令直接把目录挂在为驱动器,如 subst p: c:\poi 就可以把c盘的poi目录挂在为p盘。但是这个方案在win10似乎有些bug,需要一些曲折的操作来实现,所以不太好使。然后继续找办法。

最后在某一篇文章里发现可以在注册表里直接加驱动器,位置是 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices ,打开到这个位置可以看到已经有一些映射设置了。

那篇文章里写了一个注册表文件,内容类似

但是我试了一下发现并没有用,重启之后挂载出来了一个打了问号的驱动器,那么说明这个映射源并不存在,所以我这里的值不能这么写。

然后我参考了一下这个列表里的其它条目,感觉也许可以从 \DosDevices\ 下面直接进入驱动器号,所以改成了 \DosDevices\C:\files\Drivers\D ,重启了一下果然挂载上了,现在这个目录会在开机时被挂载为D盘,并且由于属于同一个盘所以会和C盘显示同样的空间使用情况,有一个小问题就是这个盘没法修改卷标,所以也会和C盘显示一样的名字。挂载后的样子如下:

名字什么的无所谓了,好用就行。

另外这样挂载的驱动器没有回收站,但是可以去原始目录里删除文件,其实问题不大。

PHP并行cURL中socks代理问题

这是一篇被坑记录。关键字: CURLOPT_PROXY, CURLPROXY_SOCKS5, curl, curl_multi_init, curl_multi_add_handle, curl_multi_exec, curl_getinfo, socks5.

我的友链状态是通过cron任务定时调用php脚本来检查的,并且这个脚本通过curl走socks5代理出去请求网站和对应的logo。

本来这个脚本是遍历json中的友链一个个去请求然后设置状态的,逻辑上没有任何问题,也可以顺利完成检测,问题是这样的检测时间太长了,如果我手动请求检测脚本的地址那么一定会执行超时,而且我会看不见结果。于是我想把这个脚本里的请求改成并行的,一次性请求所有网站。然后问题来了,按照php手册上 curl_multi系列的函数改好了脚本之后无论怎么运行怎么修改一定会执行失败。无论怎么修改,curl multi组一定会超时,所有请求都会失败,浪费了我六七个小时研究这个问题。

 

直到我偶然间看到了这个页面上的这段话

10.1 SOCKS proxy connections are done blocking

Both SOCKS5 and SOCKS4 proxy connections are done blocking, which is very bad when used with the multi interface.

我记得曾经我就尝试过把这个脚本改成并行请求,但也是因为无论如何都会请求失败后来直接放弃了。这个影响那么大的bug几年过去了依然没有修好,不愧是世界上最好的语言。

也就是说现在php的并行cURL不能设置socsk代理,否则一定会阻塞住然后请求失败,要解决这个问题只能改用http代理。

给Macbook Pro换硅脂

现在这Macbook Pro只要一打开chrome看bili的弹幕就CPUGPU双双100度,虽然它本来散热差劲但是以前也没差成这样。猜测硅脂固化了,于是打算换一下硅脂,顺便接这个机会把这电脑拆开来看看。

 

首先卸掉背上10颗螺丝,然后不知道为啥好像卡住了,直接撬开。这是Coding.net给的奖品,所以我在背面贴了个猴子贴纸,但是颜色已经磨没了。

 

继续阅读给Macbook Pro换硅脂

:visited下样式无效的问题

今天想写个油猴脚本帮我把所有网站上已经点过的链接加个阴影(text-shadow),然后发现怎么写都没用,想了想大概是什么安全原因禁用了,然后查了下。

发现果然是,为了防止网站用:visited的样式来尝试获取用户点过的链接,所以只允许:visited使用部分样式,详细规则见此:MDN Privacy and the :visited selector

基本就是只能定义各种颜色,而且如果非visited状态是透明的话,定义颜色也不会显示,必须给默认状态也定义一个颜色。

换个NAS:NUC7i5BNK

原本我是拿树莓派3b+做NAS用的,这东西有4个usb2口,我接了个曾经当系统盘用的128G SSD来当NAS的存储,而且还是usb转sata。

这里面有几个问题,一个是USB2的带宽就摆在那,就从理论来说也不会超过480Mbps,而放在树莓派上这个usb能用的带宽理论值更小,因为它网卡也在USB总线上,所以如果一边下载东西一边和另一台电脑传输文件的话,带宽还得分一分。如果你要说我咋不叠个5Gwifi来凑带宽的话,我是试过的,效果并没多理想。另外SSD接在usb2上也是白瞎了ssd的读写速度优势。

本来听说下一代树莓派有usb3了,不过想了想我要那么多树莓派干啥,干脆搞个迷你pc得了。

如果你还是要问我为啥NAS不用大容量机械盘非要用死贵的SSD呢?一是为了确保同时读写和处理零碎文件时的速度不会有太大影响,还有就是一般挂着bt和ipfs的话机械盘是没机会进休眠状态的,就很费电,也磨损得更快。其实目前最重要的一个原因是摆放位置的不稳定性,因为在宿舍放在桌子上,难免有的行为会让桌子发生比较剧烈的震动,很容易使机械盘故障或者报废,只有放SSD才能避免这个风险,同时也方便挪动位置。一般下好的东西我就取回电脑了,作为一个喜欢整理文件的人我也不会把东西一直往NAS里堆,不用的都会取走存档或删掉,所以不需要多大的空间。

继续阅读换个NAS:NUC7i5BNK

【佳佳拆解】希捷 9sd2a4-500 移动硬盘

这个移动硬盘用好多年了,不过最近感觉usb2.0的速度对硬盘来说是个瓶颈,和其它usb3的盘比起来用着很难受,所以打算买个usb3以上的硬盘盒来装它。不过还是先要拆开看看里面是不是SATA盘,如果是一体的电路板的话就不好搞了。

另外这个盘外壳没有螺丝,只能用撬片从后面插进去一点点把塑料卡扣撬开,也就是说拆开基本就别想装回去了。

继续阅读【佳佳拆解】希捷 9sd2a4-500 移动硬盘