Posted in Windows

One command to find out which process prevents your PC from sleeping

When you click down the button of sleep, only screen is off but the PC is still running. After rebooting, sleep will work.

Why? Because some process is running and preventing your PC from sleeping. After rebooting the PC, the process will be terminated so that you can sleep the PC.

We can use just one command to find out the process.

Open your CMD or Powershell, and input this command:

powercfg /requests

The result:

Well, we can find that a process named NeatDM.exe is preventing sleeping. It’s a download software. After closing it, I can sleep my PC at once.

Posted in Windows

Windows 11: Microsoft Unofficially Announce Old Hardware PC Support Suspended

Well, for many years, Windows and Linux are two main operating systems which support many old hardware PCs. If you are familiar with the history of Mac OS and iOS, you will find how radical Apple is. Even for Android, one of the largest open source free OS, it would drop old devices very far away very quickly.

Most impressed, my old PC built in 2008 still can install and run Windows 10. Every function is good and experience is very smooth. However, good days have gone.

On official website, Microsoft lists requirements for Windows 11:

  • Processor: 1 gigahertz (GHz) or faster with two or more cores on a compatible 64-bit processor or system on a chip (SoC).
  • RAM: 4 gigabytes (GB) or greater.
  • Storage: 64 GB* or greater available storage is required to install Windows 11.
    • Additional storage space might be required to download updates and enable specific features.
  • Graphics card: Compatible with DirectX 12 or later, with a WDDM 2.0 driver.
  • System firmware: UEFI, Secure Boot capable.
  • TPM: Trusted Platform Module (TPM) version 2.0.
  • Display: High definition (720p) display, 9″ or greater monitor, 8 bits per color channel.
  • Internet connection: Internet connectivity is necessary to perform updates, and to download and use some features.
    • Windows 11 Home edition requires an Internet connection and a Microsoft Account to complete device setup on first use.

First, we notice that the CPU is x64 only. It actually drops the support for old CPUs. But this is not a main problem because nearly all mainstream CPU running today is x64 compatible.

If you are ready to run x64 OS, you must have at least 4GB RAM, 8GB or 16GB recommended. But this is not a problem either: RAM is usually cheap, especially old DDR3 RAM. You can buy RAM to upgrade.

Then we find GPU should be compatible with DX12. Most recent GPUs, including Core Graphics Cards built in CPU, will be fine. But I’m not sure if it should be native DX12 support or just compatible with DX12. If the requirement is native DX12, I think many old GPUs need to be upgraded. And the laptops which only have old Core Graphics Cards would be dropped totally because they cannot upgrade their GPUs. The only method is to buy a new laptop.

Until now, there is no real challenge for upgrading. But the true trouble is there.

The most important thing here is that Windows 11 needs two things: UEFI and Secure Boot, TPM. These two things are very awful for old PCs because they cannot support them.

UEFI and Secure Boot usually come with motherboards produced around 2010. This means old PCs should change their motherboard. But changing motherboard means change a whole new PC because CPU, RAM and Motherboard are based on the same platform. If you change your motherboard, you change the whole platform. You would buy motherboard, CPU and RAM.

TPM usually comes with two solutions: hardware chips and CPU support.

Most of motherboards doesn’t have hardware chips on them because the chips are very expensive. And also, these motherboards would not build a preserved slot to let you install hardware chips because manufacturers think you will never buy any hardware chips.

CPU support TPM is much easier. However, it requires very latest CPU. That’s why we will find Microsoft’s support CPU list for Windows 11 is radical: 8th generation Intel later and AMD Ryzen 2000 later. I would like to say it’s very insane. But if you want your PC supports TPM, you must have those latest CPUs.

So, the truth is that Microsoft suspends old PCs. They are not allowed to install Windows 11.

But what I want to say is that it shouldn’t be like that. UEFI and TPM should be an optional requirement and they are only secure methods for PC. If you want to have best safe environment, you should have them, or you could still use your PC with new Windows 11. No functions will lose effects. If your PC can run Windows 10 well, it should run Windows 11 well too.

I don’t know why Microsoft chooses this radical policy. It’s weird.

There are three months for launching the new system, maybe Microsoft will change its minds.

The ironic thing is that even Apple is so radical to enforce every Mac device has TPM hardware chip, the Hackintosh is still so popular. Maybe there will be Hackindows in the future to let the device which doesn’t support UEFI, Secure Boot or TPM can install and run Windows 11.

Posted in Comment, Windows

聊聊前苏联国家的杀毒软件们,以及中国软件产业的问题

最近忽然又对杀毒软件起了兴趣,于是在市场上寻找合适的杀毒软件。查了一些知名品牌,发现一个很有意思的现象:前苏联国家盛产杀毒软件,而且大多是国际知名品牌。

  • 俄罗斯:Dr. Web,Kaspersky
  • 捷克:Avast,AVG(AVG已经被Avast收购,这两个杀毒软件现在是一家的)
  • 斯洛伐克:Eset NOD32
  • 罗马尼亚:BitDefender

作为首屈一指的科技强国,美国的知名杀毒软件公司也不过区区几家。世界上第一款杀毒软件McAfee姑且也算美国的(McAfee创始人是英国人,但长期在美国发展,后来把McAfee卖给了Intel),但为何前苏联国家如此盛产杀毒软件呢?

第一个原因当然是因为前苏联国家的科技水平普遍较高,这和苏联的整体实力不无关系,毕竟当年和美国打得有来有回。这些杀毒软件的创始人、员工大多在前苏联安全部门公司工作过,无论是技术实力,还是实战经验,都是国际一流水准。

但是第二个原因是很多人想不到的。

东欧剧变、苏联解体后,当地人民对于隐私安全的需求空前高涨。

比如为何罗马尼亚会诞生BitDefender呢?原来,罗马尼亚曾经出过一个十分变态的大独裁者齐奥塞斯库。这个人的手段十分了得,连打字机都要严格管控(根据打字机可以追查到文件的创作者),臭名昭著的月经警察也是这哥们的发明。可以说,罗马尼亚人民普遍感到恐慌和憎恨。随着齐奥塞斯库的倒台,罗马尼亚采取了一系列措施来纠正齐奥塞斯库时代的恐怖。比如罗马尼亚的服务器厂商(VPS)就以绝对安全的数据隐私著称,因为罗马尼亚的法律规定了政府不得以任何理由检查服务器内的数据,哪怕这些服务器用于犯罪。所以罗马尼亚的服务器成了VPN、TOR、盗版网站的首选。因此,在这种环境下,诞生BitDefender这样的杀毒软件也就毫不奇怪了。

第三个原因是前苏联国家的物价和工资普遍很低,这就导致他们无法消费得起欧美的电子产品,比如游戏、电视剧等。所以前苏联国家的人民非常喜欢下载盗版软件,浏览盗版网站,这就难免中毒。既然容易中毒,自然需要安装杀毒软件来保护自己,所以才会涌现很多杀毒软件。

第四个原因是当时IE浏览器仍然占据主流地位,导致浏览网页都能轻易中毒。随着Firefox和Chrome不断占领市场份额,浏览器内置的黑白名单、沙箱功能等安全措施屏蔽了绝大多数安全隐患。

说到这里,2008年前后也是国产杀毒软件开始兴起的时候,因为那时候随着网民增多,家用电脑的普及,很多人都上网下载盗版资源,导致电脑病毒、木马满天飞。U盘差不多也是那时候开始流行起来的文件传输工具,所以病毒靠U盘传播得也很迅速。一开始是瑞星、金山毒霸等独领风骚,后来则是免费的360独霸天下。这显然是因为当时国内的市场利好杀毒软件,使得很多厂商投入到杀毒软件的制作。

但是和前苏联国家相比,国产杀毒软件存在几个问题。

第一个问题是技术。

显然,国产杀毒软件的技术实力十分薄弱,跟国际知名杀毒软件无法相提并论。原来国产杀毒软件还有自主研发的精神,但是后面普遍都套壳了。比如360就使用了小红伞和BitDefender的杀毒引擎。

但是国产并不是没有过刻苦钻研技术的光辉时刻。江民杀毒软件的创始人王江民通过自学成才,自己编写杀毒软件查杀了工厂电脑的病毒,随后成立公司,发布了中国第一款杀毒软件。而王江民当时编写的杀毒软件一度风靡国际,不输国际大品牌。但是随着王江民英年早逝,市场环境变化,江民杀毒软件迅速地没落了。

第二个问题是心态。

国产软件厂商的心态普遍浮躁,急功近利,而且心术不正。看到杀毒软件火了,就一窝蜂地上。其实他们的根本目的不在于靠杀入软件本身盈利,而是靠杀毒软件占据客户的终端、流量入口,最终获得顾客的利益。这就导致国产杀毒软件普遍存在各种流氓行径,杀毒软件反而成了病毒、木马和流氓软件。

同样的问题也出在江民杀毒软件上。当时江民杀毒软件十分火爆,所以盗版横行。王江民为了解决这个问题,竟然暗藏恶意程序,给安装盗版软件的用户强制硬盘加密,只要付费购买正版软件即可解锁。我不知道这是不是王江民首创的,但是很显然,这和如今流行的勒索软件如出一辙,也就不难想象当时的用户有多愤怒。的确,用盗版不是什么光彩的行为,但是也轮不到软件公司出来评判,甚至反过来伤害用户的电脑和数据。最后,江民杀毒软件因为这事儿被重罚,名声也一落千丈。

最典型的案例是百度杀毒。当时国内的360和腾讯的安全管家早就占据了绝大多数的市场份额,百度才回过神来,感觉自己错失了良机,忙不迭开发杀毒软件,这就是百度杀毒。然而,百度杀毒说到底还是国际杀毒软件的套壳,并无核心技术。而百度又是心术不正的典型代表,所以用户普遍排斥百度,这就造成百度杀毒的装机量惨淡,口碑极差,可以说它的失败是必然的。果不其然,百度杀毒昙花一现,淡出了历史舞台。

第三个问题是诚信。

360的起步虽然得益于永久免费的承诺,但是其一直标榜的强悍查杀能力也是用户信赖的原因。360曾经在AV-C等知名榜单中霸榜过一段时间,但是好景不长,因为其作弊的问题,导致被除名。AV-C给出的理由是360送检的产品与实际产品不符合,只开启360自己的引擎,而并未开启BitDefender引擎,因此实际产品在防护能力、查杀能力、资源占用等都存在很大问题。国产厂商搞两个标准企图蒙混过关的事情屡见不鲜,各行各业都有经典案例,实在是不胜唏嘘。

但国产厂商最大的问题是,丢脸丢到了国际上去。本来去国际上评奖就是为了提高自己在国际和国内的名声,却弄虚作假反而把自己搞臭。事后360还不服,发表声明说,AV-C的检测存在传统杀毒软件的利益壁垒,360免费杀毒触动了其利益,自己主动退出AV-C评测。毫无疑问,自己犯了错,就反过来污蔑别人不是善茬,自己不稀罕,然后继续靠打鸡血博取一个掩耳盗铃的美名。

而360在获得了巨大成功之后,在市场占有率、财务状况都不错的情况下,腐化变质,逐步失去了用户的信赖。这导致360的用户这些年来纷纷弃用360。尽管有人认为用户抛弃360是因为杀毒软件市场、PC市场逐渐萎靡,但360旗下其他业务实际上也不如曾经那么顺利。曾几何时,360推出的新服务都受到用户的热烈拥护,反响强烈,现在则普遍冷淡。从这点来说,360无疑走了百度的老路,百度曾经也是被用户热烈拥护的,但是因为用户失去了对百度的信任,所以弃用百度相关的所有产品,使得百度举步维艰,开展一个新业务就注定失败,甚至胎死腹中。

杀毒软件的未来

随着微软在Windows 10中内置免费的杀毒软件Windows Defender,杀毒软件江河日下,市场份额一缩再缩。Windows Defender最初在Windows 10上发布时存在资源占用高,查杀效率低下,错漏较多的问题,但几年来随着微软的持续改进,无论是性能还是查杀效果,都已经达到业界顶尖水准,普通家庭用户已经没有安装第三方杀毒软件的必要。目前许多老牌杀毒软件纷纷推出免费版吸引用户的下载、安装、使用,推广附加的增值业务以获取订阅收入,形成一套完整的解决方案,这大概也是其他杀毒软件唯一比Windows Defender强大的地方。

然而,江湖老话说得好,没有人比微软更了解Windows,随着Windows内置的PowerShell的广泛运用,也带来了黑客、病毒、恶意软件利用PowerShell执行恶意脚本的可能性。微软自己推出了AMSI防御机制,有效抵御PowerShell脚本攻击。其他老牌杀毒软件也只能调用微软的AMSI接口,以实现对PowerShell脚本的查杀。

根据目前的微软官方最新消息,Windows 11将会强制在硬件上要求机器启用UEFI、Secure Boot和TPM。这无疑会进一步提升系统的安全性,从硬件层面阻断勒索软件的侵扰。

无论如何,我认为做软件、做事业、做人,都应该把良心放在第一位,对别人负责,对自己负责,这才是正确的道路。如今杀毒软件软件厂商也在积极探索转型,靠提供各种安全服务盈利,但总体来说,这些老牌杀毒软件厂商都在做自己该做的事情,不做出格的、越界的事情。

附录

最后,不得不说,单以杀毒软件来看,除了美国和前苏联国家,知名的还有:

  • 德国:小红伞,G Data
  • 英国:Sophos,Comodo,BullGuard, Total AV
  • 韩国:安博士
  • 日本:趋势科技
  • 西班牙:熊猫
  • 芬兰:F- Secure Antivirus
  • 冰岛:F-PROT Antivirus
  • 印度:K7 Security, MicroWorld eScan

这些杀毒软件长期在AV-Test网站上霸榜,久经考验,久负盛名。

可以看出,上述国家才是真正掌握了软件工业的国家。虽然杀毒软件市场日渐萎靡,但是互联网安全技术永不过时,这意味着上述国家才是大浪淘沙中剩下的强者。以此观之,中国的软件产业、互联网产业还有很长的路要走。

印度的MicroWorld从1993年开始起步,在30年的专业坚持下,成为世界顶级杀毒软件之一。西班牙的“熊猫”(Panda)就更具讽刺性:一个欧洲的公司起名“熊猫”,还做成了欧洲第一,这无疑让中国人更加汗颜。

Posted in Linux, Network, Visual Studio Code, Windows

VS Code SSH remote connect to Linux Server (Real Solution)

First of all, forget the one who told you using Putty to generate the key, it’s outdated now.

Why? Because in the past, only Linux supports SSH so that Windows should use third party tool to realize SSH remote connection. But now Windows 10 supports native SSH Client, so you must get used to this one and avoid strange errors or wrongs.

Then, let’s see how to generate SSH key by native SSH Client. It’s easy. Open your local terminal (Linux or Windows) and execute:

ssh-keygen

In fact, though there is many options can be added, I only recommend one:

ssh-keygen -C username

Must be uppercase C and you can change the username to be any name you want to use, but that should be used to log in your Linux Server as its username later. It should be the same as your Linux username.

After you execute the command, you just follow the instructions on the screen. If you want not to overwrite the existing key files, change the default directory. If it suggests you to input Phrase, that can be empty, just enter directly.

When done, remember the default directory in the instruction just now? For Windows, you can cd into C:\Users\your_username\.ssh\; for Linux, you can cd into home/username/.ssh/.

Now you can see two files: id_rsa and id_rsa.pub.

pub means public, so its a public key. For the other with no extension, it’s a private key.

Here is the annoying question: where should I put them?

Well, if you look up on the internet and you will find too much information about that but you will be more confused.

Exactly, ssh-keygen is just a tool to generate keys, that’s all. It’s not about how to connect. So whatever you generate on Windows or Linux, Client or Server, that’s fine, don’t care about it. You just use a tool to generate two files.

But then the following question again is: So where should I put them indeed?

Well, maybe there is many theories behind the scene, but let me tell you the simple truth: client stores the private key and server stores the public key.

For example, you have PC A and PC B, you want to use PC A connect to PC B, so you should store the private key on PC A and store the public key on PC B.

But you should always make sure they are in a pair because you may have generated many key pairs before or later.

Why the server should store the public key? In fact, it’s easy to understand. The server will show the public key to anyone, but only allow connecting with who holds the private key. Due to the key stored on the server is public, so we called it public key.

Now let’s move on.

Now that we have known we should upload our public key on the server, let’s do it. If your client is Linux, thats easy, using:

 $ ssh-copy-id user@host

But if you are using Windows, ssh-copy-id should not work. So we need to understand what ssh-copy-id does.

Okay, we find a new file called authorized_keys. Go to your Linux server (use shell, SFTP or GUI), create that authorized_keys file under home/user/.ssh/ and copy the pub file contents (you can open it by VS Code) and paste into the new empty file. Save it.

In fact, id_rsa and id_rsa.pub is not necessary here

In case, reboot your Linux server now.

And now we should care about our path to store the private key. If you generate the keys on Windows directly, you should store it under C:\Users\username\.ssh\. If you generate it on Linux but you want to let it be stored on your Windows, you should download it from the Linux first. How to download it? I think SFTP is the best way. Use your SFTP tool to download it from Linux path home/username/.ssh and then store it under the same path on Windows.

Now we should check what we have done before we go on:

  1. we generate SSH Keys in a pair using ssh-keygen
  2. we store the private key on our client Windows PC (under C:\Users\your_username\.ssh\)
  3. we store the public key on our server Linux PC (under home/username/.ssh/authorized_keys)

Now let’s move on.

Open your VS Code, install SSH extensions in Extension Store. After installation, you will find a new icon on the side bar. Click it.

You can add new connection by “+” button. Follow the instruction on the top popped out dialog. After done, click ⚙ button. It will let you choose the path where SSH key files store. Then you will open a config file.

You can edit something here:

Host will change the UI display on the panel.

Hostname: the IP address or URL of your server.

User: should be the same as ssh-keygen -C username.

Port: the SSH port. Default is 22.

If you are using Virtual Machine like VirtualBox, you need to forward your Virtual Machine port (like 22) to the Host Machine port (like 12345).

IdentityFile: if you don’t add this option, VS Code will use the default ssh path (C:\Users\username\.ssh). But if you have many SSH key files to store in different paths, you should tell VS Code where is that file. On Windows, the “\” should be changed to “\\”.

Edit this file as your condition and save it.

Sometimes, there’s a problem on connecting a server by a forwarded port. You need to use the server real IP directly. You need use “ifconfig” command on your server shell screen. If it doesn’t work, just use apt install net-tools to get it. Type ifconfig, you will see server IP on the shell screen. Use this IP in your vscode config file, and set Port as 22(or delete Port line because the default port is 22).

Before we go, a small thing we need to deal with: go to C:\Users\username\.ssh, you will find a file called known_hosts. Delete it, it will be regenerated itself.

Return your VS Code panel, move your cursor on the server you want to connect, an icon will be shown on the right. Click it and you will begin connection in the new window. Follow the instruction on the top pop out dialog, then everything should be done.

Enjoy it!

If you want to connect to the server by tools like Putty or Shell…

Remember, you must use the same username as your keys generated, or the server will deny connection. (Error message: Permission denied (publickey))

For example, if we generated the key with username jaylin, and you want to connect to the server by Shell, you must use the command below:

ssh jaylin@ipaddress

After log in as jaylin, if you want to get root permission, you can use

sudo su

If your private keys stored in some specific path, you should use command below:

ssh -i /path/id_rsa jaylin@ipaddress

If you still meet strange problems, try to delete the known_hosts file under C:\Users\username\.ssh.

Posted in Windows

You will never disable Windows Defender in Windows 10 1909 (Solutions attached)

As of the year 2021, Windows Defender has been improved very much. Though its UI not changed a lot, the efficiency (CPU consumption) and accuracy are very close or equal to those famous antivirus softwares.

Today the ransomware and coin mining malwares are extremely wild, I recommend you enabling at least one security software. I think for those home users, Windows Defender is enough.

If you still want to know how to disable Windows Defender, you can go on reading.

Go on:

My PC has been naked for many years because I nearly use anything unknown or dangerous.

For the older versions of Windows, which is before 1909, I disable Windows Defender in the Group Policy (gpedit.msc). Howerve, I find it doesn’t work any more.

If you install the OS all freshly and disable Windows Defender as soon as possible in the Group Policy, it will be fine. The Defender is totally sleeped.

But if you have opened and updated it once, the defender will be awakened and you won’t come back. It’s so annoying.

Even if you disable the real-time protection in the Group Policy, it will still update the data library automatically and turn on the real-time protection again.

Why must we focus on this problem?

Well, it’s funny.

You can open your task manager and find a progress or a service named Antimalware Service Executable. Click the “>” button, you will find a service named Windows Defender Antivirus Service.

The memory usage of it is very incredible, up to 100MB! And if you open a new program, it will check first, you PC will be slow, the opening of the software is slow and the memory usage will be added more.

Well, it’s not funny at all.

How to disable it?

As I said before, the Group Policy doesn’t work any more.

Here are two solutions.

Solution 1:

You can exclude the root folder of disk drivers in Windows Defender.

Forget the Chinese language and I wish you will find the option by yourself.

Solution 2:

Do as following. Copyright belongs to the original writer or the website.

https://www.techpowerup.com/forums/threads/how-to-disable-windows-defender-in-windows-10-1909.262699/#post-4183761

Posted in Windows

The Latest Version of Visual C++ I Have Known So Far

  • 2005 (it’s hard to download latest version directly from Microsoft.com, you need to get it via Windows Update after you have installed the older version)
    • x86: 8.0.61001
    • x64: 8.0.61000
  • 2008 (it’s hard to download latest version directly from Microsoft.com, you need to get it via Windows Update after you have installed the older version)
    • 9.0.30729.6161
  • 2010 (you can get it from Microsoft.com)
    • 10.0.40219
  • 2012 (you can get it from Microsoft.com)
    • 11.0.61030
  • 2013 (you can get it from Microsoft.com)
    • 12.0.30501
Posted in Driver, Windows

已确认新版Nvidia驱动在Win10双显卡下存在切换窗口卡顿问题(376.54驱动已解决)

重置了一次Win10,重装了一遍集显和独显驱动(在设备管理器内卸载并删除,然后重新安装Intel和Nvidia提供的最新官方驱动),发现出现了窗口切换卡顿的问题。具体表现为:

切换窗口会卡顿一秒钟,然后恢复正常。

关闭窗口时会卡顿一秒后才退出,尤其是任务管理器,百分之百复现。

点击窗口内按钮时会出现卡顿现象。

一开始觉得是显卡的问题,但是不想折腾硬件,于是先自行调整了系统特效选项,发现故障依旧。

经搜索,有人出现过类似的问题,并提出了一个双显卡自动切换的概念(http://tieba.baidu.com/p/4030895553),认为在新切换窗口的时候显卡会切换到独显然后再切回来,从而造成卡顿,解决办法是终止一个名为nvida streamer sever的进程。但是我打开Nvidia自带的GPU活动状态程序监测,虽然出现卡顿现象,但是未发现独显调用的情况。同时在任务管理器中也看不到nvida streamer sever这个进程,于是作罢。不过如果采用专业的显卡检测软件,应该可以看到更精准的结果吧。

后来多次重装系统,逐渐发现只要是包含有Vulcan运行库的版本的NVIDIA新版驱动,都会出现这样的问题,不知道是驱动本身的问题还是Vulcan的问题或者干脆就是Win10的bug。

所以最后的解决办法应该只有卸载并安装旧版本的NVIDIA驱动了,或者等待新版本驱动和WIN10的互相兼容。

目前此故障仅仅影响到窗口切换,其他影响暂未发现,但是值得注意的是浏览器本身和每个标签页也算是独立的窗口,因此切换时可能会出现此故障,从而严重影响浏览的顺畅度。

最新进展:

376.54版本驱动已解决此问题。

Posted in Windows

Win10 WLAN(WIFI)开关打不开的解决办法

重装Win10,发现WLAN开关无论怎么打开都没反应,简单来说就是打不开。键盘上的Fn+F5功能键(此为联想笔记本开关WLAN的组合键)怎么按都没有反应,就像是坏掉了。为此我重装了一遍Win10系统,但是问题依旧。

我后来发现,其实在你安装Win10的时候系统就已经给过你一点提示了。在系统安装文件全部复制到C盘并重启几次进入蓝底图形选择设置选项界面的时候,如果你发现第一步不是选择网络连接,而且直接选择系统设置,那么这就说明你当前无网络或是只通过网线(LAN)连接,所以Windows默认选择跳过这步骤,反正没有选择的意义。虽然很智能,但是对于我们发现故障还是失去了帮助,不然我们一开始就会发现问题所在,也会明白这根本不是重装系统可以解决的,会大幅度节约时间。所幸现在Windows安装时间都比较短暂,要是原版XP安装,没个半个小时是进不了系统的,那就真的是浪费时间了。

经过搜索,发现有此问题的人还不少,也是苦苦思索而不得其解。最终形成的解决方案是:重装一遍Win7,在Win7下打开WLAN开关,再装Win10,WLAN开关可以正常使用。此法经得多人证实,实为有效。但是问题来了,为什么会出现这种情况呢?为什么这样就可以解决呢?我当时想的是,可能对于笔记本电脑来说,WLAN开关是一个硬件层面的东西,如果在其他某处关闭了WLAN开关,而Win10本身没有接触这个底层开关的权限,所以必须再回到一个有底层操作权限的系统中去开启WLAN开关,然后Win10才能接替操作。

除了重装Win7这种靠谱的答案,还有很多不靠谱的,尤其是联想工程师,每次有什么问题,联想工程师都让你装“联想电源管理软件”,仿佛这是万能的神级软件。当然,有一说一,“联想电源管理软件”这个软件确实是跟键盘上的功能键位有很大的关系,最明显的是每当你按下功能键,屏幕上会出现对应的图标。但是,这并不意味着没有这个软件,功能键就无法运转,这一点我经历过Win7、Win8.1、Win10三代操作系统的验证证实了,不装这个软件,按键还是一样地用,只不过少了一些可有可无的UI罢了。

比较遗憾的是我没有实际测试过此法到底是否有效。也许这个软件真的权限较高,可以直接操作底层硬件,但如此说来这就是联想的问题了,如此底层化设计,出了问题谁负责呢?而且联想的驱动有流氓行为,在驱动里捆绑各种软件,让我不敢再用。试想,即便这种办法确实有效,但是如果因为流氓软件把系统搞坏了,不还得再重装一遍?岂不麻烦?更何况这种方法只能适用于联想笔记本电脑,没有普适性,所以还是要首推大众化解决方案。

其他至于什么设备管理器里面搅来搅去弄不出名堂的办法,多如牛毛。我当然也是试过这些方法,毕竟再去重装一遍系统,我实在吃不消,不如先挑工程量小的来,万一好了呢?但是可以预见的是,最终无一幸免,完败。

就在我百思不得其解之际,突然想到这些天折腾过Ubuntu(本机新分区Grub引导接管BCD安装的),而且在Ubuntu上面也默认关闭过WLAN,这会不会是一种影响呢?忽然间,我发现一切问题都连接起来了:突然出现的无法打开(触发)、另一个操作系统(Ubuntu)、在另一个操作系统中关闭过WLAN(默认关闭,影响延续)。更重要的是,我想起来每次我从Ubuntu返回Win10,系统时间都被调成UTC+0的状态,但是我在Ubuntu下的时区是UTC+8,用着也没有什么问题。可是这确实是凿凿的证据了,Ubuntu确实是可以影响一些底层硬件的状态的!于是,我拿出Ubuntu引导安装U盘(主要是Grub被我给干掉了,所以只能拿U盘来开机了),但是这个时候,我又想到,虽然我拿U盘是因为现在无法进入Ubuntu,但是我可否就在Ubuntu Live(试用)下面去操作呢?完全说得通。

我用U盘引导进入Ubuntu Live,发现WLAN默认开启,使用正常。Fn+F5可以实现开关WLAN的操作。接着我又尝试着开关了几次,然后我发现和在Win10下一样,再也无法打开开关了。不甘心,重启进入Ubuntu Live,看了看打开着的开关和一行行SSID,心想,算了,就让它这么留着吧,回Win10看看去。重启返回Win10,WLAN默认开启,可以反复开关,接管成功。至此,问题得以解决。

所以总结一下,如果出现Win10无法打开WLAN开关的问题,确实要到另一个操作系统去先开启WLAN开关,然后Win10就可以接管操作了,具体原因未知。而另一操作系统则未必要重装一个新系统,除非你正好打算重装。最佳的办法应当是刻录一个Ubuntu Live或者找一个可以开关WLAN的PE(虽然我没见过这样的PE,不过假如这是Win10的bug的话,那么今后PE带WLAN开关也许会是一个必备的功能吧)。另外还有各种装在U盘里的操作系统,更是不在话下了。但是如果只是为了解决这个问题,大概选择刻录Ubuntu Live会是最好的选择。

Posted in Driver, Nvidia, Windows

Win10 Update just updated the Nvidia driver to 376.54 today and I have a method to install the old version which you want to restore

Win10’s update cannot be set to not update the driver and it always includes the driver that just released internal, not public. These versions’ drivers may cause some problems, especially compatibility problem.

The way to solve this problem is very easy, just following the steps below:

  1. Go to Nvidia’s Official Website to download the version you want to restore. If you have the version copy file in your disk , it’s okay. Anyway, first of all, you must store the version you want to install in your disk.
  2. Uninstall your updated driver from the Programs and Features, Control Panel. [Sometimes you cannot see the uninstall menu on the list so you must go to Device Manager to uninstall the driver. See: How to Uninstall Drivers in Windows]
  3. Cut off any connection to Internet.
  4. Reboot your computer.
  5. Install the driver that you want.

Things need to be careful:

  • If your favourite version is lower than the Win10 Update Version, you will follow the instruction again when you finish the update because the Win10 Update will always update your driver to the latest or higher version. If you want to disable automatic update on Win10, you can disable the relative services or policies. (See: How To Turn Off Windows Update In Windows 10)
  • If your favourite version is higher than the Win10 Update version, everything is okay and you can update your system at all time.